From d993c85da1cd72e3e3e57966e69f51dd4867869b Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 00:50:44 +0800 Subject: [PATCH 001/118] Improve Windows setup, API auth, sessions, and project recovery --- apps/desktop/src-tauri/Cargo.lock | 18 +- apps/desktop/src-tauri/src/claude.rs | 238 +++++++++++++++++- apps/desktop/src-tauri/src/lib.rs | 106 ++++++++ apps/desktop/src-tauri/src/skills.rs | 126 +++++++--- .../src/__tests__/lib/tauri-fs.test.ts | 9 +- .../__tests__/stores/document-store.test.ts | 16 +- .../claude-chat/session-selector.tsx | 70 +++++- apps/desktop/src/components/claude-setup.tsx | 98 +++++++- .../desktop/src/components/project-picker.tsx | 61 ++++- .../scientific-skills-onboarding.tsx | 2 +- apps/desktop/src/components/uv-setup.tsx | 36 +-- .../components/workspace/workspace-layout.tsx | 21 +- apps/desktop/src/stores/claude-setup-store.ts | 47 ++++ package.json | 2 +- scripts/dev-desktop.mjs | 40 +++ 15 files changed, 781 insertions(+), 109 deletions(-) create mode 100644 scripts/dev-desktop.mjs diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 1367d89..33670c4 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -912,7 +912,7 @@ dependencies = [ "libc", "option-ext", "redox_users 0.5.2", - "windows-sys 0.61.2", + "windows-sys 0.59.0", ] [[package]] @@ -1110,7 +1110,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "39cab71617ae0d63f51a36d69f866391735b51691dbda63cf6f96d042b63efeb" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -3424,7 +3424,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7d8fae84b431384b68627d0f9b3b1245fcf9f46f6c0e3dc902e9dce64edd1967" dependencies = [ "libc", - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] @@ -4397,7 +4397,7 @@ dependencies = [ "errno", "libc", "linux-raw-sys 0.12.1", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -4463,7 +4463,7 @@ dependencies = [ "security-framework", "security-framework-sys", "webpki-root-certs", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -5510,9 +5510,9 @@ dependencies = [ [[package]] name = "tauri-runtime" -version = "2.11.2" +version = "2.10.1" source = "registry+https://github.com/rust-lang/crates.io-index" -checksum = "48222d7116c8807eaa6fe2f372e023fae125084e61e6eca6d70b7961cdf129ef" +checksum = "2826d79a3297ed08cd6ea7f412644ef58e32969504bc4fbd8d7dbeabc4445ea2" dependencies = [ "cookie", "dpi", @@ -5920,7 +5920,7 @@ dependencies = [ "getrandom 0.4.1", "once_cell", "rustix 1.1.4", - "windows-sys 0.61.2", + "windows-sys 0.52.0", ] [[package]] @@ -6997,7 +6997,7 @@ version = "0.1.11" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "c2a7b1c03c876122aa43f3020e6c3c3ee5c05081c9a00739faf7503aeba10d22" dependencies = [ - "windows-sys 0.61.2", + "windows-sys 0.48.0", ] [[package]] diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index eb68bf2..09643ca 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -7,6 +7,18 @@ use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader}; use tokio::process::{Child, Command}; use tokio::sync::Mutex; +#[derive(Default, serde::Deserialize, serde::Serialize)] +#[serde(default)] +struct ClaudePrismAuthConfig { + anthropic_api_key: Option, + anthropic_base_url: Option, +} + +struct StoredClaudeCredential { + api_key: String, + base_url: Option, +} + /// Check if an environment variable should be explicitly passed to child processes. /// /// NOTE: This is NOT a true whitelist — we do NOT call `env_clear()`, so the @@ -22,6 +34,8 @@ pub(crate) fn is_essential_env_var(key: &str) -> bool { "HOME" | "USER" | "SHELL" | "LANG" | "HOMEBREW_PREFIX" | "HOMEBREW_CELLAR" | "HTTP_PROXY" | "HTTPS_PROXY" | "NO_PROXY" | "ALL_PROXY" + | "ANTHROPIC_API_KEY" | "ANTHROPIC_AUTH_TOKEN" + | "ANTHROPIC_BASE_URL" ) || k.starts_with("LC_") // Windows-specific || matches!( @@ -35,6 +49,148 @@ pub(crate) fn is_essential_env_var(key: &str) -> bool { ) } +fn get_claude_prism_auth_path() -> Result { + let config_dir = dirs::config_dir() + .or_else(dirs::home_dir) + .ok_or("Could not find config directory")?; + Ok(config_dir + .join("ClaudePrism") + .join("anthropic-auth.json")) +} + +fn read_claude_prism_auth_config() -> Result { + let path = get_claude_prism_auth_path()?; + if !path.exists() { + return Ok(ClaudePrismAuthConfig::default()); + } + + let content = + std::fs::read_to_string(&path).map_err(|e| format!("Failed to read auth settings: {}", e))?; + let content = content.trim_start_matches('\u{feff}'); + serde_json::from_str(content).map_err(|e| format!("Failed to parse auth settings: {}", e)) +} + +fn write_claude_prism_auth_config(config: &ClaudePrismAuthConfig) -> Result<(), String> { + let path = get_claude_prism_auth_path()?; + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent) + .map_err(|e| format!("Failed to create auth settings dir: {}", e))?; + } + + let content = serde_json::to_string_pretty(config) + .map_err(|e| format!("Failed to serialize auth settings: {}", e))?; + std::fs::write(&path, content).map_err(|e| format!("Failed to write auth settings: {}", e)) +} + +fn normalize_api_key(value: &str) -> Result { + let clean = strip_nul(value).trim().to_string(); + if clean.is_empty() { + return Err("API key is empty".to_string()); + } + + if clean.chars().any(char::is_whitespace) { + return Err("API key cannot contain spaces or line breaks".to_string()); + } + + Ok(clean) +} + +fn normalize_base_url(value: Option<&str>) -> Result, String> { + let Some(value) = value else { + return Ok(None); + }; + + let clean = strip_nul(value).trim().trim_end_matches('/').to_string(); + if clean.is_empty() { + return Ok(None); + } + + if clean.chars().any(char::is_whitespace) { + return Err("Base URL cannot contain spaces or line breaks".to_string()); + } + + if !(clean.starts_with("https://") || clean.starts_with("http://")) { + return Err("Base URL must start with http:// or https://".to_string()); + } + + Ok(Some(clean)) +} + +fn stored_claude_credential() -> Option { + let config = read_claude_prism_auth_config().ok()?; + let api_key = config + .anthropic_api_key + .and_then(|value| normalize_api_key(&value).ok())?; + let base_url = normalize_base_url(config.anthropic_base_url.as_deref()).ok()?; + + if base_url.is_none() && !api_key.starts_with("sk-ant-") { + return None; + } + + Some(StoredClaudeCredential { api_key, base_url }) +} + +fn claude_credential_label() -> Option<&'static str> { + if std::env::var("ANTHROPIC_API_KEY") + .map(|value| !value.trim().is_empty()) + .unwrap_or(false) + { + if std::env::var("ANTHROPIC_BASE_URL") + .map(|value| !value.trim().is_empty()) + .unwrap_or(false) + { + return Some("External API key"); + } + return Some("Anthropic API key"); + } + + if std::env::var("ANTHROPIC_AUTH_TOKEN") + .map(|value| !value.trim().is_empty()) + .unwrap_or(false) + { + return Some("Anthropic auth token"); + } + + if let Some(credential) = stored_claude_credential() { + return Some(if credential.base_url.is_some() { + "External API key" + } else { + "Anthropic API key" + }); + } + + None +} + +#[tauri::command] +pub async fn save_anthropic_api_key( + api_key: String, + base_url: Option, +) -> Result<(), String> { + let api_key = normalize_api_key(&api_key)?; + let base_url = normalize_base_url(base_url.as_deref())?; + + if base_url.is_none() && !api_key.starts_with("sk-ant-") { + return Err( + "This looks like an external provider key. Set the provider Base URL, or use an Anthropic key that starts with sk-ant-." + .to_string(), + ); + } + + let mut config = read_claude_prism_auth_config()?; + config.anthropic_api_key = Some(api_key); + config.anthropic_base_url = base_url; + write_claude_prism_auth_config(&config) +} + +#[tauri::command] +pub async fn clear_anthropic_api_key() -> Result<(), String> { + let mut config = read_claude_prism_auth_config()?; + config.anthropic_api_key = None; + config.anthropic_base_url = None; + write_claude_prism_auth_config(&config) +} + /// Windows CREATE_NO_WINDOW flag to prevent console windows from flashing /// when spawning child processes (e.g. Claude CLI, cmd.exe, node.exe). #[cfg(target_os = "windows")] @@ -698,6 +854,24 @@ fn create_command( // Set effort level (default: low for fast responses) cmd.env("CLAUDE_CODE_EFFORT_LEVEL", effort_level.unwrap_or("low")); + if let Some(credential) = stored_claude_credential() { + if std::env::var("ANTHROPIC_API_KEY") + .map(|value| value.trim().is_empty()) + .unwrap_or(true) + { + cmd.env("ANTHROPIC_API_KEY", credential.api_key); + } + + if let Some(base_url) = credential.base_url { + if std::env::var("ANTHROPIC_BASE_URL") + .map(|value| value.trim().is_empty()) + .unwrap_or(true) + { + cmd.env("ANTHROPIC_BASE_URL", base_url); + } + } + } + // On Windows, ensure CLAUDE_CODE_GIT_BASH_PATH is set. // Claude Code requires git-bash to run on Windows. // Uses find_git_bash() which also validates user-specified paths. @@ -883,12 +1057,15 @@ async fn spawn_claude_process( let stderr_reader = BufReader::new(stderr); let session_id_holder: Arc>> = Arc::new(std::sync::Mutex::new(None)); + let result_success_holder: Arc>> = + Arc::new(std::sync::Mutex::new(None)); let start_time = std::time::Instant::now(); // Spawn stdout streaming task — emit only to the originating window let win_stdout = window.clone(); let session_id_stdout = session_id_holder.clone(); + let result_success_stdout = result_success_holder.clone(); let tab_id_stdout = tab_id.clone(); let stdout_task = tokio::spawn(async move { let mut lines = stdout_reader.lines(); @@ -920,6 +1097,14 @@ async fn spawn_claude_process( } } } + + if msg.get("type").and_then(|v| v.as_str()) == Some("result") { + let is_success = + msg.get("subtype").and_then(|v| v.as_str()) == Some("success"); + if let Ok(mut guard) = result_success_stdout.lock() { + *guard = Some(is_success); + } + } } // Emit output event to this window with tab_id @@ -966,6 +1151,7 @@ async fn spawn_claude_process( let win_wait = window; let process_key_wait = process_key; let tab_id_wait = tab_id; + let result_success_wait = result_success_holder.clone(); tokio::spawn(async move { // Wait for stdout/stderr to finish let _ = stdout_task.await; @@ -976,13 +1162,18 @@ async fn spawn_claude_process( let success = if let Some(mut child) = processes.remove(&process_key_wait) { match child.wait().await { Ok(status) => { + let exit_success = status.success(); + let result_success = result_success_wait.lock().ok().and_then(|guard| *guard); + let success = exit_success || result_success == Some(true); eprintln!( - "[claude-process] [{}] exited with status={} ({:.1}s)", + "[claude-process] [{}] exited with status={} result_success={:?} final_success={} ({:.1}s)", tab_id_wait, status, + result_success, + success, start_time.elapsed().as_secs_f64() ); - status.success() + success } Err(e) => { eprintln!( @@ -1137,7 +1328,10 @@ pub async fn check_claude_status() -> Result { }); (true, email) } - _ => (false, None), + _ => match claude_credential_label() { + Some(label) => (true, Some(label.to_string())), + None => (false, None), + }, }; Ok(ClaudeStatus { @@ -1848,6 +2042,44 @@ pub async fn load_session_history( // ─── Shell Command Execution ─── +#[tauri::command] +pub async fn delete_claude_session(project_path: String, session_id: String) -> Result<(), String> { + if session_id.is_empty() + || !session_id + .chars() + .all(|c| c.is_ascii_alphanumeric() || c == '-') + { + return Err("Invalid session id".to_string()); + } + + let sessions_dir = get_sessions_dir(&project_path)?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + + if !session_path.exists() { + return Ok(()); + } + + let canonical_sessions_dir = sessions_dir + .canonicalize() + .map_err(|e| format!("Failed to resolve sessions directory: {}", e))?; + let canonical_session_path = session_path + .canonicalize() + .map_err(|e| format!("Failed to resolve session file: {}", e))?; + + if !canonical_session_path.starts_with(&canonical_sessions_dir) { + return Err("Refusing to delete session outside project history".to_string()); + } + + if canonical_session_path.extension().and_then(|e| e.to_str()) != Some("jsonl") { + return Err("Refusing to delete non-session file".to_string()); + } + + std::fs::remove_file(&canonical_session_path) + .map_err(|e| format!("Failed to delete session: {}", e))?; + + Ok(()) +} + #[derive(serde::Serialize)] pub struct ShellCommandResult { pub exit_code: i32, diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index d720552..ca4d2d3 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -214,6 +214,108 @@ fn allow_project_directory(app: tauri::AppHandle, root_path: String) -> Result<( Ok(()) } +#[derive(serde::Serialize)] +struct ProjectCandidate { + path: String, + name: String, + last_modified: u64, + has_main_tex: bool, +} + +fn modified_ms(path: &Path) -> u64 { + std::fs::metadata(path) + .and_then(|metadata| metadata.modified()) + .ok() + .and_then(|modified| modified.duration_since(std::time::UNIX_EPOCH).ok()) + .map(|duration| duration.as_millis() as u64) + .unwrap_or(0) +} + +fn has_tex_file(dir: &Path) -> bool { + if dir.join("main.tex").is_file() || dir.join("document.tex").is_file() { + return true; + } + + std::fs::read_dir(dir) + .ok() + .into_iter() + .flat_map(|entries| entries.flatten()) + .any(|entry| { + let path = entry.path(); + if !path.is_file() { + return false; + } + matches!( + path.extension() + .and_then(|ext| ext.to_str()) + .map(|ext| ext.to_ascii_lowercase()) + .as_deref(), + Some("tex" | "ltx") + ) + }) +} + +fn project_modified_ms(dir: &Path) -> u64 { + let mut latest = modified_ms(dir); + for relative in [ + "main.tex", + "document.tex", + ".prism/build/main.pdf", + ".claudeprism/history.git/.git/refs/heads/master", + ] { + latest = latest.max(modified_ms(&dir.join(relative))); + } + + if let Ok(entries) = std::fs::read_dir(dir) { + for entry in entries.flatten() { + let path = entry.path(); + if path.is_file() { + latest = latest.max(modified_ms(&path)); + } + } + } + + latest +} + +#[tauri::command] +fn list_default_projects() -> Result, String> { + let Some(home) = dirs::home_dir() else { + return Ok(Vec::new()); + }; + + let base = home.join("Documents").join("ClaudePrism"); + if !base.is_dir() { + return Ok(Vec::new()); + } + + let mut projects = Vec::new(); + let entries = std::fs::read_dir(&base) + .map_err(|e| format!("Failed to read default project directory: {}", e))?; + + for entry in entries.flatten() { + let path = entry.path(); + if !path.is_dir() { + continue; + } + + let name = entry.file_name().to_string_lossy().to_string(); + if name.starts_with('.') || !has_tex_file(&path) { + continue; + } + + projects.push(ProjectCandidate { + path: path.to_string_lossy().to_string(), + name, + last_modified: project_modified_ms(&path), + has_main_tex: path.join("main.tex").is_file() || path.join("document.tex").is_file(), + }); + } + + projects.sort_by(|a, b| b.last_modified.cmp(&a.last_modified)); + Ok(projects) +} + // --- Debug logging from JS (survives white-screen crashes) --- #[tauri::command] @@ -366,6 +468,7 @@ pub fn run() { .invoke_handler(tauri::generate_handler![ create_new_window, allow_project_directory, + list_default_projects, detect_editors, open_in_editor, js_log, @@ -376,6 +479,8 @@ pub fn run() { claude::check_claude_status, claude::install_claude_cli, claude::login_claude, + claude::save_anthropic_api_key, + claude::clear_anthropic_api_key, claude::execute_claude_code, claude::continue_claude_code, claude::resume_claude_code, @@ -385,6 +490,7 @@ pub fn run() { claude::set_claude_fast_mode, claude::list_claude_sessions, claude::load_session_history, + claude::delete_claude_session, zotero::zotero_start_oauth, zotero::zotero_complete_oauth, zotero::zotero_cancel_oauth, diff --git a/apps/desktop/src-tauri/src/skills.rs b/apps/desktop/src-tauri/src/skills.rs index 7624249..eedabc9 100644 --- a/apps/desktop/src-tauri/src/skills.rs +++ b/apps/desktop/src-tauri/src/skills.rs @@ -3,8 +3,12 @@ use std::path::{Path, PathBuf}; use tauri::{Emitter, WebviewWindow}; const TARBALL_URL: &str = - "https://github.com/K-Dense-AI/claude-scientific-skills/archive/refs/heads/main.tar.gz"; -const SKILLS_SUBFOLDER: &str = "scientific-skills"; + "https://github.com/K-Dense-AI/scientific-agent-skills/archive/refs/heads/main.tar.gz"; +const RAW_SKILL_URLS: &[&str] = &[ + "https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills", + "https://raw.githubusercontent.com/K-Dense-AI/claude-scientific-skills/main/scientific-skills", +]; +const SKILLS_SUBFOLDERS: &[&str] = &["skills", "scientific-skills"]; // ─── Data Types ─── @@ -383,7 +387,7 @@ async fn download_tarball(tmp_dir: &Path) -> Result<(), String> { .unpack(tmp_dir.join("repo-raw")) .map_err(|e| format!("Failed to extract tarball: {}", e))?; - // The tarball extracts to claude-scientific-skills-main/ + // The tarball extracts to scientific-agent-skills-main/ // We need to find it and rename to repo/ let raw_dir = tmp_dir.join("repo-raw"); if let Ok(mut entries) = std::fs::read_dir(&raw_dir) { @@ -399,16 +403,48 @@ async fn download_tarball(tmp_dir: &Path) -> Result<(), String> { Ok(()) } -/// Copy the scientific-skills directory from the cloned repo to the target. -fn copy_skills(repo_dir: &Path, target_dir: &Path) -> Result { - let src = repo_dir.join(SKILLS_SUBFOLDER); - if !src.exists() { - return Err(format!( - "scientific-skills directory not found in cloned repo at {}", - src.display() - )); +fn contains_skill_dirs(path: &Path) -> bool { + let Ok(entries) = std::fs::read_dir(path) else { + return false; + }; + + entries + .flatten() + .any(|entry| entry.path().is_dir() && entry.path().join("SKILL.md").exists()) +} + +fn find_skills_source(repo_dir: &Path) -> Option { + for subfolder in SKILLS_SUBFOLDERS { + let candidate = repo_dir.join(subfolder); + if contains_skill_dirs(&candidate) { + return Some(candidate); + } } + if contains_skill_dirs(repo_dir) { + return Some(repo_dir.to_path_buf()); + } + + let entries = std::fs::read_dir(repo_dir).ok()?; + for entry in entries.flatten() { + let candidate = entry.path(); + if candidate.is_dir() && contains_skill_dirs(&candidate) { + return Some(candidate); + } + } + + None +} + +/// Copy the skills directory from the downloaded repo to the target. +fn copy_skills(repo_dir: &Path, target_dir: &Path) -> Result { + let src = find_skills_source(repo_dir).ok_or_else(|| { + format!( + "skills directory not found in downloaded repo at {}", + repo_dir.display() + ) + })?; + // Create target directory std::fs::create_dir_all(target_dir) .map_err(|e| format!("Failed to create target dir: {}", e))?; @@ -606,7 +642,7 @@ async fn install_skills_to( // Create a temporary directory for the clone/download let tmp_dir = std::env::temp_dir().join(format!( - "claude-scientific-skills-{}", + "scientific-agent-skills-{}", std::time::SystemTime::now() .duration_since(std::time::UNIX_EPOCH) .unwrap_or_default() @@ -737,28 +773,30 @@ pub async fn get_skill_content( } } - // Fallback: fetch from GitHub - let url = format!( - "https://raw.githubusercontent.com/K-Dense-AI/claude-scientific-skills/main/scientific-skills/{}/SKILL.md", - skill_folder - ); + // Fallback: fetch from GitHub. The upstream project moved from + // claude-scientific-skills/scientific-skills to scientific-agent-skills/skills. + let mut last_status = None; + for base_url in RAW_SKILL_URLS { + let url = format!("{}/{}/SKILL.md", base_url, skill_folder); + let response = reqwest::get(&url) + .await + .map_err(|e| format!("Failed to fetch from GitHub: {}", e))?; - let response = reqwest::get(&url) - .await - .map_err(|e| format!("Failed to fetch from GitHub: {}", e))?; + if response.status().is_success() { + return response + .text() + .await + .map_err(|e| format!("Failed to read response: {}", e)); + } - if !response.status().is_success() { - return Err(format!( - "Skill '{}' not found (HTTP {})", - skill_folder, - response.status() - )); + last_status = Some(response.status().to_string()); } - response - .text() - .await - .map_err(|e| format!("Failed to read response: {}", e)) + Err(format!( + "Skill '{}' not found (HTTP {})", + skill_folder, + last_status.unwrap_or_else(|| "unknown".to_string()) + )) } // ─── Tests ─── @@ -792,6 +830,34 @@ mod tests { assert!(total >= 100); } + #[test] + fn test_find_skills_source_new_repo_layout() { + let tmp = tempfile::tempdir().unwrap(); + let skill_dir = tmp.path().join("skills").join("exploratory-data-analysis"); + std::fs::create_dir_all(&skill_dir).unwrap(); + std::fs::write(skill_dir.join("SKILL.md"), "# Exploratory Data Analysis").unwrap(); + + let src = find_skills_source(tmp.path()).unwrap(); + assert_eq!(src.file_name().and_then(|name| name.to_str()), Some("skills")); + } + + #[test] + fn test_find_skills_source_legacy_repo_layout() { + let tmp = tempfile::tempdir().unwrap(); + let skill_dir = tmp + .path() + .join("scientific-skills") + .join("exploratory-data-analysis"); + std::fs::create_dir_all(&skill_dir).unwrap(); + std::fs::write(skill_dir.join("SKILL.md"), "# Exploratory Data Analysis").unwrap(); + + let src = find_skills_source(tmp.path()).unwrap(); + assert_eq!( + src.file_name().and_then(|name| name.to_str()), + Some("scientific-skills") + ); + } + #[test] fn test_parse_skill_md() { let tmp = std::env::temp_dir().join("test-skill-parse"); diff --git a/apps/desktop/src/__tests__/lib/tauri-fs.test.ts b/apps/desktop/src/__tests__/lib/tauri-fs.test.ts index ca42acc..8da451c 100644 --- a/apps/desktop/src/__tests__/lib/tauri-fs.test.ts +++ b/apps/desktop/src/__tests__/lib/tauri-fs.test.ts @@ -52,8 +52,9 @@ describe("tauri fs helpers", () => { describe("scanProjectFolder", () => { it("does not recurse into generated cache directories", async () => { - vi.mocked(readDir).mockImplementation(async (dir: string) => { - if (dir === "/project") { + vi.mocked(readDir).mockImplementation(async (dir: string | URL) => { + const dirPath = String(dir); + if (dirPath === "/project") { return [ { name: "__pycache__", isDirectory: true }, { name: "node_modules", isDirectory: true }, @@ -62,11 +63,11 @@ describe("tauri fs helpers", () => { ] as any; } - if (dir === "/project/chapters") { + if (dirPath === "/project/chapters") { return [{ name: "intro.tex", isDirectory: false }] as any; } - throw new Error(`Unexpected readDir path: ${dir}`); + throw new Error(`Unexpected readDir path: ${dirPath}`); }); const result = await scanProjectFolder("/project"); diff --git a/apps/desktop/src/__tests__/stores/document-store.test.ts b/apps/desktop/src/__tests__/stores/document-store.test.ts index 1d31dea..44b823b 100644 --- a/apps/desktop/src/__tests__/stores/document-store.test.ts +++ b/apps/desktop/src/__tests__/stores/document-store.test.ts @@ -123,8 +123,9 @@ describe("useDocumentStore", () => { it("skips Python cache directories and bytecode files during open", async () => { vi.mocked(invoke).mockResolvedValue(undefined as never); - vi.mocked(readDir).mockImplementation(async (dir: string) => { - if (dir === "/project") { + vi.mocked(readDir).mockImplementation(async (dir: string | URL) => { + const dirPath = String(dir); + if (dirPath === "/project") { return [ { name: "__pycache__", isDirectory: true }, { name: "main.tex", isDirectory: false }, @@ -133,17 +134,18 @@ describe("useDocumentStore", () => { ] as any; } - throw new Error(`Unexpected readDir path: ${dir}`); + throw new Error(`Unexpected readDir path: ${dirPath}`); }); vi.mocked(stat).mockResolvedValue({ size: 32 } as any); - vi.mocked(readTextFile).mockImplementation(async (path: string) => { - if (path === "/project/main.tex") { + vi.mocked(readTextFile).mockImplementation(async (path: string | URL) => { + const filePath = String(path); + if (filePath === "/project/main.tex") { return "\\documentclass{article}"; } - if (path === "/project/tool.py") { + if (filePath === "/project/tool.py") { return "print('hello')"; } - throw new Error(`Unexpected readTextFile path: ${path}`); + throw new Error(`Unexpected readTextFile path: ${filePath}`); }); await useDocumentStore.getState().openProject("/project"); diff --git a/apps/desktop/src/components/claude-chat/session-selector.tsx b/apps/desktop/src/components/claude-chat/session-selector.tsx index f215ed5..93012ac 100644 --- a/apps/desktop/src/components/claude-chat/session-selector.tsx +++ b/apps/desktop/src/components/claude-chat/session-selector.tsx @@ -1,6 +1,12 @@ import { useState, useCallback } from "react"; import { invoke } from "@tauri-apps/api/core"; -import { HistoryIcon, PlusIcon, CheckIcon, Loader2Icon } from "lucide-react"; +import { + HistoryIcon, + PlusIcon, + CheckIcon, + Loader2Icon, + Trash2Icon, +} from "lucide-react"; import { DropdownMenu, DropdownMenuTrigger, @@ -37,6 +43,7 @@ function formatRelativeTime(unixSeconds: number): string { export function SessionSelector() { const [sessions, setSessions] = useState([]); const [isLoading, setIsLoading] = useState(false); + const [deletingId, setDeletingId] = useState(null); const sessionId = useClaudeChatStore((s) => s.sessionId); const isStreaming = useClaudeChatStore((s) => s.isStreaming); const newSession = useClaudeChatStore((s) => s.newSession); @@ -80,6 +87,36 @@ export function SessionSelector() { [isStreaming, sessionId, resumeSession], ); + const handleDeleteSession = useCallback( + async (sid: string) => { + if (isStreaming || deletingId || !projectRoot) return; + + const session = sessions.find((item) => item.session_id === sid); + const sessionTitle = session?.title || "this session"; + if (!window.confirm(`Delete "${sessionTitle}"?`)) return; + + setDeletingId(sid); + try { + await invoke("delete_claude_session", { + projectPath: projectRoot, + sessionId: sid, + }); + setSessions((prev) => prev.filter((item) => item.session_id !== sid)); + if (sid === sessionId) { + newSession(); + } + } catch (err) { + log.error("Failed to delete session", { + sessionId: sid, + error: String(err), + }); + } finally { + setDeletingId((current) => (current === sid ? null : current)); + } + }, + [deletingId, isStreaming, newSession, projectRoot, sessionId, sessions], + ); + const handleNewChat = useCallback(() => { if (isStreaming) return; newSession(); @@ -126,8 +163,8 @@ export function SessionSelector() { handleSelectSession(session.session_id)} - disabled={isStreaming} - className="flex items-start gap-2" + disabled={isStreaming || deletingId === session.session_id} + className="group flex items-start gap-2" >
{session.title} @@ -135,9 +172,30 @@ export function SessionSelector() { {formatRelativeTime(session.last_modified)}
- {session.session_id === sessionId && ( - - )} +
+ {session.session_id === sessionId && ( + + )} + +
)) )} diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index b35570a..f6e486b 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -1,4 +1,4 @@ -import { useEffect, useRef } from "react"; +import { useEffect, useRef, useState } from "react"; import { listen, type UnlistenFn } from "@tauri-apps/api/event"; import { DownloadIcon, @@ -13,9 +13,12 @@ import { ChevronRightIcon, GitBranchIcon, ExternalLinkIcon, + KeyRoundIcon, } from "lucide-react"; import { open as shellOpen } from "@tauri-apps/plugin-shell"; import { Button } from "@/components/ui/button"; +import { Input } from "@/components/ui/input"; +import { Label } from "@/components/ui/label"; import { useClaudeSetupStore, type StepInfo, @@ -240,14 +243,18 @@ function InstallLogOutput() { // ─── Main Component ─── export function ClaudeSetup() { + const [apiKey, setApiKey] = useState(""); + const [baseUrl, setBaseUrl] = useState(""); const status = useClaudeSetupStore((s) => s.status); const isInstalling = useClaudeSetupStore((s) => s.isInstalling); const isLoggingIn = useClaudeSetupStore((s) => s.isLoggingIn); + const isSavingApiKey = useClaudeSetupStore((s) => s.isSavingApiKey); const error = useClaudeSetupStore((s) => s.error); const version = useClaudeSetupStore((s) => s.version); const accountEmail = useClaudeSetupStore((s) => s.accountEmail); const install = useClaudeSetupStore((s) => s.install); const login = useClaudeSetupStore((s) => s.login); + const saveApiKey = useClaudeSetupStore((s) => s.saveApiKey); const checkStatus = useClaudeSetupStore((s) => s.checkStatus); const installSteps = useClaudeSetupStore((s) => s.installSteps); const loginSteps = useClaudeSetupStore((s) => s.loginSteps); @@ -255,6 +262,14 @@ export function ClaudeSetup() { useInstallEvents(); useLoginEvents(); + const handleSaveApiKey = async () => { + const success = await saveApiKey(apiKey, baseUrl); + if (success) { + setApiKey(""); + setBaseUrl(""); + } + }; + if (status === "checking") { return (
@@ -442,11 +457,11 @@ export function ClaudeSetup() { return (
- +
-

Sign in to Claude

+

Connect Claude

- Authenticate with your Anthropic account to continue. + Use an Anthropic key, an external API proxy, or browser sign-in.

@@ -455,7 +470,80 @@ export function ClaudeSetup() { Claude Code {version} installed

)} - + + +
+
+ or +
+
+ + diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index ff9a876..d865c3d 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -1,4 +1,4 @@ -import { useCallback, useEffect, useState } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { invoke } from "@tauri-apps/api/core"; import { getVersion } from "@tauri-apps/api/app"; import { listen } from "@tauri-apps/api/event"; @@ -34,10 +34,19 @@ import { ProjectWizard, type CreationMode } from "./project-wizard"; import { ClaudeSetup } from "./claude-setup"; import { cn } from "@/lib/utils"; +interface DefaultProject { + path: string; + name: string; + last_modified: number; + has_main_tex: boolean; +} + export function ProjectPicker() { const [showModeDialog, setShowModeDialog] = useState(false); const [wizardMode, setWizardMode] = useState(null); const [appVersion, setAppVersion] = useState(""); + const [isRestoringProject, setIsRestoringProject] = useState(false); + const recoveryAttemptedRef = useRef(false); const { status: updateStatus, checkForUpdate, installUpdate } = useUpdater(); const recentProjects = useProjectStore((s) => s.recentProjects); @@ -54,6 +63,41 @@ export function ProjectPicker() { getVersion().then(setAppVersion); }, [checkClaudeStatus]); + useEffect(() => { + if (recoveryAttemptedRef.current || recentProjects.length > 0) return; + recoveryAttemptedRef.current = true; + + let cancelled = false; + + async function recoverDefaultProjects() { + try { + const projects = await invoke( + "list_default_projects", + ); + if (cancelled || projects.length === 0) return; + + for (const project of [...projects].reverse()) { + addRecentProject(project.path); + } + + setIsRestoringProject(true); + await openProject(projects[0].path); + } catch (err) { + console.warn("Failed to recover default projects:", err); + } finally { + if (!cancelled) { + setIsRestoringProject(false); + } + } + } + + recoverDefaultProjects(); + + return () => { + cancelled = true; + }; + }, [addRecentProject, openProject, recentProjects.length]); + const handleOpenFolder = async () => { const selected = await open({ directory: true, @@ -101,15 +145,20 @@ export function ProjectPicker() { {!isClaudeReady ? : } -
+ {isRestoringProject && ( +
+ + Restoring last project... +
+ )} + +
-
+ {previewVisible && ( diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 8126d64..85f13d7 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -32,6 +32,7 @@ interface ClaudeSetupState { status: SetupStatus; isInstalling: boolean; isLoggingIn: boolean; + isSavingApiKey: boolean; error: string | null; version: string | null; accountEmail: string | null; @@ -48,6 +49,7 @@ interface ClaudeSetupState { checkStatus: () => Promise; install: () => Promise; login: () => Promise; + saveApiKey: (apiKey: string, baseUrl?: string) => Promise; toggleInstallLogs: () => void; // Internal helpers @@ -107,6 +109,7 @@ export const useClaudeSetupStore = create((set, get) => ({ status: "checking", isInstalling: false, isLoggingIn: false, + isSavingApiKey: false, error: null, version: null, accountEmail: null, @@ -204,6 +207,50 @@ export const useClaudeSetupStore = create((set, get) => ({ } }, + saveApiKey: async (apiKey: string, baseUrl?: string) => { + const key = apiKey.trim(); + const url = baseUrl?.trim() ?? ""; + if (!key) { + set({ error: "API key is empty" }); + return false; + } + + if (/\s/.test(key)) { + set({ error: "API key cannot contain spaces or line breaks" }); + return false; + } + + if (url && !/^https?:\/\//.test(url)) { + set({ error: "Base URL must start with http:// or https://" }); + return false; + } + + if (!url && !key.startsWith("sk-ant-")) { + set({ + error: + "This looks like an external provider key. Set the provider Base URL, or use an Anthropic key that starts with sk-ant-.", + }); + return false; + } + + set({ isSavingApiKey: true, error: null }); + try { + await invoke("save_anthropic_api_key", { + apiKey: key, + baseUrl: url || null, + }); + set({ isSavingApiKey: false }); + await get().checkStatus(); + return true; + } catch (err: any) { + set({ + isSavingApiKey: false, + error: err?.message || String(err), + }); + return false; + } + }, + toggleInstallLogs: () => { set((state) => ({ installLogsVisible: !state.installLogsVisible })); }, diff --git a/package.json b/package.json index a427d16..e46b4e3 100644 --- a/package.json +++ b/package.json @@ -13,7 +13,7 @@ ], "scripts": { "dev:web": "pnpm turbo dev --filter=@claude-prism/web --filter=@claude-prism/latex-api", - "dev:desktop": "pnpm --filter=@claude-prism/desktop-sidecar dev & pnpm --filter=@claude-prism/desktop tauri dev", + "dev:desktop": "node scripts/dev-desktop.mjs", "build:desktop": "pnpm --filter=@claude-prism/desktop tauri build", "lint": "pnpm exec biome check", "lint:fix": "pnpm exec biome check --fix", diff --git a/scripts/dev-desktop.mjs b/scripts/dev-desktop.mjs new file mode 100644 index 0000000..3e4af59 --- /dev/null +++ b/scripts/dev-desktop.mjs @@ -0,0 +1,40 @@ +import { spawn } from "node:child_process"; +import { join } from "node:path"; + +const env = { ...process.env }; + +if (process.platform === "win32") { + env.VCPKG_ROOT ||= join(env.USERPROFILE ?? "", "vcpkg"); + env.TECTONIC_DEP_BACKEND ||= "vcpkg"; + env.VCPKGRS_TRIPLET ||= "x64-windows-static-md-release"; + env.CXXFLAGS = [env.CXXFLAGS, "/std:c++17"].filter(Boolean).join(" "); +} + +const child = + process.platform === "win32" + ? spawn( + process.env.ComSpec ?? "cmd.exe", + [ + "/d", + "/s", + "/c", + "corepack pnpm --filter=@claude-prism/desktop tauri dev", + ], + { + env, + stdio: "inherit", + }, + ) + : spawn("pnpm", ["--filter=@claude-prism/desktop", "tauri", "dev"], { + env, + stdio: "inherit", + }); + +child.on("exit", (code, signal) => { + if (signal) { + process.kill(process.pid, signal); + return; + } + + process.exit(code ?? 0); +}); From 7cdc01a0b2e76498df2274dd43324ed5d4f9158e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 01:23:05 +0800 Subject: [PATCH 002/118] Restore recent project on startup --- .../desktop/src/components/project-picker.tsx | 38 +++++++++++++++---- 1 file changed, 31 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index d865c3d..30ccd67 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -41,6 +41,8 @@ interface DefaultProject { has_main_tex: boolean; } +let hasAttemptedProjectRestore = false; + export function ProjectPicker() { const [showModeDialog, setShowModeDialog] = useState(false); const [wizardMode, setWizardMode] = useState(null); @@ -64,13 +66,34 @@ export function ProjectPicker() { }, [checkClaudeStatus]); useEffect(() => { - if (recoveryAttemptedRef.current || recentProjects.length > 0) return; + if (recoveryAttemptedRef.current || hasAttemptedProjectRestore) return; recoveryAttemptedRef.current = true; + hasAttemptedProjectRestore = true; let cancelled = false; - async function recoverDefaultProjects() { + async function openFirstAvailableProject(paths: string[]) { + for (const path of paths) { + if (cancelled) return true; + + try { + setIsRestoringProject(true); + addRecentProject(path); + await openProject(path); + return true; + } catch (err) { + console.warn("Failed to restore project:", { path, error: err }); + } + } + + return false; + } + + async function recoverProjects() { try { + const recentPaths = recentProjects.map((project) => project.path); + if (await openFirstAvailableProject(recentPaths)) return; + const projects = await invoke( "list_default_projects", ); @@ -80,10 +103,11 @@ export function ProjectPicker() { addRecentProject(project.path); } - setIsRestoringProject(true); - await openProject(projects[0].path); + await openFirstAvailableProject( + projects.map((project) => project.path), + ); } catch (err) { - console.warn("Failed to recover default projects:", err); + console.warn("Failed to recover projects:", err); } finally { if (!cancelled) { setIsRestoringProject(false); @@ -91,12 +115,12 @@ export function ProjectPicker() { } } - recoverDefaultProjects(); + recoverProjects(); return () => { cancelled = true; }; - }, [addRecentProject, openProject, recentProjects.length]); + }, [addRecentProject, openProject, recentProjects]); const handleOpenFolder = async () => { const selected = await open({ From 77d464da24785598b3e90deb8eebbbed0a44ff90 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 01:32:22 +0800 Subject: [PATCH 003/118] Extract PDF attachment text with MuPDF --- .../components/claude-chat/chat-composer.tsx | 131 ++++++++++++----- apps/desktop/src/lib/pdf-text-extractor.ts | 133 ++++++++++++++++++ 2 files changed, 227 insertions(+), 37 deletions(-) create mode 100644 apps/desktop/src/lib/pdf-text-extractor.ts diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index c283062..623c2bd 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -35,6 +35,7 @@ import { } from "@/stores/claude-chat-store"; import { useDocumentStore, type ProjectFile } from "@/stores/document-store"; import { getUniqueTargetName } from "@/lib/tauri/fs"; +import { createPdfTextSidecar, isPdfPath } from "@/lib/pdf-text-extractor"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { cn } from "@/lib/utils"; import { SlashCommandPicker, type SlashCommand } from "./slash-command-picker"; @@ -246,8 +247,56 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { .catch(() => setSlashCommands([])); }, [slashQuery !== null, projectRoot]); + const buildPinnedContextForFile = useCallback( + async ( + file: ProjectFile, + ): Promise<{ context: PinnedContext; createdSidecar: boolean }> => { + if (projectRoot && file.type === "pdf") { + try { + const sidecar = await createPdfTextSidecar( + projectRoot, + file.relativePath, + file.absolutePath, + ); + + return { + context: { + label: `@${file.relativePath}`, + filePath: sidecar.sidecarRelativePath, + selectedText: sidecar.contextText, + }, + createdSidecar: true, + }; + } catch (err) { + log.error("Failed to extract PDF text", { + path: file.relativePath, + error: String(err), + }); + } + } + + const isTextFile = + file.type === "tex" || + file.type === "bib" || + file.type === "style" || + file.type === "other"; + + return { + context: { + label: `@${file.relativePath}`, + filePath: file.relativePath, + selectedText: isTextFile + ? (file.content ?? "") + : `[Referenced file: ${file.relativePath} (${file.type} file)]`, + }, + createdSidecar: false, + }; + }, + [projectRoot], + ); + const selectMention = useCallback( - (file: ProjectFile) => { + async (file: ProjectFile) => { // Replace @query with empty and pin the file as context const textarea = textareaRef.current; if (!textarea) return; @@ -261,26 +310,16 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { setMentionQuery(null); // Pin the whole file as context - const isTextFile = - file.type === "tex" || - file.type === "bib" || - file.type === "style" || - file.type === "other"; - setPinnedContexts((prev) => [ - ...prev, - { - label: `@${file.relativePath}`, - filePath: file.relativePath, - selectedText: isTextFile - ? (file.content ?? "") - : `[Referenced file: ${file.relativePath} (${file.type} file)]`, - }, - ]); + const { context, createdSidecar } = await buildPinnedContextForFile(file); + if (createdSidecar) { + await refreshFiles(); + } + setPinnedContexts((prev) => [...prev, context]); // Refocus textarea setTimeout(() => textarea.focus(), 0); }, - [input], + [buildPinnedContextForFile, input, refreshFiles], ); const selectSlashCommand = useCallback((command: SlashCommand) => { @@ -323,6 +362,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { // Pin each file as context const storeFiles = useDocumentStore.getState().files; const newContexts: PinnedContext[] = []; + let createdPdfSidecar = false; for (const relativePath of importedPaths) { const imported = storeFiles.find( @@ -330,18 +370,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ); if (imported) { - const isText = - imported.type === "tex" || - imported.type === "bib" || - imported.type === "style" || - imported.type === "other"; - newContexts.push({ - label: `@${relativePath}`, - filePath: relativePath, - selectedText: isText - ? (imported.content ?? "") - : `[Attached file: ${relativePath} (${imported.type} file)]`, - }); + const { context, createdSidecar } = + await buildPinnedContextForFile(imported); + createdPdfSidecar ||= createdSidecar; + newContexts.push(context); } else { // File imported but type might be filtered out — still pin as reference newContexts.push({ @@ -353,6 +385,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { } if (newContexts.length > 0) { + if (createdPdfSidecar) { + await refreshFiles(); + } + setPinnedContexts((prev) => { // Deduplicate by label const existingLabels = new Set(prev.map((c) => c.label)); @@ -450,15 +486,36 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const buffer = await file.arrayBuffer(); await writeFile(fullPath, new Uint8Array(buffer)); - // Determine if it's a text file - const isText = file.type.startsWith("text/"); - const content = isText - ? await file.text() - : `[Attached file: ${uniqueName} (${file.type})]`; + let contextFilePath = uniqueName; + let content: string; + + if (isPdfPath(uniqueName) || file.type === "application/pdf") { + try { + const sidecar = await createPdfTextSidecar( + projectRoot, + uniqueName, + fullPath, + ); + contextFilePath = sidecar.sidecarRelativePath; + content = sidecar.contextText; + } catch (err) { + log.error("Failed to extract pasted PDF text", { + fileName: uniqueName, + error: String(err), + }); + content = `[Attached file: ${uniqueName} (${file.type})]`; + } + } else { + // Determine if it's a text file + const isText = file.type.startsWith("text/"); + content = isText + ? await file.text() + : `[Attached file: ${uniqueName} (${file.type})]`; + } newContexts.push({ label: `@${uniqueName}`, - filePath: uniqueName, + filePath: contextFilePath, selectedText: content, }); } catch (err) { @@ -564,7 +621,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { } if (e.key === "Enter" || e.key === "Tab") { e.preventDefault(); - selectMention(mentionFiles[mentionIndex]); + void selectMention(mentionFiles[mentionIndex]); return; } if (e.key === "Escape") { @@ -804,7 +861,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { )} onMouseDown={(e) => { e.preventDefault(); // prevent textarea blur - selectMention(file); + void selectMention(file); }} onMouseEnter={() => setMentionIndex(i)} > diff --git a/apps/desktop/src/lib/pdf-text-extractor.ts b/apps/desktop/src/lib/pdf-text-extractor.ts new file mode 100644 index 0000000..fa096b6 --- /dev/null +++ b/apps/desktop/src/lib/pdf-text-extractor.ts @@ -0,0 +1,133 @@ +import { join } from "@tauri-apps/api/path"; +import { readFile, writeTextFile } from "@tauri-apps/plugin-fs"; +import { getMupdfClient } from "@/lib/mupdf/mupdf-client"; +import type { StructuredTextData } from "@/lib/mupdf/types"; + +const PDF_CONTEXT_CHAR_LIMIT = 80_000; + +export interface PdfTextSidecar { + pageCount: number; + sidecarRelativePath: string; + sidecarAbsolutePath: string; + sidecarContent: string; + contextText: string; +} + +export function isPdfPath(path: string): boolean { + return path.toLowerCase().endsWith(".pdf"); +} + +function structuredTextToPlainText(data: StructuredTextData): string { + const lines: string[] = []; + + for (const block of data.blocks || []) { + if (block.type !== "text") continue; + + let addedBlockLine = false; + for (const line of block.lines || []) { + const text = line.text?.trimEnd(); + if (!text) continue; + + lines.push(text); + addedBlockLine = true; + } + + if (addedBlockLine) { + lines.push(""); + } + } + + return lines.join("\n").trim(); +} + +async function extractPdfText(absolutePath: string): Promise<{ + pageCount: number; + pages: string[]; +}> { + const bytes = await readFile(absolutePath); + const buffer = new Uint8Array(bytes).buffer; + const client = getMupdfClient(); + const docId = await client.openDocument(buffer, "application/pdf"); + + try { + const pageCount = await client.countPages(docId); + const pages: string[] = []; + + for (let pageIndex = 0; pageIndex < pageCount; pageIndex++) { + const structuredText = await client.getPageText(docId, pageIndex); + pages.push(structuredTextToPlainText(structuredText)); + } + + return { pageCount, pages }; + } finally { + await client.closeDocument(docId).catch(() => {}); + } +} + +function buildSidecarContent( + pdfRelativePath: string, + pageCount: number, + pages: string[], +): string { + const body = pages + .map((text, index) => { + const pageText = text.trim() || "[No extractable text on this page]"; + return `## Page ${index + 1}\n\n${pageText}`; + }) + .join("\n\n---\n\n"); + + return [ + `# Extracted PDF Text: ${pdfRelativePath}`, + "", + `Pages: ${pageCount}`, + "", + body, + "", + ].join("\n"); +} + +function buildContextText( + pdfRelativePath: string, + sidecarRelativePath: string, + pageCount: number, + sidecarContent: string, +): string { + const truncated = + sidecarContent.length > PDF_CONTEXT_CHAR_LIMIT + ? `${sidecarContent.slice(0, PDF_CONTEXT_CHAR_LIMIT)}\n\n[Truncated for chat context. Full extracted text is available at ${sidecarRelativePath}.]` + : sidecarContent; + + return [ + `[PDF attachment: ${pdfRelativePath}]`, + `[ClaudePrism extracted ${pageCount} page(s) with built-in MuPDF.]`, + `[Use this extracted text first. If you need more, read ${sidecarRelativePath}; do not rely on the raw PDF reader unless Poppler is installed.]`, + "", + truncated, + ].join("\n"); +} + +export async function createPdfTextSidecar( + projectRoot: string, + pdfRelativePath: string, + pdfAbsolutePath: string, +): Promise { + const { pageCount, pages } = await extractPdfText(pdfAbsolutePath); + const sidecarRelativePath = `${pdfRelativePath}.txt`; + const sidecarAbsolutePath = await join(projectRoot, sidecarRelativePath); + const sidecarContent = buildSidecarContent(pdfRelativePath, pageCount, pages); + + await writeTextFile(sidecarAbsolutePath, sidecarContent); + + return { + pageCount, + sidecarRelativePath, + sidecarAbsolutePath, + sidecarContent, + contextText: buildContextText( + pdfRelativePath, + sidecarRelativePath, + pageCount, + sidecarContent, + ), + }; +} From c2b605f5a7f508909b018a41ae3cdb349b2f9465 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:06:33 +0800 Subject: [PATCH 004/118] Add OpenAI-compatible provider mode --- apps/desktop/src-tauri/src/claude.rs | 394 +++++++++++++++++- apps/desktop/src/components/claude-setup.tsx | 90 +++- apps/desktop/src/stores/claude-setup-store.ts | 33 +- 3 files changed, 501 insertions(+), 16 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 09643ca..4275e5f 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1,3 +1,4 @@ +use serde_json::json; use std::borrow::Cow; use std::collections::HashMap; use std::path::PathBuf; @@ -10,8 +11,12 @@ use tokio::sync::Mutex; #[derive(Default, serde::Deserialize, serde::Serialize)] #[serde(default)] struct ClaudePrismAuthConfig { + provider: Option, anthropic_api_key: Option, anthropic_base_url: Option, + openai_api_key: Option, + openai_base_url: Option, + openai_model: Option, } struct StoredClaudeCredential { @@ -19,6 +24,22 @@ struct StoredClaudeCredential { base_url: Option, } +#[derive(Clone)] +struct StoredOpenAiCompatibleCredential { + api_key: String, + base_url: String, + model: String, +} + +#[derive(Clone, serde::Deserialize, serde::Serialize)] +struct DirectProviderMessage { + role: String, + content: String, +} + +const PROVIDER_CLAUDE_CODE: &str = "claude-code"; +const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; + /// Check if an environment variable should be explicitly passed to child processes. /// /// NOTE: This is NOT a true whitelist — we do NOT call `env_clear()`, so the @@ -116,8 +137,39 @@ fn normalize_base_url(value: Option<&str>) -> Result, String> { Ok(Some(clean)) } +fn normalize_provider(value: Option<&str>) -> Result { + let provider = value.unwrap_or(PROVIDER_CLAUDE_CODE).trim(); + match provider { + "" | PROVIDER_CLAUDE_CODE => Ok(PROVIDER_CLAUDE_CODE.to_string()), + PROVIDER_OPENAI_COMPATIBLE => Ok(PROVIDER_OPENAI_COMPATIBLE.to_string()), + other => Err(format!("Unsupported provider: {}", other)), + } +} + +fn normalize_model(value: Option<&str>) -> Result, String> { + let Some(value) = value else { + return Ok(None); + }; + + let clean = strip_nul(value).trim().to_string(); + if clean.is_empty() { + return Ok(None); + } + + if clean.chars().any(char::is_whitespace) { + return Err("Model cannot contain spaces or line breaks".to_string()); + } + + Ok(Some(clean)) +} + fn stored_claude_credential() -> Option { let config = read_claude_prism_auth_config().ok()?; + let provider = normalize_provider(config.provider.as_deref()).ok()?; + if provider != PROVIDER_CLAUDE_CODE { + return None; + } + let api_key = config .anthropic_api_key .and_then(|value| normalize_api_key(&value).ok())?; @@ -130,6 +182,30 @@ fn stored_claude_credential() -> Option { Some(StoredClaudeCredential { api_key, base_url }) } +fn stored_openai_compatible_credential() -> Option { + let config = read_claude_prism_auth_config().ok()?; + let provider = normalize_provider(config.provider.as_deref()).ok()?; + if provider != PROVIDER_OPENAI_COMPATIBLE { + return None; + } + + let api_key = config + .openai_api_key + .and_then(|value| normalize_api_key(&value).ok())?; + let base_url = normalize_base_url(config.openai_base_url.as_deref()) + .ok() + .flatten()?; + let model = normalize_model(config.openai_model.as_deref()) + .ok() + .flatten()?; + + Some(StoredOpenAiCompatibleCredential { + api_key, + base_url, + model, + }) +} + fn claude_credential_label() -> Option<&'static str> { if std::env::var("ANTHROPIC_API_KEY") .map(|value| !value.trim().is_empty()) @@ -166,9 +242,25 @@ fn claude_credential_label() -> Option<&'static str> { pub async fn save_anthropic_api_key( api_key: String, base_url: Option, + provider: Option, + model: Option, ) -> Result<(), String> { let api_key = normalize_api_key(&api_key)?; let base_url = normalize_base_url(base_url.as_deref())?; + let provider = normalize_provider(provider.as_deref())?; + let model = normalize_model(model.as_deref())?; + + let mut config = read_claude_prism_auth_config()?; + config.provider = Some(provider.clone()); + + if provider == PROVIDER_OPENAI_COMPATIBLE { + let base_url = base_url.ok_or("OpenAI-compatible provider requires a Base URL")?; + let model = model.ok_or("OpenAI-compatible provider requires a model")?; + config.openai_api_key = Some(api_key); + config.openai_base_url = Some(base_url); + config.openai_model = Some(model); + return write_claude_prism_auth_config(&config); + } if base_url.is_none() && !api_key.starts_with("sk-ant-") { return Err( @@ -177,7 +269,6 @@ pub async fn save_anthropic_api_key( ); } - let mut config = read_claude_prism_auth_config()?; config.anthropic_api_key = Some(api_key); config.anthropic_base_url = base_url; write_claude_prism_auth_config(&config) @@ -186,8 +277,12 @@ pub async fn save_anthropic_api_key( #[tauri::command] pub async fn clear_anthropic_api_key() -> Result<(), String> { let mut config = read_claude_prism_auth_config()?; + config.provider = Some(PROVIDER_CLAUDE_CODE.to_string()); config.anthropic_api_key = None; config.anthropic_base_url = None; + config.openai_api_key = None; + config.openai_base_url = None; + config.openai_model = None; write_claude_prism_auth_config(&config) } @@ -202,12 +297,14 @@ use std::os::windows::process::CommandExt; #[derive(Clone)] pub struct ClaudeProcessState { pub processes: Arc>>, + direct_sessions: Arc>>>, } impl Default for ClaudeProcessState { fn default() -> Self { Self { processes: Arc::new(Mutex::new(HashMap::new())), + direct_sessions: Arc::new(Mutex::new(HashMap::new())), } } } @@ -1268,6 +1365,17 @@ fn find_git_bash() -> Option { #[tauri::command] pub async fn check_claude_status() -> Result { + if let Some(credential) = stored_openai_compatible_credential() { + return Ok(ClaudeStatus { + installed: true, + authenticated: true, + binary_path: None, + version: Some("OpenAI-compatible provider".to_string()), + account_email: Some(format!("{} · {}", credential.model, credential.base_url)), + missing_git: false, + }); + } + // On Windows, check for Git for Windows first — Claude Code requires it. #[cfg(target_os = "windows")] let missing_git = find_git_bash().is_none(); @@ -1697,6 +1805,254 @@ fn common_claude_args() -> Vec { // ─── Tauri Commands ─── +fn direct_provider_system_prompt() -> String { + [ + "You are an AI assistant integrated into ClaudePrism, a LaTeX document editor.", + "Help the user write, revise, and reason about academic documents.", + "Preserve existing LaTeX structure unless the user asks for a rewrite.", + "Use proper LaTeX sectioning, citations, labels, references, and bibliography conventions.", + "In direct provider mode you may not have Claude Code tool execution yet. If you cannot directly edit files, provide precise patches or replacement snippets.", + ] + .join("\n") +} + +fn openai_chat_completions_url(base_url: &str) -> String { + let clean = base_url.trim_end_matches('/'); + if clean.ends_with("/chat/completions") { + clean.to_string() + } else if clean.ends_with("/v1") || clean.ends_with("/openai/v1") { + format!("{}/chat/completions", clean) + } else { + format!("{}/v1/chat/completions", clean) + } +} + +fn json_usage(value: &serde_json::Value) -> serde_json::Value { + let input_tokens = value + .pointer("/usage/prompt_tokens") + .and_then(|v| v.as_u64()) + .unwrap_or(0); + let output_tokens = value + .pointer("/usage/completion_tokens") + .and_then(|v| v.as_u64()) + .unwrap_or(0); + json!({ + "input_tokens": input_tokens, + "output_tokens": output_tokens, + }) +} + +async fn execute_openai_compatible_provider( + window: WebviewWindow, + project_path: String, + prompt: String, + tab_id: String, + session_id: Option, + credential: StoredOpenAiCompatibleCredential, +) -> Result<(), String> { + let started = std::time::Instant::now(); + let session_id = session_id.unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); + + let init = json!({ + "type": "system", + "subtype": "init", + "session_id": session_id, + "model": credential.model.clone(), + "cwd": project_path, + "tools": [], + }); + let _ = window.emit( + "claude-output", + ClaudeOutputEvent { + tab_id: tab_id.clone(), + data: init.to_string(), + }, + ); + + let state = window.state::(); + let prior_messages = { + let sessions = state.direct_sessions.lock().await; + sessions.get(&session_id).cloned().unwrap_or_default() + }; + + let mut messages = vec![json!({ + "role": "system", + "content": direct_provider_system_prompt(), + })]; + for message in &prior_messages { + messages.push(json!({ + "role": message.role, + "content": message.content, + })); + } + messages.push(json!({ + "role": "user", + "content": prompt, + })); + + let request_body = json!({ + "model": credential.model.clone(), + "messages": messages, + "stream": false, + }); + + let client = reqwest::Client::new(); + let url = openai_chat_completions_url(&credential.base_url); + let response = match client + .post(url) + .bearer_auth(&credential.api_key) + .header("Content-Type", "application/json") + .body(request_body.to_string()) + .send() + .await + { + Ok(response) => response, + Err(err) => { + let _ = window.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id.clone(), + data: format!("Provider request failed: {}", err), + }, + ); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); + return Ok(()); + } + }; + + let status = response.status(); + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider response: {}", err))?; + + if !status.is_success() { + let _ = window.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id.clone(), + data: format!("Provider returned HTTP {}: {}", status, response_text), + }, + ); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); + return Ok(()); + } + + let value: serde_json::Value = match serde_json::from_str(&response_text) { + Ok(value) => value, + Err(err) => { + let _ = window.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id.clone(), + data: format!("Provider returned invalid JSON: {}", err), + }, + ); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); + return Ok(()); + } + }; + + let content = value + .pointer("/choices/0/message/content") + .and_then(|v| v.as_str()) + .unwrap_or("") + .to_string(); + + if content.trim().is_empty() { + let _ = window.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id.clone(), + data: "Provider response did not include message content".to_string(), + }, + ); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); + return Ok(()); + } + + let usage = json_usage(&value); + let assistant = json!({ + "type": "assistant", + "message": { + "content": [{ "type": "text", "text": content }], + "usage": usage, + }, + }); + let _ = window.emit( + "claude-output", + ClaudeOutputEvent { + tab_id: tab_id.clone(), + data: assistant.to_string(), + }, + ); + + { + let mut sessions = state.direct_sessions.lock().await; + let history = sessions.entry(session_id.clone()).or_default(); + history.push(DirectProviderMessage { + role: "user".to_string(), + content: prompt, + }); + history.push(DirectProviderMessage { + role: "assistant".to_string(), + content: content.clone(), + }); + } + + let elapsed_ms = started.elapsed().as_millis() as u64; + let result = json!({ + "type": "result", + "subtype": "success", + "is_error": false, + "result": content, + "duration_ms": elapsed_ms, + "duration_api_ms": elapsed_ms, + "num_turns": 1, + "usage": usage, + }); + let _ = window.emit( + "claude-output", + ClaudeOutputEvent { + tab_id: tab_id.clone(), + data: result.to_string(), + }, + ); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: true, + }, + ); + + Ok(()) +} + #[tauri::command] pub async fn execute_claude_code( window: WebviewWindow, @@ -1706,6 +2062,18 @@ pub async fn execute_claude_code( model: Option, effort_level: Option, ) -> Result<(), String> { + if let Some(credential) = stored_openai_compatible_credential() { + return execute_openai_compatible_provider( + window, + project_path, + prompt, + tab_id, + None, + credential, + ) + .await; + } + let claude_path = find_claude_binary()?; let (mut args, stdin_payload) = with_prompt_transport(Vec::new(), prompt); @@ -1728,6 +2096,18 @@ pub async fn continue_claude_code( model: Option, effort_level: Option, ) -> Result<(), String> { + if let Some(credential) = stored_openai_compatible_credential() { + return execute_openai_compatible_provider( + window, + project_path, + prompt, + tab_id, + None, + credential, + ) + .await; + } + let claude_path = find_claude_binary()?; let (mut args, stdin_payload) = with_prompt_transport(vec!["-c".to_string()], prompt); @@ -1751,6 +2131,18 @@ pub async fn resume_claude_code( model: Option, effort_level: Option, ) -> Result<(), String> { + if let Some(credential) = stored_openai_compatible_credential() { + return execute_openai_compatible_provider( + window, + project_path, + prompt, + tab_id, + Some(session_id), + credential, + ) + .await; + } + let claude_path = find_claude_binary()?; let (mut args, stdin_payload) = diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index f6e486b..71f7dc3 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -243,8 +243,12 @@ function InstallLogOutput() { // ─── Main Component ─── export function ClaudeSetup() { + const [provider, setProvider] = useState<"claude-code" | "openai-compatible">( + "claude-code", + ); const [apiKey, setApiKey] = useState(""); const [baseUrl, setBaseUrl] = useState(""); + const [model, setModel] = useState(""); const status = useClaudeSetupStore((s) => s.status); const isInstalling = useClaudeSetupStore((s) => s.isInstalling); const isLoggingIn = useClaudeSetupStore((s) => s.isLoggingIn); @@ -263,10 +267,11 @@ export function ClaudeSetup() { useLoginEvents(); const handleSaveApiKey = async () => { - const success = await saveApiKey(apiKey, baseUrl); + const success = await saveApiKey(apiKey, baseUrl, provider, model); if (success) { setApiKey(""); setBaseUrl(""); + setModel(""); } }; @@ -282,11 +287,14 @@ export function ClaudeSetup() { } if (status === "ready") { + const isDirectProvider = version === "OpenAI-compatible provider"; return (
-

Claude Code Ready

+

+ {isDirectProvider ? "AI Provider Ready" : "Claude Code Ready"} +

{[version, accountEmail].filter(Boolean).join(" · ")}

@@ -478,22 +486,50 @@ export function ClaudeSetup() { handleSaveApiKey(); }} > +
+ + +

+ Use OpenAI-compatible for Qwen, DeepSeek, GLM, and compatible + gateways. +

+
setApiKey(event.target.value)} disabled={isSavingApiKey} autoComplete="off" /> -

- Anthropic Console keys start with sk-ant-. External provider keys - need a Base URL. +

+ {provider === "openai-compatible" + ? "Use the API key from your model provider." + : "Anthropic Console keys start with sk-ant-. External Claude proxies need a Base URL."}

@@ -503,16 +539,41 @@ export function ClaudeSetup() { setBaseUrl(event.target.value)} disabled={isSavingApiKey} autoComplete="off" /> -

- Leave blank for Anthropic direct API. +

+ {provider === "openai-compatible" + ? "Use either the API root or a full /chat/completions URL." + : "Leave blank for Anthropic direct API."}

+ {provider === "openai-compatible" && ( +
+ + setModel(event.target.value)} + disabled={isSavingApiKey} + autoComplete="off" + /> +

+ This model is used directly and ignores the Claude model picker. +

+
+ )} {error && (

{error}

)} @@ -520,7 +581,12 @@ export function ClaudeSetup() { type="submit" size="sm" className="w-full gap-2" - disabled={!apiKey.trim() || isSavingApiKey} + disabled={ + !apiKey.trim() || + isSavingApiKey || + (provider === "openai-compatible" && + (!baseUrl.trim() || !model.trim())) + } > {isSavingApiKey ? ( @@ -533,7 +599,7 @@ export function ClaudeSetup() {
- or + or
diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 85f13d7..64add28 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -49,7 +49,12 @@ interface ClaudeSetupState { checkStatus: () => Promise; install: () => Promise; login: () => Promise; - saveApiKey: (apiKey: string, baseUrl?: string) => Promise; + saveApiKey: ( + apiKey: string, + baseUrl?: string, + provider?: string, + model?: string, + ) => Promise; toggleInstallLogs: () => void; // Internal helpers @@ -207,9 +212,15 @@ export const useClaudeSetupStore = create((set, get) => ({ } }, - saveApiKey: async (apiKey: string, baseUrl?: string) => { + saveApiKey: async ( + apiKey: string, + baseUrl?: string, + provider = "claude-code", + model?: string, + ) => { const key = apiKey.trim(); const url = baseUrl?.trim() ?? ""; + const modelName = model?.trim() ?? ""; if (!key) { set({ error: "API key is empty" }); return false; @@ -225,7 +236,21 @@ export const useClaudeSetupStore = create((set, get) => ({ return false; } - if (!url && !key.startsWith("sk-ant-")) { + if (provider === "openai-compatible" && !url) { + set({ error: "OpenAI-compatible provider requires a Base URL." }); + return false; + } + + if (provider === "openai-compatible" && !modelName) { + set({ error: "OpenAI-compatible provider requires a model." }); + return false; + } + + if ( + provider !== "openai-compatible" && + !url && + !key.startsWith("sk-ant-") + ) { set({ error: "This looks like an external provider key. Set the provider Base URL, or use an Anthropic key that starts with sk-ant-.", @@ -238,6 +263,8 @@ export const useClaudeSetupStore = create((set, get) => ({ await invoke("save_anthropic_api_key", { apiKey: key, baseUrl: url || null, + provider, + model: modelName || null, }); set({ isSavingApiKey: false }); await get().checkStatus(); From 55daad36e01066ea13f99f01afafbe6eb942aa06 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:22:32 +0800 Subject: [PATCH 005/118] Add tool loop for OpenAI-compatible providers --- apps/desktop/src-tauri/src/claude.rs | 1427 ++++++++++++++++++++++---- 1 file changed, 1254 insertions(+), 173 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 4275e5f..f121c5f 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1,7 +1,9 @@ use serde_json::json; use std::borrow::Cow; -use std::collections::HashMap; -use std::path::PathBuf; +use std::collections::{HashMap, HashSet}; +use std::fs::OpenOptions; +use std::io::Write; +use std::path::{Component, Path, PathBuf}; use std::sync::Arc; use tauri::{Emitter, Manager, WebviewWindow}; use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader}; @@ -31,12 +33,6 @@ struct StoredOpenAiCompatibleCredential { model: String, } -#[derive(Clone, serde::Deserialize, serde::Serialize)] -struct DirectProviderMessage { - role: String, - content: String, -} - const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; @@ -297,7 +293,8 @@ use std::os::windows::process::CommandExt; #[derive(Clone)] pub struct ClaudeProcessState { pub processes: Arc>>, - direct_sessions: Arc>>>, + direct_sessions: Arc>>>, + direct_cancellations: Arc>>, } impl Default for ClaudeProcessState { @@ -305,6 +302,7 @@ impl Default for ClaudeProcessState { Self { processes: Arc::new(Mutex::new(HashMap::new())), direct_sessions: Arc::new(Mutex::new(HashMap::new())), + direct_cancellations: Arc::new(Mutex::new(HashSet::new())), } } } @@ -1811,11 +1809,140 @@ fn direct_provider_system_prompt() -> String { "Help the user write, revise, and reason about academic documents.", "Preserve existing LaTeX structure unless the user asks for a rewrite.", "Use proper LaTeX sectioning, citations, labels, references, and bibliography conventions.", - "In direct provider mode you may not have Claude Code tool execution yet. If you cannot directly edit files, provide precise patches or replacement snippets.", + "You can inspect and edit files through the provided tools. Prefer relative paths inside the current project.", + "Use Read before non-trivial edits, use Edit for precise replacements, and use Write only when creating or fully replacing a file.", + "Do not claim a file was changed unless a tool result confirms it.", ] .join("\n") } +fn direct_provider_tools() -> serde_json::Value { + json!([ + { + "type": "function", + "function": { + "name": "Read", + "description": "Read a UTF-8 text file from the current project.", + "parameters": { + "type": "object", + "properties": { + "file_path": { "type": "string", "description": "Project-relative or absolute file path." }, + "offset": { "type": "integer", "description": "Optional 1-based line offset." }, + "limit": { "type": "integer", "description": "Optional maximum number of lines to return." } + }, + "required": ["file_path"] + } + } + }, + { + "type": "function", + "function": { + "name": "Write", + "description": "Create or replace a UTF-8 text file in the current project.", + "parameters": { + "type": "object", + "properties": { + "file_path": { "type": "string", "description": "Project-relative or absolute file path." }, + "content": { "type": "string", "description": "Complete file contents to write." } + }, + "required": ["file_path", "content"] + } + } + }, + { + "type": "function", + "function": { + "name": "Edit", + "description": "Replace an exact string in a UTF-8 text file.", + "parameters": { + "type": "object", + "properties": { + "file_path": { "type": "string", "description": "Project-relative or absolute file path." }, + "old_string": { "type": "string", "description": "Exact text to replace." }, + "new_string": { "type": "string", "description": "Replacement text." }, + "replace_all": { "type": "boolean", "description": "Replace all matches instead of requiring a single match." } + }, + "required": ["file_path", "old_string", "new_string"] + } + } + }, + { + "type": "function", + "function": { + "name": "MultiEdit", + "description": "Apply multiple exact string replacements to one UTF-8 text file.", + "parameters": { + "type": "object", + "properties": { + "file_path": { "type": "string", "description": "Project-relative or absolute file path." }, + "edits": { + "type": "array", + "items": { + "type": "object", + "properties": { + "old_string": { "type": "string" }, + "new_string": { "type": "string" }, + "replace_all": { "type": "boolean" } + }, + "required": ["old_string", "new_string"] + } + } + }, + "required": ["file_path", "edits"] + } + } + }, + { + "type": "function", + "function": { + "name": "Glob", + "description": "List project files matching a simple wildcard pattern such as *.tex or chapters/*.tex.", + "parameters": { + "type": "object", + "properties": { + "pattern": { "type": "string", "description": "Wildcard pattern. * and ? are supported." }, + "path": { "type": "string", "description": "Optional project-relative directory to search." } + }, + "required": ["pattern"] + } + } + }, + { + "type": "function", + "function": { + "name": "Grep", + "description": "Search UTF-8 project files for a literal substring.", + "parameters": { + "type": "object", + "properties": { + "pattern": { "type": "string", "description": "Literal text to search for." }, + "path": { "type": "string", "description": "Optional project-relative file or directory to search." }, + "glob": { "type": "string", "description": "Optional wildcard filter, for example *.tex." }, + "case_sensitive": { "type": "boolean", "description": "Whether matching is case-sensitive. Defaults to false." } + }, + "required": ["pattern"] + } + } + }, + { + "type": "function", + "function": { + "name": "Bash", + "description": "Run a shell command in the current project directory. Use concise commands and prefer read-only commands before edits.", + "parameters": { + "type": "object", + "properties": { + "command": { "type": "string", "description": "Shell command to run in the project directory." }, + "description": { "type": "string", "description": "Short description of why the command is needed." }, + "timeout_ms": { "type": "integer", "description": "Optional timeout in milliseconds. Defaults to 120000." } + }, + "required": ["command"] + } + } + } + ]) +} + fn openai_chat_completions_url(base_url: &str) -> String { let clean = base_url.trim_end_matches('/'); if clean.ends_with("/chat/completions") { @@ -1842,6 +1969,860 @@ fn json_usage(value: &serde_json::Value) -> serde_json::Value { }) } +#[derive(Clone)] +struct DirectToolCall { + id: String, + name: String, + input: serde_json::Value, +} + +struct DirectToolOutput { + content: String, + is_error: bool, +} + +fn emit_direct_output(window: &WebviewWindow, tab_id: &str, event: &serde_json::Value) { + let _ = window.emit( + "claude-output", + ClaudeOutputEvent { + tab_id: tab_id.to_string(), + data: event.to_string(), + }, + ); +} + +fn emit_direct_error(window: &WebviewWindow, tab_id: &str, message: impl Into) { + let _ = window.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id.to_string(), + data: message.into(), + }, + ); +} + +fn emit_direct_complete(window: &WebviewWindow, tab_id: &str, success: bool) { + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id: tab_id.to_string(), + success, + }, + ); +} + +fn session_event_with_timestamp(event: &serde_json::Value) -> serde_json::Value { + let mut event = event.clone(); + if let Some(object) = event.as_object_mut() { + object + .entry("timestamp".to_string()) + .or_insert_with(|| json!(chrono::Utc::now().to_rfc3339())); + } + event +} + +fn valid_session_id(session_id: &str) -> bool { + !session_id.is_empty() + && session_id + .chars() + .all(|c| c.is_ascii_alphanumeric() || c == '-') +} + +fn append_direct_session_event( + project_path: &str, + session_id: &str, + event: &serde_json::Value, +) -> Result<(), String> { + if !valid_session_id(session_id) { + return Err("Invalid session id".to_string()); + } + + let sessions_dir = get_sessions_dir(project_path)?; + std::fs::create_dir_all(&sessions_dir) + .map_err(|e| format!("Failed to create sessions directory: {}", e))?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + let event = session_event_with_timestamp(event); + let line = serde_json::to_string(&event) + .map_err(|e| format!("Failed to serialize session event: {}", e))?; + let mut file = OpenOptions::new() + .create(true) + .append(true) + .open(&session_path) + .map_err(|e| format!("Failed to open session file: {}", e))?; + writeln!(file, "{}", line).map_err(|e| format!("Failed to write session event: {}", e)) +} + +fn emit_and_persist_direct_output( + window: &WebviewWindow, + project_path: &str, + session_id: &str, + tab_id: &str, + event: &serde_json::Value, +) { + emit_direct_output(window, tab_id, event); + if let Err(err) = append_direct_session_event(project_path, session_id, event) { + eprintln!("[direct-provider] failed to persist session event: {}", err); + } +} + +async fn direct_provider_cancelled(state: &ClaudeProcessState, process_key: &str) -> bool { + state + .direct_cancellations + .lock() + .await + .contains(process_key) +} + +async fn clear_direct_provider_cancelled(state: &ClaudeProcessState, process_key: &str) { + state.direct_cancellations.lock().await.remove(process_key); +} + +fn claude_text_from_content_blocks(content: &serde_json::Value) -> Option { + if let Some(text) = content.as_str() { + return Some(text.to_string()); + } + + let blocks = content.as_array()?; + let text = blocks + .iter() + .filter(|block| block.get("type").and_then(|v| v.as_str()) == Some("text")) + .filter_map(|block| block.get("text").and_then(|v| v.as_str())) + .collect::>() + .join("\n\n"); + if text.trim().is_empty() { + None + } else { + Some(text) + } +} + +fn load_direct_provider_messages( + project_path: &str, + session_id: &str, +) -> Result, String> { + if !valid_session_id(session_id) { + return Ok(Vec::new()); + } + + let sessions_dir = get_sessions_dir(project_path)?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + if !session_path.exists() { + return Ok(Vec::new()); + } + + let file = std::fs::File::open(&session_path) + .map_err(|e| format!("Failed to open session file: {}", e))?; + let reader = std::io::BufReader::new(file); + use std::io::BufRead; + + let mut messages = Vec::new(); + for line in reader.lines().map_while(Result::ok) { + let Ok(entry) = serde_json::from_str::(&line) else { + continue; + }; + match entry.get("type").and_then(|v| v.as_str()) { + Some("user") => { + let Some(content) = entry.pointer("/message/content") else { + continue; + }; + if let Some(blocks) = content.as_array() { + let tool_results: Vec = blocks + .iter() + .filter(|block| { + block.get("type").and_then(|v| v.as_str()) == Some("tool_result") + }) + .filter_map(|block| { + let tool_call_id = block.get("tool_use_id")?.as_str()?; + let content = block + .get("content") + .and_then(|v| v.as_str()) + .map(|v| v.to_string()) + .unwrap_or_else(|| { + block + .get("content") + .map(|v| v.to_string()) + .unwrap_or_default() + }); + Some(json!({ + "role": "tool", + "tool_call_id": tool_call_id, + "content": content, + })) + }) + .collect(); + if !tool_results.is_empty() { + messages.extend(tool_results); + continue; + } + } + + if let Some(text) = claude_text_from_content_blocks(content) { + messages.push(json!({ "role": "user", "content": text })); + } + } + Some("assistant") => { + let Some(content) = entry.pointer("/message/content") else { + continue; + }; + let Some(blocks) = content.as_array() else { + continue; + }; + + let text = blocks + .iter() + .filter(|block| block.get("type").and_then(|v| v.as_str()) == Some("text")) + .filter_map(|block| block.get("text").and_then(|v| v.as_str())) + .collect::>() + .join("\n\n"); + let tool_calls: Vec = blocks + .iter() + .filter(|block| block.get("type").and_then(|v| v.as_str()) == Some("tool_use")) + .filter_map(|block| { + let id = block.get("id")?.as_str()?; + let name = block.get("name")?.as_str()?; + let input = block.get("input").cloned().unwrap_or_else(|| json!({})); + Some(json!({ + "id": id, + "type": "function", + "function": { + "name": name, + "arguments": input.to_string(), + } + })) + }) + .collect(); + + if text.trim().is_empty() && tool_calls.is_empty() { + continue; + } + + let mut message = json!({ + "role": "assistant", + "content": if text.trim().is_empty() { serde_json::Value::Null } else { json!(text) }, + }); + if !tool_calls.is_empty() { + if let Some(object) = message.as_object_mut() { + object.insert("tool_calls".to_string(), json!(tool_calls)); + } + } + messages.push(message); + } + _ => {} + } + } + + Ok(messages) +} + +fn lexical_normalize(path: &Path) -> PathBuf { + let mut normalized = PathBuf::new(); + for component in path.components() { + match component { + Component::CurDir => {} + Component::ParentDir => { + normalized.pop(); + } + other => normalized.push(other.as_os_str()), + } + } + normalized +} + +fn canonical_project_root(project_path: &str) -> Result { + let root = PathBuf::from(strip_nul(project_path).trim()); + let root = root + .canonicalize() + .map_err(|e| format!("Failed to resolve project path: {}", e))?; + if !root.is_dir() { + return Err("Project path is not a directory".to_string()); + } + Ok(root) +} + +fn tool_path_value(input: &serde_json::Value) -> Result { + for key in ["file_path", "path"] { + if let Some(value) = input.get(key).and_then(|v| v.as_str()) { + let clean = strip_nul(value).trim().to_string(); + if !clean.is_empty() { + return Ok(clean); + } + } + } + Err("Missing file_path".to_string()) +} + +fn required_tool_string(input: &serde_json::Value, key: &str) -> Result { + input + .get(key) + .and_then(|v| v.as_str()) + .map(|value| strip_nul(value).into_owned()) + .ok_or_else(|| format!("Missing {}", key)) +} + +fn optional_tool_string(input: &serde_json::Value, key: &str) -> Option { + input + .get(key) + .and_then(|v| v.as_str()) + .map(|value| strip_nul(value).trim().to_string()) + .filter(|value| !value.is_empty()) +} + +fn optional_tool_usize(input: &serde_json::Value, key: &str) -> Option { + input + .get(key) + .and_then(|v| v.as_u64()) + .and_then(|value| usize::try_from(value).ok()) +} + +fn resolve_project_tool_path(project_root: &Path, requested: &str) -> Result { + let clean = strip_nul(requested).trim().trim_matches('"').to_string(); + if clean.is_empty() { + return Err("Path is empty".to_string()); + } + + let requested_path = PathBuf::from(&clean); + let candidate = if requested_path.is_absolute() { + requested_path + } else { + project_root.join(requested_path) + }; + let normalized = lexical_normalize(&candidate); + if !normalized.starts_with(project_root) { + return Err("Refusing to access a path outside the project".to_string()); + } + Ok(normalized) +} + +fn ensure_existing_project_tool_path( + project_root: &Path, + requested: &str, +) -> Result { + let resolved = resolve_project_tool_path(project_root, requested)?; + let canonical = resolved + .canonicalize() + .map_err(|e| format!("Failed to resolve path: {}", e))?; + if !canonical.starts_with(project_root) { + return Err("Refusing to access a path outside the project".to_string()); + } + Ok(canonical) +} + +fn nearest_existing_parent(path: &Path) -> Option { + let mut current = path.to_path_buf(); + loop { + if current.exists() { + return Some(current); + } + if !current.pop() { + return None; + } + } +} + +fn ensure_writable_project_tool_path( + project_root: &Path, + requested: &str, +) -> Result { + let resolved = resolve_project_tool_path(project_root, requested)?; + if resolved.exists() { + let canonical = resolved + .canonicalize() + .map_err(|e| format!("Failed to resolve path: {}", e))?; + if !canonical.starts_with(project_root) { + return Err("Refusing to write outside the project".to_string()); + } + return Ok(canonical); + } + + let parent = resolved + .parent() + .ok_or_else(|| "Path has no parent directory".to_string())?; + let existing_parent = nearest_existing_parent(parent) + .ok_or_else(|| "Could not resolve parent directory".to_string())?; + let canonical_parent = existing_parent + .canonicalize() + .map_err(|e| format!("Failed to resolve parent directory: {}", e))?; + if !canonical_parent.starts_with(project_root) { + return Err("Refusing to write outside the project".to_string()); + } + Ok(resolved) +} + +fn relative_project_path(project_root: &Path, path: &Path) -> String { + path.strip_prefix(project_root) + .unwrap_or(path) + .to_string_lossy() + .replace('\\', "/") +} + +fn truncate_tool_content(content: String, max_chars: usize) -> String { + if content.chars().count() <= max_chars { + return content; + } + let truncated: String = content.chars().take(max_chars).collect(); + format!("{}\n\n[Output truncated after {} characters]", truncated, max_chars) +} + +fn apply_exact_edit(content: &str, old: &str, new: &str, replace_all: bool) -> Result { + if old.is_empty() { + return Err("old_string cannot be empty".to_string()); + } + let count = content.matches(old).count(); + if count == 0 { + return Err("old_string was not found".to_string()); + } + if count > 1 && !replace_all { + return Err(format!( + "old_string matched {} times; set replace_all=true or provide a more specific old_string", + count + )); + } + if replace_all { + Ok(content.replace(old, new)) + } else { + Ok(content.replacen(old, new, 1)) + } +} + +fn skip_direct_provider_dir(path: &Path) -> bool { + let Some(name) = path.file_name().and_then(|v| v.to_str()) else { + return false; + }; + matches!( + name, + ".git" | "node_modules" | "target" | "dist" | "build" | ".venv" | ".prism" | ".claudeprism" + ) +} + +fn collect_project_files(dir: &Path, files: &mut Vec, max_files: usize) -> Result<(), String> { + if files.len() >= max_files { + return Ok(()); + } + if skip_direct_provider_dir(dir) { + return Ok(()); + } + let entries = std::fs::read_dir(dir) + .map_err(|e| format!("Failed to read directory {}: {}", dir.display(), e))?; + for entry in entries.flatten() { + if files.len() >= max_files { + break; + } + let path = entry.path(); + let Ok(file_type) = entry.file_type() else { + continue; + }; + if file_type.is_dir() { + collect_project_files(&path, files, max_files)?; + } else if file_type.is_file() { + files.push(path); + } + } + Ok(()) +} + +fn wildcard_match(pattern: &str, text: &str) -> bool { + let pattern = pattern.as_bytes(); + let text = text.as_bytes(); + let mut dp = vec![vec![false; text.len() + 1]; pattern.len() + 1]; + dp[0][0] = true; + for i in 1..=pattern.len() { + if pattern[i - 1] == b'*' { + dp[i][0] = dp[i - 1][0]; + } + } + for i in 1..=pattern.len() { + for j in 1..=text.len() { + dp[i][j] = match pattern[i - 1] { + b'*' => dp[i - 1][j] || dp[i][j - 1], + b'?' => dp[i - 1][j - 1], + ch => ch == text[j - 1] && dp[i - 1][j - 1], + }; + } + } + dp[pattern.len()][text.len()] +} + +fn execute_direct_read(project_root: &Path, input: &serde_json::Value) -> Result { + let file_path = tool_path_value(input)?; + let path = ensure_existing_project_tool_path(project_root, &file_path)?; + let content = std::fs::read_to_string(&path) + .map_err(|e| format!("Failed to read {}: {}", file_path, e))?; + let offset = optional_tool_usize(input, "offset").unwrap_or(1).max(1); + let limit = optional_tool_usize(input, "limit"); + let lines: Vec<&str> = content.lines().collect(); + let selected = lines + .iter() + .skip(offset.saturating_sub(1)) + .take(limit.unwrap_or(lines.len())) + .copied() + .collect::>() + .join("\n"); + let display_path = relative_project_path(project_root, &path); + let body = if offset > 1 || limit.is_some() { + format!( + "[{} lines {}-{}]\n{}", + display_path, + offset, + offset + selected.lines().count().saturating_sub(1), + selected + ) + } else { + format!("[{}]\n{}", display_path, content) + }; + Ok(truncate_tool_content(body, 20000)) +} + +fn execute_direct_write(project_root: &Path, input: &serde_json::Value) -> Result { + let file_path = tool_path_value(input)?; + let content = required_tool_string(input, "content")?; + let path = ensure_writable_project_tool_path(project_root, &file_path)?; + if let Some(parent) = path.parent() { + std::fs::create_dir_all(parent) + .map_err(|e| format!("Failed to create parent directory: {}", e))?; + } + std::fs::write(&path, content) + .map_err(|e| format!("Failed to write {}: {}", file_path, e))?; + Ok(format!("Wrote {}", relative_project_path(project_root, &path))) +} + +fn execute_direct_edit(project_root: &Path, input: &serde_json::Value) -> Result { + let file_path = tool_path_value(input)?; + let old = required_tool_string(input, "old_string")?; + let new = required_tool_string(input, "new_string")?; + let replace_all = input + .get("replace_all") + .and_then(|v| v.as_bool()) + .unwrap_or(false); + let path = ensure_existing_project_tool_path(project_root, &file_path)?; + let content = std::fs::read_to_string(&path) + .map_err(|e| format!("Failed to read {}: {}", file_path, e))?; + let updated = apply_exact_edit(&content, &old, &new, replace_all)?; + std::fs::write(&path, updated) + .map_err(|e| format!("Failed to write {}: {}", file_path, e))?; + Ok(format!("Edited {}", relative_project_path(project_root, &path))) +} + +fn execute_direct_multiedit(project_root: &Path, input: &serde_json::Value) -> Result { + let file_path = tool_path_value(input)?; + let edits = input + .get("edits") + .and_then(|v| v.as_array()) + .ok_or_else(|| "Missing edits".to_string())?; + if edits.is_empty() { + return Err("edits cannot be empty".to_string()); + } + + let path = ensure_existing_project_tool_path(project_root, &file_path)?; + let mut content = std::fs::read_to_string(&path) + .map_err(|e| format!("Failed to read {}: {}", file_path, e))?; + for (idx, edit) in edits.iter().enumerate() { + let old = required_tool_string(edit, "old_string") + .map_err(|e| format!("Edit {}: {}", idx + 1, e))?; + let new = required_tool_string(edit, "new_string") + .map_err(|e| format!("Edit {}: {}", idx + 1, e))?; + let replace_all = edit + .get("replace_all") + .and_then(|v| v.as_bool()) + .unwrap_or(false); + content = apply_exact_edit(&content, &old, &new, replace_all) + .map_err(|e| format!("Edit {}: {}", idx + 1, e))?; + } + std::fs::write(&path, content) + .map_err(|e| format!("Failed to write {}: {}", file_path, e))?; + Ok(format!( + "Applied {} edits to {}", + edits.len(), + relative_project_path(project_root, &path) + )) +} + +fn execute_direct_glob(project_root: &Path, input: &serde_json::Value) -> Result { + let pattern = required_tool_string(input, "pattern")?; + let base = optional_tool_string(input, "path") + .map(|path| ensure_existing_project_tool_path(project_root, &path)) + .transpose()? + .unwrap_or_else(|| project_root.to_path_buf()); + if !base.is_dir() { + return Err("Glob path must be a directory".to_string()); + } + + let mut files = Vec::new(); + collect_project_files(&base, &mut files, 2000)?; + let pattern = pattern.replace('\\', "/"); + let mut matches = files + .into_iter() + .filter_map(|path| { + let rel = relative_project_path(project_root, &path); + let name = path.file_name()?.to_str()?; + if wildcard_match(&pattern, &rel) || wildcard_match(&pattern, name) { + Some(rel) + } else { + None + } + }) + .collect::>(); + matches.sort(); + matches.truncate(200); + if matches.is_empty() { + Ok("No files matched".to_string()) + } else { + Ok(matches.join("\n")) + } +} + +fn looks_like_text_file(path: &Path) -> bool { + matches!( + path.extension().and_then(|v| v.to_str()).unwrap_or("").to_ascii_lowercase().as_str(), + "tex" + | "bib" + | "sty" + | "cls" + | "md" + | "txt" + | "json" + | "yaml" + | "yml" + | "toml" + | "rs" + | "ts" + | "tsx" + | "js" + | "jsx" + | "py" + | "sh" + | "ps1" + | "html" + | "css" + | "csv" + ) +} + +fn execute_direct_grep(project_root: &Path, input: &serde_json::Value) -> Result { + let pattern = required_tool_string(input, "pattern")?; + if pattern.is_empty() { + return Err("pattern cannot be empty".to_string()); + } + let case_sensitive = input + .get("case_sensitive") + .and_then(|v| v.as_bool()) + .unwrap_or(false); + let glob_filter = optional_tool_string(input, "glob").map(|value| value.replace('\\', "/")); + let base = optional_tool_string(input, "path") + .map(|path| ensure_existing_project_tool_path(project_root, &path)) + .transpose()? + .unwrap_or_else(|| project_root.to_path_buf()); + + let mut files = Vec::new(); + if base.is_file() { + files.push(base); + } else { + collect_project_files(&base, &mut files, 4000)?; + } + + let needle = if case_sensitive { + pattern.clone() + } else { + pattern.to_lowercase() + }; + let mut results = Vec::new(); + for path in files { + if results.len() >= 200 { + break; + } + if !looks_like_text_file(&path) { + continue; + } + let rel = relative_project_path(project_root, &path); + if let Some(glob) = &glob_filter { + let name = path.file_name().and_then(|v| v.to_str()).unwrap_or(""); + if !wildcard_match(glob, &rel) && !wildcard_match(glob, name) { + continue; + } + } + let Ok(metadata) = std::fs::metadata(&path) else { + continue; + }; + if metadata.len() > 2_000_000 { + continue; + } + let Ok(content) = std::fs::read_to_string(&path) else { + continue; + }; + for (idx, line) in content.lines().enumerate() { + let haystack = if case_sensitive { + line.to_string() + } else { + line.to_lowercase() + }; + if haystack.contains(&needle) { + results.push(format!("{}:{}:{}", rel, idx + 1, line.trim_end())); + if results.len() >= 200 { + break; + } + } + } + } + + if results.is_empty() { + Ok("No matches found".to_string()) + } else { + Ok(results.join("\n")) + } +} + +async fn execute_direct_bash(project_root: &Path, input: &serde_json::Value) -> Result { + let command = required_tool_string(input, "command")?; + if command.trim().is_empty() { + return Err("command cannot be empty".to_string()); + } + let timeout_ms = input + .get("timeout_ms") + .and_then(|v| v.as_u64()) + .unwrap_or(120_000) + .clamp(1_000, 300_000); + #[cfg(not(target_os = "windows"))] + let (shell, args) = ("sh", vec!["-c".to_string(), command.clone()]); + #[cfg(target_os = "windows")] + let (shell, args) = ("cmd", vec!["/C".to_string(), command.clone()]); + + let cwd = project_root.to_string_lossy().to_string(); + let mut cmd = create_command(shell, args, &cwd, None); + cmd.kill_on_drop(true); + let output = tokio::time::timeout( + std::time::Duration::from_millis(timeout_ms), + cmd.output(), + ) + .await + .map_err(|_| format!("Command timed out after {}ms", timeout_ms))? + .map_err(|e| format!("Failed to run command: {}", e))?; + + let stdout = String::from_utf8_lossy(&output.stdout); + let stderr = String::from_utf8_lossy(&output.stderr); + let exit_code = output.status.code().unwrap_or(-1); + Ok(truncate_tool_content( + format!( + "$ {}\nexit_code: {}\n\nstdout:\n{}\n\nstderr:\n{}", + command, exit_code, stdout, stderr + ), + 30000, + )) +} + +async fn execute_direct_provider_tool( + project_root: &Path, + name: &str, + input: &serde_json::Value, +) -> DirectToolOutput { + let result = match name { + "Read" | "read" => execute_direct_read(project_root, input), + "Write" | "write" => execute_direct_write(project_root, input), + "Edit" | "edit" => execute_direct_edit(project_root, input), + "MultiEdit" | "multiedit" => execute_direct_multiedit(project_root, input), + "Glob" | "glob" => execute_direct_glob(project_root, input), + "Grep" | "grep" => execute_direct_grep(project_root, input), + "Bash" | "bash" => execute_direct_bash(project_root, input).await, + other => Err(format!("Unsupported tool: {}", other)), + }; + + match result { + Ok(content) => DirectToolOutput { + content, + is_error: false, + }, + Err(content) => DirectToolOutput { + content, + is_error: true, + }, + } +} + +fn parse_direct_tool_calls(response: &serde_json::Value) -> Vec { + response + .pointer("/choices/0/message/tool_calls") + .and_then(|v| v.as_array()) + .map(|calls| { + calls + .iter() + .enumerate() + .filter_map(|(idx, call)| { + let name = call.pointer("/function/name")?.as_str()?.to_string(); + let id = call + .get("id") + .and_then(|v| v.as_str()) + .map(|value| value.to_string()) + .unwrap_or_else(|| format!("toolu_{}", idx + 1)); + let arguments = call + .pointer("/function/arguments") + .and_then(|v| v.as_str()) + .unwrap_or("{}"); + let input = serde_json::from_str::(arguments) + .unwrap_or_else(|_| json!({ "_raw_arguments": arguments })); + Some(DirectToolCall { id, name, input }) + }) + .collect() + }) + .unwrap_or_default() +} + +fn direct_assistant_content(response: &serde_json::Value) -> String { + let Some(content) = response.pointer("/choices/0/message/content") else { + return String::new(); + }; + if let Some(text) = content.as_str() { + return text.to_string(); + } + if let Some(parts) = content.as_array() { + return parts + .iter() + .filter_map(|part| { + part.get("text") + .and_then(|v| v.as_str()) + .or_else(|| part.get("content").and_then(|v| v.as_str())) + }) + .collect::>() + .join("\n\n"); + } + String::new() +} + +async fn send_openai_compatible_chat_request( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], +) -> Result { + let mut request_body = json!({ + "model": credential.model.clone(), + "messages": messages, + "stream": false, + }); + if let Some(object) = request_body.as_object_mut() { + object.insert("tools".to_string(), direct_provider_tools()); + object.insert("tool_choice".to_string(), json!("auto")); + } + + let response = client + .post(openai_chat_completions_url(&credential.base_url)) + .bearer_auth(&credential.api_key) + .header("Content-Type", "application/json") + .body(request_body.to_string()) + .send() + .await + .map_err(|err| format!("Provider request failed: {}", err))?; + + let status = response.status(); + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider response: {}", err))?; + + if !status.is_success() { + return Err(format!("Provider returned HTTP {}: {}", status, response_text)); + } + + serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid JSON: {}", err)) +} + async fn execute_openai_compatible_provider( window: WebviewWindow, project_path: String, @@ -1852,176 +2833,199 @@ async fn execute_openai_compatible_provider( ) -> Result<(), String> { let started = std::time::Instant::now(); let session_id = session_id.unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); + let process_key = format!("{}:{}", window.label(), tab_id); + let project_root = match canonical_project_root(&project_path) { + Ok(path) => path, + Err(err) => { + emit_direct_error(&window, &tab_id, err); + emit_direct_complete(&window, &tab_id, false); + return Ok(()); + } + }; let init = json!({ "type": "system", "subtype": "init", "session_id": session_id, "model": credential.model.clone(), - "cwd": project_path, - "tools": [], + "cwd": project_path.clone(), + "tools": ["Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "Bash"], }); - let _ = window.emit( - "claude-output", - ClaudeOutputEvent { - tab_id: tab_id.clone(), - data: init.to_string(), - }, - ); - let state = window.state::(); - let prior_messages = { + clear_direct_provider_cancelled(&state, &process_key).await; + emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &init); + + let mut messages = { let sessions = state.direct_sessions.lock().await; sessions.get(&session_id).cloned().unwrap_or_default() }; + if messages.is_empty() { + messages = load_direct_provider_messages(&project_path, &session_id).unwrap_or_default(); + } - let mut messages = vec![json!({ + let mut request_messages = vec![json!({ "role": "system", "content": direct_provider_system_prompt(), })]; - for message in &prior_messages { - messages.push(json!({ - "role": message.role, - "content": message.content, - })); - } + request_messages.extend(messages.clone()); + request_messages.push(json!({ "role": "user", "content": prompt.clone() })); messages.push(json!({ "role": "user", - "content": prompt, + "content": prompt.clone(), })); - - let request_body = json!({ - "model": credential.model.clone(), - "messages": messages, - "stream": false, - }); - - let client = reqwest::Client::new(); - let url = openai_chat_completions_url(&credential.base_url); - let response = match client - .post(url) - .bearer_auth(&credential.api_key) - .header("Content-Type", "application/json") - .body(request_body.to_string()) - .send() - .await - { - Ok(response) => response, - Err(err) => { - let _ = window.emit( - "claude-error", - ClaudeErrorEvent { - tab_id: tab_id.clone(), - data: format!("Provider request failed: {}", err), - }, - ); - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - return Ok(()); - } - }; - - let status = response.status(); - let response_text = response - .text() - .await - .map_err(|err| format!("Failed to read provider response: {}", err))?; - - if !status.is_success() { - let _ = window.emit( - "claude-error", - ClaudeErrorEvent { - tab_id: tab_id.clone(), - data: format!("Provider returned HTTP {}: {}", status, response_text), - }, - ); - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - return Ok(()); - } - - let value: serde_json::Value = match serde_json::from_str(&response_text) { - Ok(value) => value, - Err(err) => { - let _ = window.emit( - "claude-error", - ClaudeErrorEvent { - tab_id: tab_id.clone(), - data: format!("Provider returned invalid JSON: {}", err), - }, - ); - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - return Ok(()); - } - }; - - let content = value - .pointer("/choices/0/message/content") - .and_then(|v| v.as_str()) - .unwrap_or("") - .to_string(); - - if content.trim().is_empty() { - let _ = window.emit( - "claude-error", - ClaudeErrorEvent { - tab_id: tab_id.clone(), - data: "Provider response did not include message content".to_string(), - }, - ); - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - return Ok(()); - } - - let usage = json_usage(&value); - let assistant = json!({ - "type": "assistant", + let user_event = json!({ + "type": "user", "message": { - "content": [{ "type": "text", "text": content }], - "usage": usage, + "content": [{ "type": "text", "text": prompt.clone() }], }, }); - let _ = window.emit( - "claude-output", - ClaudeOutputEvent { - tab_id: tab_id.clone(), - data: assistant.to_string(), - }, - ); + if let Err(err) = append_direct_session_event(&project_path, &session_id, &user_event) { + eprintln!("[direct-provider] failed to persist user event: {}", err); + } + + let final_content: String; + let mut final_usage = json!({ "input_tokens": 0, "output_tokens": 0 }); + let mut turns = 0_u64; + let client = reqwest::Client::new(); + + loop { + turns += 1; + if turns > 12 { + let message = "Provider stopped because it used tools too many times without producing a final answer."; + emit_direct_error(&window, &tab_id, message); + let result = json!({ + "type": "result", + "subtype": "error", + "is_error": true, + "result": message, + "duration_ms": started.elapsed().as_millis() as u64, + "duration_api_ms": started.elapsed().as_millis() as u64, + "num_turns": turns, + "usage": final_usage, + }); + emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &result); + emit_direct_complete(&window, &tab_id, false); + return Ok(()); + } + + if direct_provider_cancelled(&state, &process_key).await { + return Ok(()); + } + + let response = match send_openai_compatible_chat_request( + &client, + &credential, + &request_messages, + ) + .await + { + Ok(value) => value, + Err(err) => { + emit_direct_error(&window, &tab_id, err); + emit_direct_complete(&window, &tab_id, false); + return Ok(()); + } + }; + + if direct_provider_cancelled(&state, &process_key).await { + return Ok(()); + } + + let content = direct_assistant_content(&response); + let tool_calls = parse_direct_tool_calls(&response); + let usage = json_usage(&response); + final_usage = usage.clone(); + + let mut content_blocks = Vec::new(); + if !content.trim().is_empty() { + content_blocks.push(json!({ "type": "text", "text": content.clone() })); + } + for tool_call in &tool_calls { + content_blocks.push(json!({ + "type": "tool_use", + "id": tool_call.id, + "name": tool_call.name, + "input": tool_call.input, + })); + } + + if content_blocks.is_empty() { + let message = "Provider response did not include message content or tool calls"; + emit_direct_error(&window, &tab_id, message); + emit_direct_complete(&window, &tab_id, false); + return Ok(()); + } + + let assistant_event = json!({ + "type": "assistant", + "message": { + "content": content_blocks, + "usage": usage.clone(), + }, + }); + emit_and_persist_direct_output( + &window, + &project_path, + &session_id, + &tab_id, + &assistant_event, + ); + + let assistant_message = response + .pointer("/choices/0/message") + .cloned() + .unwrap_or_else(|| { + json!({ + "role": "assistant", + "content": content.clone(), + }) + }); + request_messages.push(assistant_message.clone()); + messages.push(assistant_message); + + if tool_calls.is_empty() { + final_content = content; + break; + } + + let mut tool_result_blocks = Vec::new(); + for tool_call in &tool_calls { + let output = + execute_direct_provider_tool(&project_root, &tool_call.name, &tool_call.input) + .await; + tool_result_blocks.push(json!({ + "type": "tool_result", + "tool_use_id": tool_call.id, + "content": output.content, + "is_error": output.is_error, + })); + let tool_message = json!({ + "role": "tool", + "tool_call_id": tool_call.id, + "content": output.content, + }); + request_messages.push(tool_message.clone()); + messages.push(tool_message); + } + + let tool_result_event = json!({ + "type": "user", + "message": { + "content": tool_result_blocks, + }, + }); + emit_and_persist_direct_output( + &window, + &project_path, + &session_id, + &tab_id, + &tool_result_event, + ); + } { let mut sessions = state.direct_sessions.lock().await; - let history = sessions.entry(session_id.clone()).or_default(); - history.push(DirectProviderMessage { - role: "user".to_string(), - content: prompt, - }); - history.push(DirectProviderMessage { - role: "assistant".to_string(), - content: content.clone(), - }); + sessions.insert(session_id.clone(), messages); } let elapsed_ms = started.elapsed().as_millis() as u64; @@ -2029,26 +3033,15 @@ async fn execute_openai_compatible_provider( "type": "result", "subtype": "success", "is_error": false, - "result": content, + "result": final_content, "duration_ms": elapsed_ms, "duration_api_ms": elapsed_ms, - "num_turns": 1, - "usage": usage, + "num_turns": turns, + "usage": final_usage, }); - let _ = window.emit( - "claude-output", - ClaudeOutputEvent { - tab_id: tab_id.clone(), - data: result.to_string(), - }, - ); - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: true, - }, - ); + emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &result); + clear_direct_provider_cancelled(&state, &process_key).await; + emit_direct_complete(&window, &tab_id, true); Ok(()) } @@ -2172,7 +3165,22 @@ pub async fn cancel_claude_execution(window: WebviewWindow, tab_id: String) -> R success: false, }, ); + return Ok(()); } + + drop(processes); + claude_state + .direct_cancellations + .lock() + .await + .insert(process_key); + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); Ok(()) } @@ -2841,6 +3849,79 @@ mod tests { assert_eq!(ts.unwrap(), "2024-01-02T00:00:00Z"); } + // --- direct provider tools --- + + #[tokio::test] + async fn test_direct_provider_tools_read_edit_and_grep_project_files() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let main = root.join("main.tex"); + std::fs::write(&main, "\\section{Old Title}\nBody text").unwrap(); + + let read = execute_direct_provider_tool( + &root, + "Read", + &json!({ "file_path": "main.tex", "limit": 1 }), + ) + .await; + assert!(!read.is_error); + assert!(read.content.contains("\\section{Old Title}")); + + let edit = execute_direct_provider_tool( + &root, + "Edit", + &json!({ + "file_path": "main.tex", + "old_string": "Old Title", + "new_string": "New Title", + }), + ) + .await; + assert!(!edit.is_error); + assert!(std::fs::read_to_string(&main).unwrap().contains("New Title")); + + let grep = execute_direct_provider_tool( + &root, + "Grep", + &json!({ "pattern": "New Title", "glob": "*.tex" }), + ) + .await; + assert!(!grep.is_error); + assert!(grep.content.contains("main.tex:1")); + } + + #[tokio::test] + async fn test_direct_provider_tools_reject_paths_outside_project() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + + let write = execute_direct_provider_tool( + &root, + "Write", + &json!({ "file_path": "../outside.tex", "content": "nope" }), + ) + .await; + assert!(write.is_error); + assert!(write.content.contains("outside the project")); + } + + #[tokio::test] + async fn test_direct_provider_glob_lists_matching_project_files() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + std::fs::create_dir_all(root.join("chapters")).unwrap(); + std::fs::write(root.join("main.tex"), "main").unwrap(); + std::fs::write(root.join("chapters").join("intro.tex"), "intro").unwrap(); + std::fs::write(root.join("notes.md"), "notes").unwrap(); + + let glob = execute_direct_provider_tool(&root, "Glob", &json!({ "pattern": "*.tex" })) + .await; + assert!(!glob.is_error); + assert!(glob.content.contains("main.tex")); + assert!(glob.content.contains("chapters/intro.tex")); + assert!(!glob.content.contains("notes.md")); + } + // --- claude_required_dirs --- #[cfg(not(target_os = "windows"))] From 782024a502417aec27d97500b163ed12cd4dba46 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:31:59 +0800 Subject: [PATCH 006/118] Stream OpenAI-compatible provider responses --- apps/desktop/src-tauri/src/claude.rs | 408 +++++++++++++++++- .../__tests__/stores/multi-tab-merge.test.ts | 50 +++ apps/desktop/src/stores/claude-chat-store.ts | 42 ++ 3 files changed, 479 insertions(+), 21 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index f121c5f..28ca7a2 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1981,6 +1981,26 @@ struct DirectToolOutput { is_error: bool, } +struct DirectChatResponse { + message: serde_json::Value, + content: String, + tool_calls: Vec, + usage: serde_json::Value, + streamed_text: bool, +} + +#[derive(Default)] +struct DirectStreamingToolCall { + id: Option, + name: String, + arguments: String, +} + +struct DirectStreamFailure { + message: String, + can_retry_non_streaming: bool, +} + fn emit_direct_output(window: &WebviewWindow, tab_id: &str, event: &serde_json::Value) { let _ = window.emit( "claude-output", @@ -2736,6 +2756,17 @@ async fn execute_direct_provider_tool( } } +fn parse_direct_tool_arguments(arguments: &serde_json::Value) -> serde_json::Value { + if let Some(arguments) = arguments.as_str() { + return serde_json::from_str::(arguments) + .unwrap_or_else(|_| json!({ "_raw_arguments": arguments })); + } + if arguments.is_object() { + return arguments.clone(); + } + json!({}) +} + fn parse_direct_tool_calls(response: &serde_json::Value) -> Vec { response .pointer("/choices/0/message/tool_calls") @@ -2751,12 +2782,10 @@ fn parse_direct_tool_calls(response: &serde_json::Value) -> Vec .and_then(|v| v.as_str()) .map(|value| value.to_string()) .unwrap_or_else(|| format!("toolu_{}", idx + 1)); - let arguments = call + let input = call .pointer("/function/arguments") - .and_then(|v| v.as_str()) - .unwrap_or("{}"); - let input = serde_json::from_str::(arguments) - .unwrap_or_else(|_| json!({ "_raw_arguments": arguments })); + .map(parse_direct_tool_arguments) + .unwrap_or_else(|| json!({})); Some(DirectToolCall { id, name, input }) }) .collect() @@ -2785,11 +2814,153 @@ fn direct_assistant_content(response: &serde_json::Value) -> String { String::new() } +fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatResponse { + let content = direct_assistant_content(&response); + let tool_calls = parse_direct_tool_calls(&response); + let usage = json_usage(&response); + let message = response + .pointer("/choices/0/message") + .cloned() + .unwrap_or_else(|| json!({ "role": "assistant", "content": content.clone() })); + DirectChatResponse { + message, + content, + tool_calls, + usage, + streamed_text: false, + } +} + +fn direct_stream_text_delta(delta: &serde_json::Value) -> String { + let Some(content) = delta.get("content") else { + return String::new(); + }; + if let Some(text) = content.as_str() { + return text.to_string(); + } + if let Some(parts) = content.as_array() { + return parts + .iter() + .filter_map(|part| { + part.get("text") + .and_then(|v| v.as_str()) + .or_else(|| part.get("content").and_then(|v| v.as_str())) + }) + .collect::>() + .join(""); + } + String::new() +} + +fn emit_direct_streaming_delta(window: &WebviewWindow, tab_id: &str, text: &str) { + if text.is_empty() { + return; + } + emit_direct_output( + window, + tab_id, + &json!({ + "type": "assistant", + "subtype": "streaming_delta", + "message": { + "content": [{ "type": "text", "text": text }], + }, + }), + ); +} + +fn direct_tool_calls_from_stream( + calls: HashMap, +) -> Vec { + let mut indexed = calls.into_iter().collect::>(); + indexed.sort_by_key(|(idx, _)| *idx); + indexed + .into_iter() + .filter_map(|(idx, call)| { + if call.name.trim().is_empty() { + return None; + } + let id = call.id.unwrap_or_else(|| format!("toolu_stream_{}", idx + 1)); + let input = serde_json::from_str::(&call.arguments) + .unwrap_or_else(|_| json!({ "_raw_arguments": call.arguments })); + Some(DirectToolCall { + id, + name: call.name, + input, + }) + }) + .collect() +} + +fn direct_message_from_parts(content: &str, tool_calls: &[DirectToolCall]) -> serde_json::Value { + let mut message = json!({ + "role": "assistant", + "content": if content.trim().is_empty() { + serde_json::Value::Null + } else { + json!(content) + }, + }); + if !tool_calls.is_empty() { + if let Some(object) = message.as_object_mut() { + object.insert( + "tool_calls".to_string(), + json!( + tool_calls + .iter() + .map(|tool_call| json!({ + "id": tool_call.id, + "type": "function", + "function": { + "name": tool_call.name, + "arguments": tool_call.input.to_string(), + }, + })) + .collect::>() + ), + ); + } + } + message +} + async fn send_openai_compatible_chat_request( client: &reqwest::Client, credential: &StoredOpenAiCompatibleCredential, messages: &[serde_json::Value], -) -> Result { + window: &WebviewWindow, + tab_id: &str, + state: &ClaudeProcessState, + process_key: &str, +) -> Result { + match send_openai_compatible_streaming_chat_request( + client, + credential, + messages, + window, + tab_id, + state, + process_key, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_non_streaming => { + eprintln!( + "[direct-provider] streaming request failed, retrying non-streaming: {}", + err.message + ); + send_openai_compatible_non_streaming_chat_request(client, credential, messages).await + } + Err(err) => Err(err.message), + } +} + +async fn send_openai_compatible_non_streaming_chat_request( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], +) -> Result { let mut request_body = json!({ "model": credential.model.clone(), "messages": messages, @@ -2819,8 +2990,142 @@ async fn send_openai_compatible_chat_request( return Err(format!("Provider returned HTTP {}: {}", status, response_text)); } - serde_json::from_str(&response_text) - .map_err(|err| format!("Provider returned invalid JSON: {}", err)) + let response = serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid JSON: {}", err))?; + Ok(direct_chat_response_from_value(response)) +} + +async fn send_openai_compatible_streaming_chat_request( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], + window: &WebviewWindow, + tab_id: &str, + state: &ClaudeProcessState, + process_key: &str, +) -> Result { + let mut request_body = json!({ + "model": credential.model.clone(), + "messages": messages, + "stream": true, + }); + if let Some(object) = request_body.as_object_mut() { + object.insert("tools".to_string(), direct_provider_tools()); + object.insert("tool_choice".to_string(), json!("auto")); + } + + let mut response = client + .post(openai_chat_completions_url(&credential.base_url)) + .bearer_auth(&credential.api_key) + .header("Content-Type", "application/json") + .body(request_body.to_string()) + .send() + .await + .map_err(|err| DirectStreamFailure { + message: format!("Provider request failed: {}", err), + can_retry_non_streaming: true, + })?; + + let status = response.status(); + if !status.is_success() { + let response_text = response.text().await.unwrap_or_default(); + return Err(DirectStreamFailure { + message: format!("Provider returned HTTP {}: {}", status, response_text), + can_retry_non_streaming: true, + }); + } + + let mut buffer = String::new(); + let mut content = String::new(); + let mut tool_calls: HashMap = HashMap::new(); + let mut usage = json!({ "input_tokens": 0, "output_tokens": 0 }); + let mut streamed_text = false; + + while let Some(chunk) = response.chunk().await.map_err(|err| DirectStreamFailure { + message: format!("Failed to read provider stream: {}", err), + can_retry_non_streaming: false, + })? { + if direct_provider_cancelled(state, process_key).await { + return Err(DirectStreamFailure { + message: "Direct provider request cancelled".to_string(), + can_retry_non_streaming: false, + }); + } + buffer.push_str(&String::from_utf8_lossy(&chunk)); + while let Some(pos) = buffer.find('\n') { + let line = buffer[..pos].trim_end_matches('\r').trim().to_string(); + buffer = buffer[pos + 1..].to_string(); + if line.is_empty() || !line.starts_with("data:") { + continue; + } + let data = line.trim_start_matches("data:").trim(); + if data == "[DONE]" { + let tool_calls = direct_tool_calls_from_stream(tool_calls); + let message = direct_message_from_parts(&content, &tool_calls); + return Ok(DirectChatResponse { + message, + content, + tool_calls, + usage, + streamed_text, + }); + } + + let value = serde_json::from_str::(data).map_err(|err| { + DirectStreamFailure { + message: format!("Provider returned invalid stream JSON: {}", err), + can_retry_non_streaming: false, + } + })?; + if value.get("usage").is_some() { + usage = json_usage(&value); + } + let Some(delta) = value.pointer("/choices/0/delta") else { + continue; + }; + + let text_delta = direct_stream_text_delta(delta); + if !text_delta.is_empty() { + content.push_str(&text_delta); + streamed_text = true; + emit_direct_streaming_delta(window, tab_id, &text_delta); + } + + if let Some(calls) = delta.get("tool_calls").and_then(|v| v.as_array()) { + for (fallback_idx, call) in calls.iter().enumerate() { + let idx = call + .get("index") + .and_then(|v| v.as_u64()) + .and_then(|v| usize::try_from(v).ok()) + .unwrap_or(fallback_idx); + let entry = tool_calls.entry(idx).or_default(); + if let Some(id) = call.get("id").and_then(|v| v.as_str()) { + if !id.is_empty() { + entry.id = Some(id.to_string()); + } + } + if let Some(name) = call.pointer("/function/name").and_then(|v| v.as_str()) { + entry.name.push_str(name); + } + if let Some(arguments) = + call.pointer("/function/arguments").and_then(|v| v.as_str()) + { + entry.arguments.push_str(arguments); + } + } + } + } + } + + let tool_calls = direct_tool_calls_from_stream(tool_calls); + let message = direct_message_from_parts(&content, &tool_calls); + Ok(DirectChatResponse { + message, + content, + tool_calls, + usage, + streamed_text, + }) } async fn execute_openai_compatible_provider( @@ -2916,11 +3221,18 @@ async fn execute_openai_compatible_provider( &client, &credential, &request_messages, + &window, + &tab_id, + &state, + &process_key, ) .await { Ok(value) => value, Err(err) => { + if direct_provider_cancelled(&state, &process_key).await { + return Ok(()); + } emit_direct_error(&window, &tab_id, err); emit_direct_complete(&window, &tab_id, false); return Ok(()); @@ -2931,9 +3243,9 @@ async fn execute_openai_compatible_provider( return Ok(()); } - let content = direct_assistant_content(&response); - let tool_calls = parse_direct_tool_calls(&response); - let usage = json_usage(&response); + let content = response.content; + let tool_calls = response.tool_calls; + let usage = response.usage; final_usage = usage.clone(); let mut content_blocks = Vec::new(); @@ -2956,13 +3268,18 @@ async fn execute_openai_compatible_provider( return Ok(()); } - let assistant_event = json!({ + let mut assistant_event = json!({ "type": "assistant", "message": { "content": content_blocks, "usage": usage.clone(), }, }); + if response.streamed_text { + if let Some(object) = assistant_event.as_object_mut() { + object.insert("subtype".to_string(), json!("streaming_final")); + } + } emit_and_persist_direct_output( &window, &project_path, @@ -2971,15 +3288,7 @@ async fn execute_openai_compatible_provider( &assistant_event, ); - let assistant_message = response - .pointer("/choices/0/message") - .cloned() - .unwrap_or_else(|| { - json!({ - "role": "assistant", - "content": content.clone(), - }) - }); + let assistant_message = response.message; request_messages.push(assistant_message.clone()); messages.push(assistant_message); @@ -3922,6 +4231,63 @@ mod tests { assert!(!glob.content.contains("notes.md")); } + #[test] + fn test_direct_provider_parses_tool_arguments_string_and_object() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "content": null, + "tool_calls": [ + { + "id": "call-1", + "type": "function", + "function": { + "name": "Read", + "arguments": "{\"file_path\":\"main.tex\"}" + } + }, + { + "id": "call-2", + "type": "function", + "function": { + "name": "Grep", + "arguments": { "pattern": "Intro", "glob": "*.tex" } + } + } + ] + } + }] + }); + + let calls = parse_direct_tool_calls(&response); + assert_eq!(calls.len(), 2); + assert_eq!(calls[0].input["file_path"], "main.tex"); + assert_eq!(calls[1].input["pattern"], "Intro"); + } + + #[test] + fn test_direct_provider_reconstructs_streamed_tool_calls() { + let mut calls = HashMap::new(); + calls.insert( + 0, + DirectStreamingToolCall { + id: Some("call-1".to_string()), + name: "Read".to_string(), + arguments: "{\"file_path\":\"main.tex\"}".to_string(), + }, + ); + + let calls = direct_tool_calls_from_stream(calls); + let message = direct_message_from_parts("Checking the file", &calls); + + assert_eq!(calls.len(), 1); + assert_eq!(calls[0].name, "Read"); + assert_eq!(calls[0].input["file_path"], "main.tex"); + assert_eq!(message["content"], "Checking the file"); + assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); + } + // --- claude_required_dirs --- #[cfg(not(target_os = "windows"))] diff --git a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts index 6f743e1..650b587 100644 --- a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts +++ b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts @@ -271,6 +271,56 @@ describe("Multi-tab merge triggers", () => { expect(state.messages).toHaveLength(0); }); + it("_appendMessage merges direct provider streaming deltas", () => { + const chat = useClaudeChatStore.getState(); + + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_delta", + message: { content: [{ type: "text", text: "Hello" }] }, + }); + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_delta", + message: { content: [{ type: "text", text: " world" }] }, + }); + + const messages = useClaudeChatStore.getState().messages; + expect(messages).toHaveLength(1); + expect(messages[0].message?.content?.[0].text).toBe("Hello world"); + }); + + it("_appendMessage replaces streaming deltas with final direct provider message", () => { + const chat = useClaudeChatStore.getState(); + + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_delta", + message: { content: [{ type: "text", text: "Draft" }] }, + }); + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_final", + message: { + content: [ + { type: "text", text: "Final" }, + { + type: "tool_use", + id: "tool-1", + name: "Read", + input: { file_path: "main.tex" }, + }, + ], + }, + }); + + const messages = useClaudeChatStore.getState().messages; + expect(messages).toHaveLength(1); + expect(messages[0].subtype).toBe("streaming_final"); + expect(messages[0].message?.content?.[0].text).toBe("Final"); + expect(messages[0].message?.content?.[1].type).toBe("tool_use"); + }); + it("_setSessionId routes to the specified tab", () => { const chat = useClaudeChatStore.getState(); const tabB = chat.createTab(); diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index bdcd818..36414bf 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -589,6 +589,48 @@ export const useClaudeChatStore = create()((set, get) => ({ const tab = state.tabs.find((t) => t.id === tabId); if (!tab) return {}; + if (msg.type === "assistant" && msg.subtype === "streaming_delta") { + const last = tab.messages[tab.messages.length - 1]; + if (last?.type === "assistant" && last.subtype === "streaming_delta") { + const existing = last.message?.content ?? []; + const incoming = msg.message?.content ?? []; + const existingText = existing.find((block) => block.type === "text"); + const incomingText = incoming.find((block) => block.type === "text"); + if (existingText && incomingText?.text) { + const merged: ClaudeStreamMessage = { + ...last, + message: { + ...last.message, + content: existing.map((block) => + block === existingText + ? { + ...block, + text: `${block.text ?? ""}${incomingText.text}`, + } + : block, + ), + }, + }; + return applyTabUpdate(state, tabId, { + messages: [...tab.messages.slice(0, -1), merged], + totalInputTokens: tab.totalInputTokens + inputDelta, + totalOutputTokens: tab.totalOutputTokens + outputDelta, + }); + } + } + } + + if (msg.type === "assistant" && msg.subtype === "streaming_final") { + const last = tab.messages[tab.messages.length - 1]; + if (last?.type === "assistant" && last.subtype === "streaming_delta") { + return applyTabUpdate(state, tabId, { + messages: [...tab.messages.slice(0, -1), msg], + totalInputTokens: tab.totalInputTokens + inputDelta, + totalOutputTokens: tab.totalOutputTokens + outputDelta, + }); + } + } + return applyTabUpdate(state, tabId, { messages: [...tab.messages, msg], totalInputTokens: tab.totalInputTokens + inputDelta, From b059e3bb0793bcaac148f814c353c068ef5037b4 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:39:12 +0800 Subject: [PATCH 007/118] Fallback when compatible providers reject tools --- apps/desktop/src-tauri/src/claude.rs | 292 ++++++++++++++++++++++++--- 1 file changed, 268 insertions(+), 24 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 28ca7a2..82cc925 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1816,6 +1816,18 @@ fn direct_provider_system_prompt() -> String { .join("\n") } +fn direct_provider_no_tools_system_prompt() -> String { + [ + "You are an AI assistant integrated into ClaudePrism, a LaTeX document editor.", + "Help the user write, revise, and reason about academic documents.", + "Preserve existing LaTeX structure unless the user asks for a rewrite.", + "Use proper LaTeX sectioning, citations, labels, references, and bibliography conventions.", + "This provider endpoint does not support tool calls in ClaudePrism. Do not claim to read, edit, or run files directly.", + "When file changes are needed, provide precise patches, replacement snippets, or step-by-step commands for the user.", + ] + .join("\n") +} + fn direct_provider_tools() -> serde_json::Value { json!([ { @@ -1999,6 +2011,7 @@ struct DirectStreamingToolCall { struct DirectStreamFailure { message: String, can_retry_non_streaming: bool, + can_retry_without_tools: bool, } fn emit_direct_output(window: &WebviewWindow, tab_id: &str, event: &serde_json::Value) { @@ -2924,6 +2937,113 @@ fn direct_message_from_parts(content: &str, tool_calls: &[DirectToolCall]) -> se message } +fn provider_error_allows_toolless_retry(status: reqwest::StatusCode, body: &str) -> bool { + if !(status == reqwest::StatusCode::BAD_REQUEST + || status == reqwest::StatusCode::UNPROCESSABLE_ENTITY + || status == reqwest::StatusCode::NOT_FOUND + || status == reqwest::StatusCode::METHOD_NOT_ALLOWED) + { + return false; + } + let body = body.to_ascii_lowercase(); + body.contains("tool") + || body.contains("tools") + || body.contains("function") + || body.contains("tool_choice") + || body.contains("unsupported parameter") + || body.contains("unknown parameter") +} + +fn add_direct_request_tooling(request_body: &mut serde_json::Value, use_tools: bool) { + if !use_tools { + return; + } + if let Some(object) = request_body.as_object_mut() { + object.insert("tools".to_string(), direct_provider_tools()); + object.insert("tool_choice".to_string(), json!("auto")); + } +} + +fn direct_messages_for_tool_capability( + messages: &[serde_json::Value], + use_tools: bool, +) -> Vec { + if use_tools { + return messages.to_vec(); + } + + let mut messages = messages.to_vec(); + for message in &mut messages { + let role = message.get("role").and_then(|v| v.as_str()); + if role == Some("system") { + if let Some(object) = message.as_object_mut() { + object.insert( + "content".to_string(), + json!(direct_provider_no_tools_system_prompt()), + ); + } + break; + } + } + + if !messages + .iter() + .any(|message| message.get("role").and_then(|v| v.as_str()) == Some("system")) + { + messages.insert( + 0, + json!({ + "role": "system", + "content": direct_provider_no_tools_system_prompt(), + }), + ); + } + + let mut sanitized = Vec::new(); + for mut message in messages { + match message.get("role").and_then(|v| v.as_str()) { + Some("assistant") => { + if let Some(object) = message.as_object_mut() { + object.remove("tool_calls"); + if object.get("content").map(|v| v.is_null()).unwrap_or(false) { + object.insert( + "content".to_string(), + json!("[Assistant requested a tool call, but this provider endpoint does not support tool calls.]"), + ); + } + } + sanitized.push(message); + } + Some("tool") => { + let tool_call_id = message + .get("tool_call_id") + .and_then(|v| v.as_str()) + .unwrap_or("unknown"); + let content = message + .get("content") + .and_then(|v| v.as_str()) + .map(|v| v.to_string()) + .unwrap_or_else(|| { + message + .get("content") + .map(|v| v.to_string()) + .unwrap_or_default() + }); + sanitized.push(json!({ + "role": "user", + "content": format!( + "[Previous tool result {}]\n{}", + tool_call_id, + content + ), + })); + } + _ => sanitized.push(message), + } + } + sanitized +} + async fn send_openai_compatible_chat_request( client: &reqwest::Client, credential: &StoredOpenAiCompatibleCredential, @@ -2934,13 +3054,7 @@ async fn send_openai_compatible_chat_request( process_key: &str, ) -> Result { match send_openai_compatible_streaming_chat_request( - client, - credential, - messages, - window, - tab_id, - state, - process_key, + client, credential, messages, window, tab_id, state, process_key, true, ) .await { @@ -2950,26 +3064,81 @@ async fn send_openai_compatible_chat_request( "[direct-provider] streaming request failed, retrying non-streaming: {}", err.message ); - send_openai_compatible_non_streaming_chat_request(client, credential, messages).await + match send_openai_compatible_non_streaming_chat_request( + client, credential, messages, true, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_without_tools => { + eprintln!( + "[direct-provider] provider rejected tools, retrying without tools: {}", + err.message + ); + send_openai_compatible_without_tools( + client, credential, messages, window, tab_id, state, process_key, + ) + .await + } + Err(err) => Err(err.message), + } + } + Err(err) if err.can_retry_without_tools => { + eprintln!( + "[direct-provider] provider rejected streaming tools, retrying without tools: {}", + err.message + ); + send_openai_compatible_without_tools( + client, credential, messages, window, tab_id, state, process_key, + ) + .await } Err(err) => Err(err.message), } } +async fn send_openai_compatible_without_tools( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], + window: &WebviewWindow, + tab_id: &str, + state: &ClaudeProcessState, + process_key: &str, +) -> Result { + match send_openai_compatible_streaming_chat_request( + client, credential, messages, window, tab_id, state, process_key, false, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_non_streaming => { + send_openai_compatible_non_streaming_chat_request(client, credential, messages, false) + .await + .map_err(|err| err.message) + } + Err(err) => Err(err.message), + } +} + +struct DirectProviderRequestFailure { + message: String, + can_retry_without_tools: bool, +} + async fn send_openai_compatible_non_streaming_chat_request( client: &reqwest::Client, credential: &StoredOpenAiCompatibleCredential, messages: &[serde_json::Value], -) -> Result { + use_tools: bool, +) -> Result { + let request_messages = direct_messages_for_tool_capability(messages, use_tools); let mut request_body = json!({ "model": credential.model.clone(), - "messages": messages, + "messages": request_messages, "stream": false, }); - if let Some(object) = request_body.as_object_mut() { - object.insert("tools".to_string(), direct_provider_tools()); - object.insert("tool_choice".to_string(), json!("auto")); - } + add_direct_request_tooling(&mut request_body, use_tools); let response = client .post(openai_chat_completions_url(&credential.base_url)) @@ -2978,20 +3147,33 @@ async fn send_openai_compatible_non_streaming_chat_request( .body(request_body.to_string()) .send() .await - .map_err(|err| format!("Provider request failed: {}", err))?; + .map_err(|err| DirectProviderRequestFailure { + message: format!("Provider request failed: {}", err), + can_retry_without_tools: false, + })?; let status = response.status(); let response_text = response .text() .await - .map_err(|err| format!("Failed to read provider response: {}", err))?; + .map_err(|err| DirectProviderRequestFailure { + message: format!("Failed to read provider response: {}", err), + can_retry_without_tools: false, + })?; if !status.is_success() { - return Err(format!("Provider returned HTTP {}: {}", status, response_text)); + return Err(DirectProviderRequestFailure { + message: format!("Provider returned HTTP {}: {}", status, response_text), + can_retry_without_tools: provider_error_allows_toolless_retry(status, &response_text), + }); } - let response = serde_json::from_str(&response_text) - .map_err(|err| format!("Provider returned invalid JSON: {}", err))?; + let response = serde_json::from_str(&response_text).map_err(|err| { + DirectProviderRequestFailure { + message: format!("Provider returned invalid JSON: {}", err), + can_retry_without_tools: false, + } + })?; Ok(direct_chat_response_from_value(response)) } @@ -3003,16 +3185,15 @@ async fn send_openai_compatible_streaming_chat_request( tab_id: &str, state: &ClaudeProcessState, process_key: &str, + use_tools: bool, ) -> Result { + let request_messages = direct_messages_for_tool_capability(messages, use_tools); let mut request_body = json!({ "model": credential.model.clone(), - "messages": messages, + "messages": request_messages, "stream": true, }); - if let Some(object) = request_body.as_object_mut() { - object.insert("tools".to_string(), direct_provider_tools()); - object.insert("tool_choice".to_string(), json!("auto")); - } + add_direct_request_tooling(&mut request_body, use_tools); let mut response = client .post(openai_chat_completions_url(&credential.base_url)) @@ -3024,6 +3205,7 @@ async fn send_openai_compatible_streaming_chat_request( .map_err(|err| DirectStreamFailure { message: format!("Provider request failed: {}", err), can_retry_non_streaming: true, + can_retry_without_tools: false, })?; let status = response.status(); @@ -3032,6 +3214,7 @@ async fn send_openai_compatible_streaming_chat_request( return Err(DirectStreamFailure { message: format!("Provider returned HTTP {}: {}", status, response_text), can_retry_non_streaming: true, + can_retry_without_tools: provider_error_allows_toolless_retry(status, &response_text), }); } @@ -3044,11 +3227,13 @@ async fn send_openai_compatible_streaming_chat_request( while let Some(chunk) = response.chunk().await.map_err(|err| DirectStreamFailure { message: format!("Failed to read provider stream: {}", err), can_retry_non_streaming: false, + can_retry_without_tools: false, })? { if direct_provider_cancelled(state, process_key).await { return Err(DirectStreamFailure { message: "Direct provider request cancelled".to_string(), can_retry_non_streaming: false, + can_retry_without_tools: false, }); } buffer.push_str(&String::from_utf8_lossy(&chunk)); @@ -3075,6 +3260,7 @@ async fn send_openai_compatible_streaming_chat_request( DirectStreamFailure { message: format!("Provider returned invalid stream JSON: {}", err), can_retry_non_streaming: false, + can_retry_without_tools: false, } })?; if value.get("usage").is_some() { @@ -4288,6 +4474,64 @@ mod tests { assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); } + #[test] + fn test_direct_provider_detects_tool_unsupported_errors() { + assert!(provider_error_allows_toolless_retry( + reqwest::StatusCode::BAD_REQUEST, + "unknown parameter: tools" + )); + assert!(provider_error_allows_toolless_retry( + reqwest::StatusCode::UNPROCESSABLE_ENTITY, + "tool_choice is not supported" + )); + assert!(!provider_error_allows_toolless_retry( + reqwest::StatusCode::UNAUTHORIZED, + "invalid api key" + )); + } + + #[test] + fn test_direct_provider_no_tools_prompt_replaces_system_message() { + let messages = vec![ + json!({ "role": "system", "content": direct_provider_system_prompt() }), + json!({ "role": "user", "content": "Please edit main.tex" }), + ]; + + let no_tools = direct_messages_for_tool_capability(&messages, false); + let content = no_tools[0]["content"].as_str().unwrap(); + + assert!(content.contains("does not support tool calls")); + assert!(!content.contains("You can inspect and edit files through the provided tools")); + assert_eq!(no_tools[1]["content"], "Please edit main.tex"); + } + + #[test] + fn test_direct_provider_no_tools_sanitizes_tool_history() { + let messages = vec![ + json!({ "role": "system", "content": direct_provider_system_prompt() }), + json!({ + "role": "assistant", + "content": null, + "tool_calls": [{ + "id": "call-1", + "type": "function", + "function": { "name": "Read", "arguments": "{\"file_path\":\"main.tex\"}" } + }] + }), + json!({ "role": "tool", "tool_call_id": "call-1", "content": "main.tex contents" }), + ]; + + let no_tools = direct_messages_for_tool_capability(&messages, false); + + assert!(no_tools[1].get("tool_calls").is_none()); + assert_eq!(no_tools[1]["role"], "assistant"); + assert_eq!(no_tools[2]["role"], "user"); + assert!(no_tools[2]["content"] + .as_str() + .unwrap() + .contains("Previous tool result call-1")); + } + // --- claude_required_dirs --- #[cfg(not(target_os = "windows"))] From 3a45b0a4ad3b1204af1566c82bc838ecc4e3dc3b Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:45:55 +0800 Subject: [PATCH 008/118] Surface compatible provider reasoning content --- apps/desktop/src-tauri/src/claude.rs | 146 +++++++++++++++++- .../__tests__/stores/multi-tab-merge.test.ts | 33 ++++ apps/desktop/src/stores/claude-chat-store.ts | 48 ++++-- 3 files changed, 208 insertions(+), 19 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 82cc925..54749fb 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1996,6 +1996,7 @@ struct DirectToolOutput { struct DirectChatResponse { message: serde_json::Value, content: String, + reasoning: String, tool_calls: Vec, usage: serde_json::Value, streamed_text: bool, @@ -2827,8 +2828,41 @@ fn direct_assistant_content(response: &serde_json::Value) -> String { String::new() } +fn direct_assistant_reasoning(response: &serde_json::Value) -> String { + let Some(message) = response.pointer("/choices/0/message") else { + return String::new(); + }; + + for key in ["reasoning_content", "reasoning", "reasoning_text"] { + if let Some(text) = message.get(key).and_then(|v| v.as_str()) { + return text.to_string(); + } + } + + if let Some(parts) = message.get("content").and_then(|v| v.as_array()) { + return parts + .iter() + .filter(|part| { + matches!( + part.get("type").and_then(|v| v.as_str()), + Some("reasoning") | Some("thinking") | Some("reasoning_text") + ) + }) + .filter_map(|part| { + part.get("text") + .and_then(|v| v.as_str()) + .or_else(|| part.get("content").and_then(|v| v.as_str())) + }) + .collect::>() + .join("\n\n"); + } + + String::new() +} + fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatResponse { let content = direct_assistant_content(&response); + let reasoning = direct_assistant_reasoning(&response); let tool_calls = parse_direct_tool_calls(&response); let usage = json_usage(&response); let message = response @@ -2838,6 +2872,7 @@ fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatRes DirectChatResponse { message, content, + reasoning, tool_calls, usage, streamed_text: false, @@ -2865,10 +2900,50 @@ fn direct_stream_text_delta(delta: &serde_json::Value) -> String { String::new() } -fn emit_direct_streaming_delta(window: &WebviewWindow, tab_id: &str, text: &str) { - if text.is_empty() { +fn direct_stream_reasoning_delta(delta: &serde_json::Value) -> String { + for key in ["reasoning_content", "reasoning", "reasoning_text"] { + if let Some(text) = delta.get(key).and_then(|v| v.as_str()) { + return text.to_string(); + } + } + + if let Some(parts) = delta.get("content").and_then(|v| v.as_array()) { + return parts + .iter() + .filter(|part| { + matches!( + part.get("type").and_then(|v| v.as_str()), + Some("reasoning") | Some("thinking") | Some("reasoning_text") + ) + }) + .filter_map(|part| { + part.get("text") + .and_then(|v| v.as_str()) + .or_else(|| part.get("content").and_then(|v| v.as_str())) + }) + .collect::>() + .join(""); + } + + String::new() +} + +fn emit_direct_streaming_delta( + window: &WebviewWindow, + tab_id: &str, + text: &str, + reasoning: &str, +) { + if text.is_empty() && reasoning.is_empty() { return; } + let mut blocks = Vec::new(); + if !reasoning.is_empty() { + blocks.push(json!({ "type": "thinking", "thinking": reasoning })); + } + if !text.is_empty() { + blocks.push(json!({ "type": "text", "text": text })); + } emit_direct_output( window, tab_id, @@ -2876,7 +2951,7 @@ fn emit_direct_streaming_delta(window: &WebviewWindow, tab_id: &str, text: &str) "type": "assistant", "subtype": "streaming_delta", "message": { - "content": [{ "type": "text", "text": text }], + "content": blocks, }, }), ); @@ -2905,7 +2980,11 @@ fn direct_tool_calls_from_stream( .collect() } -fn direct_message_from_parts(content: &str, tool_calls: &[DirectToolCall]) -> serde_json::Value { +fn direct_message_from_parts( + content: &str, + reasoning: &str, + tool_calls: &[DirectToolCall], +) -> serde_json::Value { let mut message = json!({ "role": "assistant", "content": if content.trim().is_empty() { @@ -2914,6 +2993,11 @@ fn direct_message_from_parts(content: &str, tool_calls: &[DirectToolCall]) -> se json!(content) }, }); + if !reasoning.trim().is_empty() { + if let Some(object) = message.as_object_mut() { + object.insert("reasoning_content".to_string(), json!(reasoning)); + } + } if !tool_calls.is_empty() { if let Some(object) = message.as_object_mut() { object.insert( @@ -3220,6 +3304,7 @@ async fn send_openai_compatible_streaming_chat_request( let mut buffer = String::new(); let mut content = String::new(); + let mut reasoning = String::new(); let mut tool_calls: HashMap = HashMap::new(); let mut usage = json!({ "input_tokens": 0, "output_tokens": 0 }); let mut streamed_text = false; @@ -3246,10 +3331,11 @@ async fn send_openai_compatible_streaming_chat_request( let data = line.trim_start_matches("data:").trim(); if data == "[DONE]" { let tool_calls = direct_tool_calls_from_stream(tool_calls); - let message = direct_message_from_parts(&content, &tool_calls); + let message = direct_message_from_parts(&content, &reasoning, &tool_calls); return Ok(DirectChatResponse { message, content, + reasoning, tool_calls, usage, streamed_text, @@ -3271,11 +3357,16 @@ async fn send_openai_compatible_streaming_chat_request( }; let text_delta = direct_stream_text_delta(delta); + let reasoning_delta = direct_stream_reasoning_delta(delta); if !text_delta.is_empty() { content.push_str(&text_delta); streamed_text = true; - emit_direct_streaming_delta(window, tab_id, &text_delta); } + if !reasoning_delta.is_empty() { + reasoning.push_str(&reasoning_delta); + streamed_text = true; + } + emit_direct_streaming_delta(window, tab_id, &text_delta, &reasoning_delta); if let Some(calls) = delta.get("tool_calls").and_then(|v| v.as_array()) { for (fallback_idx, call) in calls.iter().enumerate() { @@ -3304,10 +3395,11 @@ async fn send_openai_compatible_streaming_chat_request( } let tool_calls = direct_tool_calls_from_stream(tool_calls); - let message = direct_message_from_parts(&content, &tool_calls); + let message = direct_message_from_parts(&content, &reasoning, &tool_calls); Ok(DirectChatResponse { message, content, + reasoning, tool_calls, usage, streamed_text, @@ -3430,11 +3522,18 @@ async fn execute_openai_compatible_provider( } let content = response.content; + let reasoning = response.reasoning; let tool_calls = response.tool_calls; let usage = response.usage; final_usage = usage.clone(); let mut content_blocks = Vec::new(); + if !reasoning.trim().is_empty() { + content_blocks.push(json!({ + "type": "thinking", + "thinking": reasoning, + })); + } if !content.trim().is_empty() { content_blocks.push(json!({ "type": "text", "text": content.clone() })); } @@ -4465,15 +4564,46 @@ mod tests { ); let calls = direct_tool_calls_from_stream(calls); - let message = direct_message_from_parts("Checking the file", &calls); + let message = direct_message_from_parts("Checking the file", "Thinking aloud", &calls); assert_eq!(calls.len(), 1); assert_eq!(calls[0].name, "Read"); assert_eq!(calls[0].input["file_path"], "main.tex"); assert_eq!(message["content"], "Checking the file"); + assert_eq!(message["reasoning_content"], "Thinking aloud"); assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); } + #[test] + fn test_direct_provider_extracts_reasoning_content() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "reasoning_content": "First reason about structure.", + "content": "Then answer." + } + }] + }); + + assert_eq!( + direct_assistant_reasoning(&response), + "First reason about structure." + ); + assert_eq!(direct_assistant_content(&response), "Then answer."); + } + + #[test] + fn test_direct_provider_extracts_stream_reasoning_delta() { + let delta = json!({ + "reasoning_content": "Step one.", + "content": "Answer part." + }); + + assert_eq!(direct_stream_reasoning_delta(&delta), "Step one."); + assert_eq!(direct_stream_text_delta(&delta), "Answer part."); + } + #[test] fn test_direct_provider_detects_tool_unsupported_errors() { assert!(provider_error_allows_toolless_retry( diff --git a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts index 650b587..e0a6b61 100644 --- a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts +++ b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts @@ -290,6 +290,39 @@ describe("Multi-tab merge triggers", () => { expect(messages[0].message?.content?.[0].text).toBe("Hello world"); }); + it("_appendMessage merges direct provider streaming thinking deltas", () => { + const chat = useClaudeChatStore.getState(); + + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_delta", + message: { + content: [ + { type: "thinking", thinking: "Reason A. " }, + { type: "text", text: "Hello" }, + ], + }, + }); + chat._appendMessage("tab-default", { + type: "assistant", + subtype: "streaming_delta", + message: { + content: [ + { type: "thinking", thinking: "Reason B." }, + { type: "text", text: " world" }, + ], + }, + }); + + const messages = useClaudeChatStore.getState().messages; + expect(messages).toHaveLength(1); + expect(messages[0].message?.content?.[0].type).toBe("thinking"); + expect(messages[0].message?.content?.[0].thinking).toBe( + "Reason A. Reason B.", + ); + expect(messages[0].message?.content?.[1].text).toBe("Hello world"); + }); + it("_appendMessage replaces streaming deltas with final direct provider message", () => { const chat = useClaudeChatStore.getState(); diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 36414bf..99a1b95 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -133,6 +133,41 @@ function applyTabUpdate( // ─── State Interface ─── +function mergeStreamingContent( + existing: ContentBlock[], + incoming: ContentBlock[], +): ContentBlock[] { + let merged = [...existing]; + for (const block of incoming) { + if (block.type === "text" && block.text) { + const idx = merged.findIndex((item) => item.type === "text"); + if (idx >= 0) { + merged = merged.map((item, itemIdx) => + itemIdx === idx + ? { ...item, text: `${item.text ?? ""}${block.text}` } + : item, + ); + } else { + merged.push(block); + } + } else if (block.type === "thinking" && block.thinking) { + const idx = merged.findIndex((item) => item.type === "thinking"); + if (idx >= 0) { + merged = merged.map((item, itemIdx) => + itemIdx === idx + ? { ...item, thinking: `${item.thinking ?? ""}${block.thinking}` } + : item, + ); + } else { + merged.unshift(block); + } + } else { + merged.push(block); + } + } + return merged; +} + const DEFAULT_TAB_ID = nextTabId(); interface ClaudeChatState { @@ -594,21 +629,12 @@ export const useClaudeChatStore = create()((set, get) => ({ if (last?.type === "assistant" && last.subtype === "streaming_delta") { const existing = last.message?.content ?? []; const incoming = msg.message?.content ?? []; - const existingText = existing.find((block) => block.type === "text"); - const incomingText = incoming.find((block) => block.type === "text"); - if (existingText && incomingText?.text) { + if (incoming.length > 0) { const merged: ClaudeStreamMessage = { ...last, message: { ...last.message, - content: existing.map((block) => - block === existingText - ? { - ...block, - text: `${block.text ?? ""}${incomingText.text}`, - } - : block, - ), + content: mergeStreamingContent(existing, incoming), }, }; return applyTabUpdate(state, tabId, { From 5620b37b902eadfbd7d594e354902a81ad2f857d Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 02:59:01 +0800 Subject: [PATCH 009/118] Support legacy function calls for compatible providers --- apps/desktop/src-tauri/src/claude.rs | 415 ++++++++++++++++++++++++--- 1 file changed, 379 insertions(+), 36 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 54749fb..84f90d1 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1955,6 +1955,18 @@ fn direct_provider_tools() -> serde_json::Value { ]) } +fn direct_provider_functions() -> serde_json::Value { + let Some(tools) = direct_provider_tools().as_array().cloned() else { + return json!([]); + }; + json!( + tools + .into_iter() + .filter_map(|tool| tool.get("function").cloned()) + .collect::>() + ) +} + fn openai_chat_completions_url(base_url: &str) -> String { let clean = base_url.trim_end_matches('/'); if clean.ends_with("/chat/completions") { @@ -1986,6 +1998,7 @@ struct DirectToolCall { id: String, name: String, input: serde_json::Value, + legacy_function_call: bool, } struct DirectToolOutput { @@ -2007,6 +2020,7 @@ struct DirectStreamingToolCall { id: Option, name: String, arguments: String, + legacy_function_call: bool, } struct DirectStreamFailure { @@ -2015,6 +2029,13 @@ struct DirectStreamFailure { can_retry_without_tools: bool, } +#[derive(Clone, Copy, PartialEq, Eq)] +enum DirectToolRequestMode { + Tools, + Functions, + None, +} + fn emit_direct_output(window: &WebviewWindow, tab_id: &str, event: &serde_json::Value) { let _ = window.emit( "claude-output", @@ -2782,7 +2803,7 @@ fn parse_direct_tool_arguments(arguments: &serde_json::Value) -> serde_json::Val } fn parse_direct_tool_calls(response: &serde_json::Value) -> Vec { - response + let calls: Vec = response .pointer("/choices/0/message/tool_calls") .and_then(|v| v.as_array()) .map(|calls| { @@ -2800,10 +2821,35 @@ fn parse_direct_tool_calls(response: &serde_json::Value) -> Vec .pointer("/function/arguments") .map(parse_direct_tool_arguments) .unwrap_or_else(|| json!({})); - Some(DirectToolCall { id, name, input }) + Some(DirectToolCall { + id, + name, + input, + legacy_function_call: false, + }) }) .collect() }) + .unwrap_or_default(); + if !calls.is_empty() { + return calls; + } + + response + .pointer("/choices/0/message/function_call") + .and_then(|call| { + let name = call.get("name")?.as_str()?.to_string(); + let input = call + .get("arguments") + .map(parse_direct_tool_arguments) + .unwrap_or_else(|| json!({})); + Some(vec![DirectToolCall { + id: "function_call_1".to_string(), + name, + input, + legacy_function_call: true, + }]) + }) .unwrap_or_default() } @@ -2975,6 +3021,7 @@ fn direct_tool_calls_from_stream( id, name: call.name, input, + legacy_function_call: call.legacy_function_call, }) }) .collect() @@ -2998,7 +3045,17 @@ fn direct_message_from_parts( object.insert("reasoning_content".to_string(), json!(reasoning)); } } - if !tool_calls.is_empty() { + if let Some(tool_call) = tool_calls.iter().find(|tool_call| tool_call.legacy_function_call) { + if let Some(object) = message.as_object_mut() { + object.insert( + "function_call".to_string(), + json!({ + "name": tool_call.name, + "arguments": tool_call.input.to_string(), + }), + ); + } + } else if !tool_calls.is_empty() { if let Some(object) = message.as_object_mut() { object.insert( "tool_calls".to_string(), @@ -3038,21 +3095,112 @@ fn provider_error_allows_toolless_retry(status: reqwest::StatusCode, body: &str) || body.contains("unknown parameter") } -fn add_direct_request_tooling(request_body: &mut serde_json::Value, use_tools: bool) { - if !use_tools { +fn add_direct_request_tooling(request_body: &mut serde_json::Value, mode: DirectToolRequestMode) { + let Some(object) = request_body.as_object_mut() else { return; + }; + match mode { + DirectToolRequestMode::Tools => { + object.insert("tools".to_string(), direct_provider_tools()); + object.insert("tool_choice".to_string(), json!("auto")); + } + DirectToolRequestMode::Functions => { + object.insert("functions".to_string(), direct_provider_functions()); + object.insert("function_call".to_string(), json!("auto")); + } + DirectToolRequestMode::None => {} } - if let Some(object) = request_body.as_object_mut() { - object.insert("tools".to_string(), direct_provider_tools()); - object.insert("tool_choice".to_string(), json!("auto")); +} + +fn direct_messages_for_legacy_functions(messages: Vec) -> Vec { + let mut tool_names: HashMap = HashMap::new(); + let mut converted = Vec::new(); + + for mut message in messages { + match message.get("role").and_then(|v| v.as_str()) { + Some("assistant") => { + if let Some(tool_calls) = message.get("tool_calls").and_then(|v| v.as_array()) { + for tool_call in tool_calls { + if let (Some(id), Some(name)) = ( + tool_call.get("id").and_then(|v| v.as_str()), + tool_call.pointer("/function/name").and_then(|v| v.as_str()), + ) { + tool_names.insert(id.to_string(), name.to_string()); + } + } + + if let Some((name, arguments)) = tool_calls.first().map(|first| { + let name = first + .pointer("/function/name") + .and_then(|v| v.as_str()) + .map(|v| v.to_string()) + .unwrap_or_else(|| "tool".to_string()); + let arguments = first + .pointer("/function/arguments") + .and_then(|v| v.as_str()) + .map(|v| v.to_string()) + .unwrap_or_else(|| { + first + .pointer("/function/arguments") + .map(|v| v.to_string()) + .unwrap_or_else(|| "{}".to_string()) + }); + (name, arguments) + }) { + if let Some(object) = message.as_object_mut() { + object.remove("tool_calls"); + object.insert( + "function_call".to_string(), + json!({ + "name": name, + "arguments": arguments, + }), + ); + if object.get("content").is_none() { + object.insert("content".to_string(), serde_json::Value::Null); + } + } + } + } + converted.push(message); + } + Some("tool") => { + let tool_call_id = message + .get("tool_call_id") + .and_then(|v| v.as_str()) + .unwrap_or(""); + let name = tool_names + .get(tool_call_id) + .cloned() + .unwrap_or_else(|| "tool_result".to_string()); + let content = message + .get("content") + .and_then(|v| v.as_str()) + .map(|v| v.to_string()) + .unwrap_or_else(|| { + message + .get("content") + .map(|v| v.to_string()) + .unwrap_or_default() + }); + converted.push(json!({ + "role": "function", + "name": name, + "content": content, + })); + } + _ => converted.push(message), + } } + + converted } fn direct_messages_for_tool_capability( messages: &[serde_json::Value], - use_tools: bool, + mode: DirectToolRequestMode, ) -> Vec { - if use_tools { + if mode == DirectToolRequestMode::Tools { return messages.to_vec(); } @@ -3061,10 +3209,12 @@ fn direct_messages_for_tool_capability( let role = message.get("role").and_then(|v| v.as_str()); if role == Some("system") { if let Some(object) = message.as_object_mut() { - object.insert( - "content".to_string(), - json!(direct_provider_no_tools_system_prompt()), - ); + let prompt = if mode == DirectToolRequestMode::Functions { + direct_provider_system_prompt() + } else { + direct_provider_no_tools_system_prompt() + }; + object.insert("content".to_string(), json!(prompt)); } break; } @@ -3078,11 +3228,19 @@ fn direct_messages_for_tool_capability( 0, json!({ "role": "system", - "content": direct_provider_no_tools_system_prompt(), + "content": if mode == DirectToolRequestMode::Functions { + direct_provider_system_prompt() + } else { + direct_provider_no_tools_system_prompt() + }, }), ); } + if mode == DirectToolRequestMode::Functions { + return direct_messages_for_legacy_functions(messages); + } + let mut sanitized = Vec::new(); for mut message in messages { match message.get("role").and_then(|v| v.as_str()) { @@ -3138,7 +3296,14 @@ async fn send_openai_compatible_chat_request( process_key: &str, ) -> Result { match send_openai_compatible_streaming_chat_request( - client, credential, messages, window, tab_id, state, process_key, true, + client, + credential, + messages, + window, + tab_id, + state, + process_key, + DirectToolRequestMode::Tools, ) .await { @@ -3149,14 +3314,80 @@ async fn send_openai_compatible_chat_request( err.message ); match send_openai_compatible_non_streaming_chat_request( - client, credential, messages, true, + client, + credential, + messages, + DirectToolRequestMode::Tools, ) .await { Ok(response) => Ok(response), Err(err) if err.can_retry_without_tools => { eprintln!( - "[direct-provider] provider rejected tools, retrying without tools: {}", + "[direct-provider] provider rejected modern tools, retrying legacy functions: {}", + err.message + ); + send_openai_compatible_with_legacy_functions( + client, credential, messages, window, tab_id, state, process_key, + ) + .await + } + Err(err) => Err(err.message), + } + } + Err(err) if err.can_retry_without_tools => { + eprintln!( + "[direct-provider] provider rejected streaming tools, retrying legacy functions: {}", + err.message + ); + send_openai_compatible_with_legacy_functions( + client, credential, messages, window, tab_id, state, process_key, + ) + .await + } + Err(err) => Err(err.message), + } +} + +async fn send_openai_compatible_with_legacy_functions( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], + window: &WebviewWindow, + tab_id: &str, + state: &ClaudeProcessState, + process_key: &str, +) -> Result { + match send_openai_compatible_streaming_chat_request( + client, + credential, + messages, + window, + tab_id, + state, + process_key, + DirectToolRequestMode::Functions, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_non_streaming => { + eprintln!( + "[direct-provider] legacy function streaming failed, retrying non-streaming: {}", + err.message + ); + match send_openai_compatible_non_streaming_chat_request( + client, + credential, + messages, + DirectToolRequestMode::Functions, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_without_tools => { + eprintln!( + "[direct-provider] provider rejected legacy functions, retrying without tools: {}", err.message ); send_openai_compatible_without_tools( @@ -3169,7 +3400,7 @@ async fn send_openai_compatible_chat_request( } Err(err) if err.can_retry_without_tools => { eprintln!( - "[direct-provider] provider rejected streaming tools, retrying without tools: {}", + "[direct-provider] provider rejected legacy function streaming, retrying without tools: {}", err.message ); send_openai_compatible_without_tools( @@ -3191,15 +3422,27 @@ async fn send_openai_compatible_without_tools( process_key: &str, ) -> Result { match send_openai_compatible_streaming_chat_request( - client, credential, messages, window, tab_id, state, process_key, false, + client, + credential, + messages, + window, + tab_id, + state, + process_key, + DirectToolRequestMode::None, ) .await { Ok(response) => Ok(response), Err(err) if err.can_retry_non_streaming => { - send_openai_compatible_non_streaming_chat_request(client, credential, messages, false) - .await - .map_err(|err| err.message) + send_openai_compatible_non_streaming_chat_request( + client, + credential, + messages, + DirectToolRequestMode::None, + ) + .await + .map_err(|err| err.message) } Err(err) => Err(err.message), } @@ -3214,15 +3457,15 @@ async fn send_openai_compatible_non_streaming_chat_request( client: &reqwest::Client, credential: &StoredOpenAiCompatibleCredential, messages: &[serde_json::Value], - use_tools: bool, + mode: DirectToolRequestMode, ) -> Result { - let request_messages = direct_messages_for_tool_capability(messages, use_tools); + let request_messages = direct_messages_for_tool_capability(messages, mode); let mut request_body = json!({ "model": credential.model.clone(), "messages": request_messages, "stream": false, }); - add_direct_request_tooling(&mut request_body, use_tools); + add_direct_request_tooling(&mut request_body, mode); let response = client .post(openai_chat_completions_url(&credential.base_url)) @@ -3269,15 +3512,15 @@ async fn send_openai_compatible_streaming_chat_request( tab_id: &str, state: &ClaudeProcessState, process_key: &str, - use_tools: bool, + mode: DirectToolRequestMode, ) -> Result { - let request_messages = direct_messages_for_tool_capability(messages, use_tools); + let request_messages = direct_messages_for_tool_capability(messages, mode); let mut request_body = json!({ "model": credential.model.clone(), "messages": request_messages, "stream": true, }); - add_direct_request_tooling(&mut request_body, use_tools); + add_direct_request_tooling(&mut request_body, mode); let mut response = client .post(openai_chat_completions_url(&credential.base_url)) @@ -3391,6 +3634,21 @@ async fn send_openai_compatible_streaming_chat_request( } } } + if let Some(function_call) = delta.get("function_call") { + let entry = tool_calls.entry(0).or_default(); + entry.legacy_function_call = true; + if entry.id.is_none() { + entry.id = Some("function_call_1".to_string()); + } + if let Some(name) = function_call.get("name").and_then(|v| v.as_str()) { + entry.name.push_str(name); + } + if let Some(arguments) = + function_call.get("arguments").and_then(|v| v.as_str()) + { + entry.arguments.push_str(arguments); + } + } } } @@ -3593,11 +3851,19 @@ async fn execute_openai_compatible_provider( "content": output.content, "is_error": output.is_error, })); - let tool_message = json!({ - "role": "tool", - "tool_call_id": tool_call.id, - "content": output.content, - }); + let tool_message = if tool_call.legacy_function_call { + json!({ + "role": "function", + "name": tool_call.name, + "content": output.content, + }) + } else { + json!({ + "role": "tool", + "tool_call_id": tool_call.id, + "content": output.content, + }) + }; request_messages.push(tool_message.clone()); messages.push(tool_message); } @@ -4551,6 +4817,30 @@ mod tests { assert_eq!(calls[1].input["pattern"], "Intro"); } + #[test] + fn test_direct_provider_parses_legacy_function_call() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "content": null, + "function_call": { + "name": "Read", + "arguments": "{\"file_path\":\"main.tex\"}" + } + } + }] + }); + + let calls = parse_direct_tool_calls(&response); + + assert_eq!(calls.len(), 1); + assert_eq!(calls[0].id, "function_call_1"); + assert_eq!(calls[0].name, "Read"); + assert_eq!(calls[0].input["file_path"], "main.tex"); + assert!(calls[0].legacy_function_call); + } + #[test] fn test_direct_provider_reconstructs_streamed_tool_calls() { let mut calls = HashMap::new(); @@ -4560,6 +4850,7 @@ mod tests { id: Some("call-1".to_string()), name: "Read".to_string(), arguments: "{\"file_path\":\"main.tex\"}".to_string(), + legacy_function_call: false, }, ); @@ -4574,6 +4865,32 @@ mod tests { assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); } + #[test] + fn test_direct_provider_reconstructs_streamed_legacy_function_call() { + let mut calls = HashMap::new(); + calls.insert( + 0, + DirectStreamingToolCall { + id: Some("function_call_1".to_string()), + name: "Read".to_string(), + arguments: "{\"file_path\":\"main.tex\"}".to_string(), + legacy_function_call: true, + }, + ); + + let calls = direct_tool_calls_from_stream(calls); + let message = direct_message_from_parts("", "", &calls); + + assert_eq!(calls.len(), 1); + assert!(calls[0].legacy_function_call); + assert!(message.get("tool_calls").is_none()); + assert_eq!(message["function_call"]["name"], "Read"); + assert_eq!( + message["function_call"]["arguments"], + "{\"file_path\":\"main.tex\"}" + ); + } + #[test] fn test_direct_provider_extracts_reasoning_content() { let response = json!({ @@ -4627,7 +4944,7 @@ mod tests { json!({ "role": "user", "content": "Please edit main.tex" }), ]; - let no_tools = direct_messages_for_tool_capability(&messages, false); + let no_tools = direct_messages_for_tool_capability(&messages, DirectToolRequestMode::None); let content = no_tools[0]["content"].as_str().unwrap(); assert!(content.contains("does not support tool calls")); @@ -4651,7 +4968,7 @@ mod tests { json!({ "role": "tool", "tool_call_id": "call-1", "content": "main.tex contents" }), ]; - let no_tools = direct_messages_for_tool_capability(&messages, false); + let no_tools = direct_messages_for_tool_capability(&messages, DirectToolRequestMode::None); assert!(no_tools[1].get("tool_calls").is_none()); assert_eq!(no_tools[1]["role"], "assistant"); @@ -4662,6 +4979,32 @@ mod tests { .contains("Previous tool result call-1")); } + #[test] + fn test_direct_provider_legacy_function_messages_convert_tool_history() { + let messages = vec![ + json!({ "role": "system", "content": direct_provider_system_prompt() }), + json!({ + "role": "assistant", + "content": null, + "tool_calls": [{ + "id": "call-1", + "type": "function", + "function": { "name": "Read", "arguments": "{\"file_path\":\"main.tex\"}" } + }] + }), + json!({ "role": "tool", "tool_call_id": "call-1", "content": "main.tex contents" }), + ]; + + let function_messages = + direct_messages_for_tool_capability(&messages, DirectToolRequestMode::Functions); + + assert!(function_messages[1].get("tool_calls").is_none()); + assert_eq!(function_messages[1]["function_call"]["name"], "Read"); + assert_eq!(function_messages[2]["role"], "function"); + assert_eq!(function_messages[2]["name"], "Read"); + assert_eq!(function_messages[2]["content"], "main.tex contents"); + } + // --- claude_required_dirs --- #[cfg(not(target_os = "windows"))] From a157d0c695f3803275ef05d253a022da7480e707 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:08:18 +0800 Subject: [PATCH 010/118] Add OpenAI-compatible provider presets --- apps/desktop/src-tauri/src/claude.rs | 64 +++++++++- apps/desktop/src/components/claude-setup.tsx | 126 +++++++++++++++++-- 2 files changed, 181 insertions(+), 9 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 84f90d1..db96941 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1971,13 +1971,35 @@ fn openai_chat_completions_url(base_url: &str) -> String { let clean = base_url.trim_end_matches('/'); if clean.ends_with("/chat/completions") { clean.to_string() - } else if clean.ends_with("/v1") || clean.ends_with("/openai/v1") { + } else if openai_compatible_base_url_has_chat_root(clean) { format!("{}/chat/completions", clean) } else { format!("{}/v1/chat/completions", clean) } } +fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { + let lower = base_url.to_ascii_lowercase(); + if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { + return true; + } + + let path = lower + .split_once("://") + .and_then(|(_, rest)| rest.split_once('/').map(|(_, path)| path)) + .unwrap_or("") + .trim_matches('/'); + if path.is_empty() { + return false; + } + + let segments = path.split('/').collect::>(); + let last = segments.last().copied().unwrap_or_default(); + matches!(last, "v1" | "v2" | "v3" | "v4" | "beta") + || path.ends_with("/openai") + || path.ends_with("compatible-mode/v1") +} + fn json_usage(value: &serde_json::Value) -> serde_json::Value { let input_tokens = value .pointer("/usage/prompt_tokens") @@ -4555,6 +4577,46 @@ mod tests { } } + #[test] + fn test_openai_chat_completions_url_preserves_full_endpoint() { + assert_eq!( + openai_chat_completions_url("https://open.bigmodel.cn/api/paas/v4/chat/completions"), + "https://open.bigmodel.cn/api/paas/v4/chat/completions" + ); + } + + #[test] + fn test_openai_chat_completions_url_supports_common_provider_roots() { + assert_eq!( + openai_chat_completions_url("https://dashscope.aliyuncs.com/compatible-mode/v1"), + "https://dashscope.aliyuncs.com/compatible-mode/v1/chat/completions" + ); + assert_eq!( + openai_chat_completions_url("https://generativelanguage.googleapis.com/v1beta/openai/"), + "https://generativelanguage.googleapis.com/v1beta/openai/chat/completions" + ); + assert_eq!( + openai_chat_completions_url("https://open.bigmodel.cn/api/paas/v4"), + "https://open.bigmodel.cn/api/paas/v4/chat/completions" + ); + assert_eq!( + openai_chat_completions_url("https://api.deepseek.com"), + "https://api.deepseek.com/chat/completions" + ); + } + + #[test] + fn test_openai_chat_completions_url_keeps_generic_openai_default() { + assert_eq!( + openai_chat_completions_url("https://api.openai.com"), + "https://api.openai.com/v1/chat/completions" + ); + assert_eq!( + openai_chat_completions_url("https://openrouter.ai/api/v1"), + "https://openrouter.ai/api/v1/chat/completions" + ); + } + // --- create_command --- #[test] diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 71f7dc3..153f286 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -25,6 +25,59 @@ import { } from "@/stores/claude-setup-store"; import { cn } from "@/lib/utils"; +type OpenAICompatiblePreset = { + id: string; + label: string; + baseUrl: string; + model: string; + note: string; +}; + +const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ + { + id: "qwen-cn", + label: "Qwen Code (China)", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3-coder-plus", + note: "Alibaba Cloud Model Studio China endpoint.", + }, + { + id: "qwen-intl", + label: "Qwen Code (Intl)", + baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", + model: "qwen3-coder-plus", + note: "Alibaba Cloud Model Studio international endpoint.", + }, + { + id: "deepseek", + label: "DeepSeek V4 Pro", + baseUrl: "https://api.deepseek.com", + model: "deepseek-v4-pro", + note: "DeepSeek OpenAI-compatible endpoint.", + }, + { + id: "deepseek-fast", + label: "DeepSeek V4 Flash", + baseUrl: "https://api.deepseek.com", + model: "deepseek-v4-flash", + note: "Lower-latency DeepSeek option.", + }, + { + id: "glm", + label: "GLM (BigModel)", + baseUrl: "https://open.bigmodel.cn/api/paas/v4", + model: "glm-5.1", + note: "Zhipu BigModel chat completions endpoint.", + }, + { + id: "gemini", + label: "Gemini OpenAI", + baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai", + model: "gemini-3.5-flash", + note: "Google Gemini OpenAI-compatible endpoint.", + }, +]; + // ─── Event Hooks ─── function useInstallEvents() { @@ -246,6 +299,7 @@ export function ClaudeSetup() { const [provider, setProvider] = useState<"claude-code" | "openai-compatible">( "claude-code", ); + const [providerPreset, setProviderPreset] = useState("custom"); const [apiKey, setApiKey] = useState(""); const [baseUrl, setBaseUrl] = useState(""); const [model, setModel] = useState(""); @@ -272,9 +326,23 @@ export function ClaudeSetup() { setApiKey(""); setBaseUrl(""); setModel(""); + setProviderPreset("custom"); } }; + const applyProviderPreset = (presetId: string) => { + setProviderPreset(presetId); + if (presetId === "custom") return; + + const preset = OPENAI_COMPATIBLE_PRESETS.find( + (item) => item.id === presetId, + ); + if (!preset) return; + + setBaseUrl(preset.baseUrl); + setModel(preset.model); + }; + if (status === "checking") { return (
@@ -493,11 +561,15 @@ export function ClaudeSetup() { applyProviderPreset(event.target.value)} + disabled={isSavingApiKey} + className="flex h-9 w-full rounded-md border border-input bg-background px-3 py-1 text-sm outline-none transition-colors focus-visible:border-ring" + > + + {OPENAI_COMPATIBLE_PRESETS.map((preset) => ( + + ))} + + {providerPreset !== "custom" && ( +

+ { + OPENAI_COMPATIBLE_PRESETS.find( + (preset) => preset.id === providerPreset, + )?.note + } +

+ )} +
+ )}
diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index 30ccd67..60b3c0e 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -297,6 +297,12 @@ interface SkillsStatus { function EnvironmentStatus() { const claudeVersion = useClaudeSetupStore((s) => s.version); const claudeEmail = useClaudeSetupStore((s) => s.accountEmail); + const providerModel = useClaudeSetupStore((s) => s.providerModel); + const providerBaseUrl = useClaudeSetupStore((s) => s.providerBaseUrl); + const isDirectProvider = claudeVersion === "OpenAI-compatible provider"; + const aiDetail = isDirectProvider + ? [claudeVersion, providerModel, providerBaseUrl].filter(Boolean).join(" · ") + : [claudeVersion, claudeEmail].filter(Boolean).join(" · "); const uvStatus = useUvSetupStore((s) => s.status); const uvVersion = useUvSetupStore((s) => s.version); @@ -354,11 +360,11 @@ function EnvironmentStatus() { return ( <>
- {/* Claude Code — always ready here */} + {/* AI provider — always ready here */} {/* Python (uv) */} diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 64add28..8863a28 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -9,6 +9,8 @@ interface ClaudeStatus { binary_path: string | null; version: string | null; account_email: string | null; + provider_model: string | null; + provider_base_url: string | null; missing_git: boolean; } @@ -36,6 +38,8 @@ interface ClaudeSetupState { error: string | null; version: string | null; accountEmail: string | null; + providerModel: string | null; + providerBaseUrl: string | null; // Install progress installSteps: StepInfo[]; @@ -118,6 +122,8 @@ export const useClaudeSetupStore = create((set, get) => ({ error: null, version: null, accountEmail: null, + providerModel: null, + providerBaseUrl: null, installSteps: [], installLogs: [], @@ -132,12 +138,24 @@ export const useClaudeSetupStore = create((set, get) => ({ // On Windows, Git for Windows is required before anything else if (result.missing_git) { - set({ status: "missing-git", version: null, accountEmail: null }); + set({ + status: "missing-git", + version: null, + accountEmail: null, + providerModel: null, + providerBaseUrl: null, + }); return; } if (!result.installed) { - set({ status: "not-installed", version: null, accountEmail: null }); + set({ + status: "not-installed", + version: null, + accountEmail: null, + providerModel: null, + providerBaseUrl: null, + }); return; } @@ -146,6 +164,8 @@ export const useClaudeSetupStore = create((set, get) => ({ status: "not-authenticated", version: result.version, accountEmail: null, + providerModel: null, + providerBaseUrl: null, }); return; } @@ -154,6 +174,8 @@ export const useClaudeSetupStore = create((set, get) => ({ status: "ready", version: result.version, accountEmail: result.account_email, + providerModel: result.provider_model, + providerBaseUrl: result.provider_base_url, }); } catch (err: any) { set({ From b1ac5e05e38b89142f9a12d3a0e54622c22f01af Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:33:11 +0800 Subject: [PATCH 014/118] Add direct provider task compatibility tools --- apps/desktop/src-tauri/src/claude.rs | 467 ++++++++++++++++++++++++++- 1 file changed, 454 insertions(+), 13 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index c675f0f..0892ae5 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -33,6 +33,16 @@ struct StoredOpenAiCompatibleCredential { model: String, } +#[derive(Clone, Debug)] +struct DirectTask { + id: String, + subject: String, + description: String, + active_form: Option, + status: String, + owner: Option, +} + const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; @@ -295,6 +305,7 @@ pub struct ClaudeProcessState { pub processes: Arc>>, direct_sessions: Arc>>>, direct_cancellations: Arc>>, + direct_task_lists: Arc>>>, } impl Default for ClaudeProcessState { @@ -303,6 +314,7 @@ impl Default for ClaudeProcessState { processes: Arc::new(Mutex::new(HashMap::new())), direct_sessions: Arc::new(Mutex::new(HashMap::new())), direct_cancellations: Arc::new(Mutex::new(HashSet::new())), + direct_task_lists: Arc::new(Mutex::new(HashMap::new())), } } } @@ -1823,6 +1835,8 @@ fn direct_provider_system_prompt() -> String { "Use LS or Glob to understand the project layout before editing unfamiliar files.", "Use Read before non-trivial edits, use Edit for precise replacements, and use Write only when creating or fully replacing a file.", "For multi-step writing or editing tasks, use TodoWrite to keep a short plan with at most one in_progress item.", + "If you prefer Claude/Codex-style task tools, TaskCreate, TaskUpdate, and TaskList are available as a lightweight session task list.", + "ToolSearch can be used to inspect the currently available local tool names; it does not install external tools.", "Do not claim a file was changed unless a tool result confirms it.", ] .join("\n") @@ -1990,6 +2004,78 @@ fn direct_provider_tools() -> serde_json::Value { } } }, + { + "type": "function", + "function": { + "name": "ToolSearch", + "description": "Inspect the local tool names available in this ClaudePrism direct-provider session. Supports queries like select:TaskCreate,TaskUpdate,TaskList.", + "parameters": { + "type": "object", + "properties": { + "query": { "type": "string", "description": "Search text, or select: to check exact availability." } + }, + "required": ["query"] + } + } + }, + { + "type": "function", + "function": { + "name": "TaskCreate", + "description": "Create a lightweight task in the current direct-provider session task list.", + "parameters": { + "type": "object", + "properties": { + "subject": { "type": "string", "description": "Brief task title." }, + "description": { "type": "string", "description": "What needs to be done." }, + "activeForm": { "type": "string", "description": "Present-tense form while the task is active." }, + "metadata": { "type": "object", "description": "Optional metadata; accepted for compatibility." } + }, + "required": ["subject", "description"] + } + } + }, + { + "type": "function", + "function": { + "name": "TaskUpdate", + "description": "Update a task in the current direct-provider session task list.", + "parameters": { + "type": "object", + "properties": { + "taskId": { "type": "string", "description": "Task id returned by TaskCreate." }, + "task_id": { "type": "string", "description": "Alias for taskId." }, + "subject": { "type": "string", "description": "Updated task title." }, + "description": { "type": "string", "description": "Updated task description." }, + "activeForm": { "type": "string", "description": "Present-tense active form." }, + "status": { + "type": "string", + "enum": ["pending", "in_progress", "completed", "deleted"], + "description": "Updated task status." + }, + "owner": { "type": "string", "description": "Optional assignee name." } + }, + "required": ["taskId"] + } + } + }, + { + "type": "function", + "function": { + "name": "TaskList", + "description": "List lightweight tasks in the current direct-provider session.", + "parameters": { + "type": "object", + "properties": { + "status": { + "type": "string", + "enum": ["pending", "in_progress", "completed"], + "description": "Optional status filter." + } + } + } + } + }, { "type": "function", "function": { @@ -2398,6 +2484,14 @@ fn optional_tool_string(input: &serde_json::Value, key: &str) -> Option .filter(|value| !value.is_empty()) } +fn optional_tool_string_any(input: &serde_json::Value, keys: &[&str]) -> Option { + keys.iter().find_map(|key| optional_tool_string(input, key)) +} + +fn required_tool_string_any(input: &serde_json::Value, keys: &[&str]) -> Result { + optional_tool_string_any(input, keys).ok_or_else(|| format!("Missing {}", keys[0])) +} + fn optional_tool_usize(input: &serde_json::Value, key: &str) -> Option { input .get(key) @@ -2878,6 +2972,258 @@ fn execute_direct_todowrite(input: &serde_json::Value) -> Result Ok(output) } +fn direct_tool_catalog() -> Vec<(&'static str, &'static str)> { + vec![ + ("Read", "Read a UTF-8 text file from the current project."), + ("Write", "Create or replace a UTF-8 text file in the current project."), + ("Edit", "Replace an exact string in a UTF-8 text file."), + ("MultiEdit", "Apply multiple exact string replacements to one file."), + ("LS", "List files and directories in a project directory."), + ("Glob", "List project files matching a wildcard pattern."), + ("Grep", "Search project files for a literal substring."), + ("TodoWrite", "Update a concise multi-step plan."), + ("TaskCreate", "Create a lightweight session task."), + ("TaskUpdate", "Update a lightweight session task."), + ("TaskList", "List lightweight session tasks."), + ("ToolSearch", "Inspect available local tool names."), + ("Bash", "Run a shell command in the current project directory."), + ] +} + +fn canonical_direct_tool_name(name: &str) -> Option<&'static str> { + let normalized = name + .trim() + .chars() + .filter(|c| *c != '_' && *c != '-' && !c.is_whitespace()) + .collect::() + .to_ascii_lowercase(); + direct_tool_catalog() + .into_iter() + .find_map(|(tool_name, _)| { + let tool_normalized = tool_name.to_ascii_lowercase(); + (tool_normalized == normalized).then_some(tool_name) + }) +} + +fn execute_direct_toolsearch(input: &serde_json::Value) -> Result { + let query = required_tool_string(input, "query")?; + let trimmed = query.trim(); + let catalog = direct_tool_catalog(); + + if trimmed.to_ascii_lowercase().starts_with("select:") { + let selection = &trimmed["select:".len()..]; + let requested = selection + .split(',') + .map(str::trim) + .filter(|value| !value.is_empty()) + .collect::>(); + if requested.is_empty() { + return Err("select: query did not include any tool names".to_string()); + } + + let mut found = Vec::new(); + let mut missing = Vec::new(); + for tool_name in requested { + if let Some(canonical) = canonical_direct_tool_name(tool_name) { + found.push(canonical.to_string()); + } else { + missing.push(tool_name.to_string()); + } + } + + let mut lines = Vec::new(); + if !found.is_empty() { + lines.push(format!("Selected tools: {}", found.join(", "))); + } + if !missing.is_empty() { + lines.push(format!("Missing tools: {}", missing.join(", "))); + } + lines.push("Selected tools are already available in this direct-provider session; no installation step is needed.".to_string()); + return Ok(lines.join("\n")); + } + + let terms = trimmed + .to_ascii_lowercase() + .split_whitespace() + .map(|value| value.to_string()) + .collect::>(); + let matches = catalog + .into_iter() + .filter(|(name, description)| { + if terms.is_empty() { + return true; + } + let haystack = format!("{} {}", name, description).to_ascii_lowercase(); + terms.iter().all(|term| haystack.contains(term)) + }) + .map(|(name, description)| format!("- {}: {}", name, description)) + .collect::>(); + + if matches.is_empty() { + Ok("No matching local tools found. Available core tools include Read, Edit, TodoWrite, TaskCreate, TaskUpdate, TaskList, and Bash.".to_string()) + } else { + Ok(format!("Available local tools:\n{}", matches.join("\n"))) + } +} + +fn normalize_direct_task_status(status: &str) -> Option<&'static str> { + match status.trim().to_ascii_lowercase().as_str() { + "pending" | "todo" | "open" => Some("pending"), + "in_progress" | "in-progress" | "in progress" | "active" | "working" => { + Some("in_progress") + } + "completed" | "complete" | "done" | "resolved" => Some("completed"), + "deleted" | "delete" | "remove" | "removed" => Some("deleted"), + _ => None, + } +} + +fn next_direct_task_id(tasks: &[DirectTask]) -> String { + let next = tasks + .iter() + .filter_map(|task| task.id.strip_prefix("task-")) + .filter_map(|suffix| suffix.parse::().ok()) + .max() + .unwrap_or(0) + + 1; + format!("task-{}", next) +} + +fn format_direct_task(task: &DirectTask) -> String { + let mut parts = vec![format!( + "{} [{}] {} - {}", + task.id, task.status, task.subject, task.description + )]; + if let Some(owner) = &task.owner { + parts.push(format!("owner: {}", owner)); + } + if let Some(active_form) = &task.active_form { + parts.push(format!("activeForm: {}", active_form)); + } + parts.join(" | ") +} + +async fn execute_direct_task_create( + state: &ClaudeProcessState, + session_id: &str, + input: &serde_json::Value, +) -> Result { + let subject = required_tool_string(input, "subject")?.trim().to_string(); + let description = required_tool_string(input, "description")?.trim().to_string(); + if subject.is_empty() { + return Err("subject cannot be empty".to_string()); + } + if description.is_empty() { + return Err("description cannot be empty".to_string()); + } + + let active_form = optional_tool_string_any(input, &["activeForm", "active_form"]); + let mut task_lists = state.direct_task_lists.lock().await; + let tasks = task_lists.entry(session_id.to_string()).or_default(); + let id = next_direct_task_id(tasks); + let task = DirectTask { + id: id.clone(), + subject, + description, + active_form, + status: "pending".to_string(), + owner: None, + }; + let line = format_direct_task(&task); + tasks.push(task); + Ok(format!( + "Task created: {}\nUse TaskUpdate to change status or TaskList to review the session task list.", + line + )) +} + +async fn execute_direct_task_update( + state: &ClaudeProcessState, + session_id: &str, + input: &serde_json::Value, +) -> Result { + let task_id = required_tool_string_any(input, &["taskId", "task_id", "id"])?; + let mut task_lists = state.direct_task_lists.lock().await; + let tasks = task_lists.entry(session_id.to_string()).or_default(); + let Some(index) = tasks.iter().position(|task| task.id == task_id) else { + return Err(format!( + "Task not found: {}. Use TaskList to see current tasks or TaskCreate to add one.", + task_id + )); + }; + + if let Some(status) = optional_tool_string(input, "status") { + let normalized = normalize_direct_task_status(&status) + .ok_or_else(|| "status must be pending, in_progress, completed, or deleted".to_string())?; + if normalized == "deleted" { + let task = tasks.remove(index); + return Ok(format!("Task deleted: {}", format_direct_task(&task))); + } + tasks[index].status = normalized.to_string(); + } + if let Some(subject) = optional_tool_string(input, "subject") { + tasks[index].subject = subject; + } + if let Some(description) = optional_tool_string(input, "description") { + tasks[index].description = description; + } + if let Some(active_form) = optional_tool_string_any(input, &["activeForm", "active_form"]) { + tasks[index].active_form = Some(active_form); + } + if let Some(owner) = optional_tool_string(input, "owner") { + tasks[index].owner = Some(owner); + } + + let in_progress_count = tasks + .iter() + .filter(|task| task.status == "in_progress") + .count(); + let mut output = format!("Task updated: {}", format_direct_task(&tasks[index])); + if tasks[index].status == "completed" { + output.push_str("\nTask completed. Call TaskList to check remaining work."); + } + if in_progress_count > 1 { + output.push_str("\nNote: keep at most one task in_progress at a time."); + } + Ok(output) +} + +async fn execute_direct_task_list( + state: &ClaudeProcessState, + session_id: &str, + input: &serde_json::Value, +) -> Result { + let status_filter = optional_tool_string(input, "status") + .map(|status| { + normalize_direct_task_status(&status) + .filter(|status| *status != "deleted") + .ok_or_else(|| "status must be pending, in_progress, or completed".to_string()) + }) + .transpose()?; + let task_lists = state.direct_task_lists.lock().await; + let tasks = task_lists.get(session_id).cloned().unwrap_or_default(); + if tasks.is_empty() { + return Ok("No tasks in this direct-provider session. Use TodoWrite for a concise checklist or TaskCreate to add lightweight tasks.".to_string()); + } + + let lines = tasks + .iter() + .filter(|task| { + status_filter + .map(|status| task.status == status) + .unwrap_or(true) + }) + .map(format_direct_task) + .collect::>(); + + if lines.is_empty() { + let status = status_filter.unwrap_or("requested"); + Ok(format!("No tasks match status: {}", status)) + } else { + Ok(format!("Session tasks:\n{}", lines.join("\n"))) + } +} + async fn execute_direct_bash(project_root: &Path, input: &serde_json::Value) -> Result { let command = required_tool_string(input, "command")?; if command.trim().is_empty() { @@ -2917,6 +3263,8 @@ async fn execute_direct_bash(project_root: &Path, input: &serde_json::Value) -> } async fn execute_direct_provider_tool( + state: &ClaudeProcessState, + session_id: &str, project_root: &Path, name: &str, input: &serde_json::Value, @@ -2930,6 +3278,16 @@ async fn execute_direct_provider_tool( "Glob" | "glob" => execute_direct_glob(project_root, input), "Grep" | "grep" => execute_direct_grep(project_root, input), "TodoWrite" | "todowrite" | "todo_write" => execute_direct_todowrite(input), + "ToolSearch" | "toolsearch" | "tool_search" => execute_direct_toolsearch(input), + "TaskCreate" | "taskcreate" | "task_create" => { + execute_direct_task_create(state, session_id, input).await + } + "TaskUpdate" | "taskupdate" | "task_update" => { + execute_direct_task_update(state, session_id, input).await + } + "TaskList" | "tasklist" | "task_list" => { + execute_direct_task_list(state, session_id, input).await + } "Bash" | "bash" => execute_direct_bash(project_root, input).await, other => Err(format!("Unsupported tool: {}", other)), }; @@ -3845,7 +4203,7 @@ async fn execute_openai_compatible_provider( "session_id": session_id, "model": credential.model.clone(), "cwd": project_path.clone(), - "tools": ["Read", "Write", "Edit", "MultiEdit", "Glob", "Grep", "Bash"], + "tools": ["Read", "Write", "Edit", "MultiEdit", "LS", "Glob", "Grep", "TodoWrite", "ToolSearch", "TaskCreate", "TaskUpdate", "TaskList", "Bash"], }); let state = window.state::(); clear_direct_provider_cancelled(&state, &process_key).await; @@ -3997,9 +4355,14 @@ async fn execute_openai_compatible_provider( let mut tool_result_blocks = Vec::new(); for tool_call in &tool_calls { - let output = - execute_direct_provider_tool(&project_root, &tool_call.name, &tool_call.input) - .await; + let output = execute_direct_provider_tool( + &state, + &session_id, + &project_root, + &tool_call.name, + &tool_call.input, + ) + .await; tool_result_blocks.push(json!({ "type": "tool_result", "tool_use_id": tool_call.id, @@ -4906,6 +5269,15 @@ mod tests { // --- direct provider tools --- + async fn execute_test_direct_provider_tool( + project_root: &Path, + name: &str, + input: &serde_json::Value, + ) -> DirectToolOutput { + let state = ClaudeProcessState::default(); + execute_direct_provider_tool(&state, "test-session", project_root, name, input).await + } + #[tokio::test] async fn test_direct_provider_tools_read_edit_and_grep_project_files() { let dir = tempfile::tempdir().unwrap(); @@ -4913,7 +5285,7 @@ mod tests { let main = root.join("main.tex"); std::fs::write(&main, "\\section{Old Title}\nBody text").unwrap(); - let read = execute_direct_provider_tool( + let read = execute_test_direct_provider_tool( &root, "Read", &json!({ "file_path": "main.tex", "limit": 1 }), @@ -4922,7 +5294,7 @@ mod tests { assert!(!read.is_error); assert!(read.content.contains("\\section{Old Title}")); - let edit = execute_direct_provider_tool( + let edit = execute_test_direct_provider_tool( &root, "Edit", &json!({ @@ -4935,7 +5307,7 @@ mod tests { assert!(!edit.is_error); assert!(std::fs::read_to_string(&main).unwrap().contains("New Title")); - let grep = execute_direct_provider_tool( + let grep = execute_test_direct_provider_tool( &root, "Grep", &json!({ "pattern": "New Title", "glob": "*.tex" }), @@ -4950,7 +5322,7 @@ mod tests { let dir = tempfile::tempdir().unwrap(); let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); - let write = execute_direct_provider_tool( + let write = execute_test_direct_provider_tool( &root, "Write", &json!({ "file_path": "../outside.tex", "content": "nope" }), @@ -4969,7 +5341,7 @@ mod tests { std::fs::write(root.join("chapters").join("intro.tex"), "intro").unwrap(); std::fs::write(root.join("notes.md"), "notes").unwrap(); - let glob = execute_direct_provider_tool(&root, "Glob", &json!({ "pattern": "*.tex" })) + let glob = execute_test_direct_provider_tool(&root, "Glob", &json!({ "pattern": "*.tex" })) .await; assert!(!glob.is_error); assert!(glob.content.contains("main.tex")); @@ -4985,12 +5357,12 @@ mod tests { std::fs::write(root.join("main.tex"), "main").unwrap(); std::fs::write(root.join("chapters").join("intro.tex"), "intro").unwrap(); - let ls = execute_direct_provider_tool(&root, "LS", &json!({})).await; + let ls = execute_test_direct_provider_tool(&root, "LS", &json!({})).await; assert!(!ls.is_error); assert!(ls.content.contains("chapters/")); assert!(ls.content.contains("main.tex")); - let nested = execute_direct_provider_tool(&root, "LS", &json!({ "path": "chapters" })) + let nested = execute_test_direct_provider_tool(&root, "LS", &json!({ "path": "chapters" })) .await; assert!(!nested.is_error); assert!(nested.content.contains("chapters/intro.tex")); @@ -5001,7 +5373,7 @@ mod tests { let dir = tempfile::tempdir().unwrap(); let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); - let todos = execute_direct_provider_tool( + let todos = execute_test_direct_provider_tool( &root, "TodoWrite", &json!({ @@ -5017,7 +5389,7 @@ mod tests { assert!(todos.content.contains("Todo list updated (3 items)")); assert!(todos.content.contains("[in_progress] Edit main.tex")); - let invalid = execute_direct_provider_tool( + let invalid = execute_test_direct_provider_tool( &root, "TodoWrite", &json!({ "todos": [{ "content": "Oops", "status": "blocked" }] }), @@ -5027,6 +5399,75 @@ mod tests { assert!(invalid.content.contains("status must be pending")); } + #[tokio::test] + async fn test_direct_provider_toolsearch_selects_compat_tools() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + + let result = execute_test_direct_provider_tool( + &root, + "ToolSearch", + &json!({ "query": "select:TaskCreate,TaskUpdate,TaskList" }), + ) + .await; + + assert!(!result.is_error); + assert!(result.content.contains("TaskCreate")); + assert!(result.content.contains("TaskUpdate")); + assert!(result.content.contains("TaskList")); + assert!(result.content.contains("already available")); + } + + #[tokio::test] + async fn test_direct_provider_task_tools_track_lightweight_tasks() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let state = ClaudeProcessState::default(); + + let created = execute_direct_provider_tool( + &state, + "session-a", + &root, + "TaskCreate", + &json!({ + "subject": "Inspect paper draft", + "description": "Read main.tex and identify missing citations", + "activeForm": "Inspecting paper draft" + }), + ) + .await; + assert!(!created.is_error); + assert!(created.content.contains("task-1")); + + let listed = execute_direct_provider_tool(&state, "session-a", &root, "TaskList", &json!({})) + .await; + assert!(!listed.is_error); + assert!(listed.content.contains("Inspect paper draft")); + assert!(listed.content.contains("[pending]")); + + let updated = execute_direct_provider_tool( + &state, + "session-a", + &root, + "TaskUpdate", + &json!({ "taskId": "task-1", "status": "completed" }), + ) + .await; + assert!(!updated.is_error); + assert!(updated.content.contains("Task completed")); + + let completed = execute_direct_provider_tool( + &state, + "session-a", + &root, + "TaskList", + &json!({ "status": "completed" }), + ) + .await; + assert!(!completed.is_error); + assert!(completed.content.contains("[completed]")); + } + #[test] fn test_direct_provider_parses_tool_arguments_string_and_object() { let response = json!({ From 3cd858ea4d46ebe8e90e47d7ad60e419b763820e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:39:25 +0800 Subject: [PATCH 015/118] Persist direct provider task state --- apps/desktop/src-tauri/src/claude.rs | 153 ++++++++++++++++++++++++++- 1 file changed, 152 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 0892ae5..5e7d0ae 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -33,7 +33,7 @@ struct StoredOpenAiCompatibleCredential { model: String, } -#[derive(Clone, Debug)] +#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] struct DirectTask { id: String, subject: String, @@ -2282,6 +2282,86 @@ fn emit_and_persist_direct_output( } } +fn direct_task_state_event(tasks: &[DirectTask]) -> serde_json::Value { + json!({ + "type": "direct_task_state", + "tasks": tasks, + }) +} + +fn load_direct_task_state_from_path(session_path: &Path) -> Result, String> { + if !session_path.exists() { + return Ok(Vec::new()); + } + + let file = std::fs::File::open(session_path) + .map_err(|e| format!("Failed to open session file: {}", e))?; + let reader = std::io::BufReader::new(file); + use std::io::BufRead; + + let mut latest_tasks = Vec::new(); + for line in reader.lines().map_while(Result::ok) { + let Ok(entry) = serde_json::from_str::(&line) else { + continue; + }; + if entry.get("type").and_then(|v| v.as_str()) != Some("direct_task_state") { + continue; + } + let Some(tasks) = entry.get("tasks") else { + continue; + }; + if let Ok(parsed) = serde_json::from_value::>(tasks.clone()) { + latest_tasks = parsed; + } + } + + Ok(latest_tasks) +} + +fn load_direct_task_state(project_path: &str, session_id: &str) -> Result, String> { + if !valid_session_id(session_id) { + return Ok(Vec::new()); + } + let sessions_dir = get_sessions_dir(project_path)?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + load_direct_task_state_from_path(&session_path) +} + +async fn hydrate_direct_task_state( + state: &ClaudeProcessState, + project_path: &str, + session_id: &str, +) { + let mut task_lists = state.direct_task_lists.lock().await; + if task_lists.contains_key(session_id) { + return; + } + let tasks = load_direct_task_state(project_path, session_id).unwrap_or_default(); + task_lists.insert(session_id.to_string(), tasks); +} + +async fn persist_direct_task_state( + state: &ClaudeProcessState, + project_path: &str, + session_id: &str, +) { + let tasks = { + let task_lists = state.direct_task_lists.lock().await; + task_lists.get(session_id).cloned().unwrap_or_default() + }; + let event = direct_task_state_event(&tasks); + if let Err(err) = append_direct_session_event(project_path, session_id, &event) { + eprintln!("[direct-provider] failed to persist task state: {}", err); + } +} + +fn is_direct_task_mutation_tool(name: &str) -> bool { + matches!( + canonical_direct_tool_name(name), + Some("TaskCreate" | "TaskUpdate") + ) +} + async fn direct_provider_cancelled(state: &ClaudeProcessState, process_key: &str) -> bool { state .direct_cancellations @@ -4207,6 +4287,7 @@ async fn execute_openai_compatible_provider( }); let state = window.state::(); clear_direct_provider_cancelled(&state, &process_key).await; + hydrate_direct_task_state(&state, &project_path, &session_id).await; emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &init); let mut messages = { @@ -4363,6 +4444,9 @@ async fn execute_openai_compatible_provider( &tool_call.input, ) .await; + if !output.is_error && is_direct_task_mutation_tool(&tool_call.name) { + persist_direct_task_state(&state, &project_path, &session_id).await; + } tool_result_blocks.push(json!({ "type": "tool_result", "tool_use_id": tool_call.id, @@ -5468,6 +5552,73 @@ mod tests { assert!(completed.content.contains("[completed]")); } + #[test] + fn test_direct_task_state_loads_latest_jsonl_snapshot() { + let dir = tempfile::tempdir().unwrap(); + let path = dir.path().join("session.jsonl"); + let first = direct_task_state_event(&[DirectTask { + id: "task-1".to_string(), + subject: "First".to_string(), + description: "Old state".to_string(), + active_form: None, + status: "pending".to_string(), + owner: None, + }]); + let latest = direct_task_state_event(&[DirectTask { + id: "task-1".to_string(), + subject: "First".to_string(), + description: "Latest state".to_string(), + active_form: Some("Checking latest state".to_string()), + status: "completed".to_string(), + owner: Some("assistant".to_string()), + }]); + let content = [ + serde_json::to_string(&json!({ "type": "user", "message": { "content": "hi" } })) + .unwrap(), + serde_json::to_string(&first).unwrap(), + "not json".to_string(), + serde_json::to_string(&latest).unwrap(), + ] + .join("\n"); + std::fs::write(&path, content).unwrap(); + + let tasks = load_direct_task_state_from_path(&path).unwrap(); + + assert_eq!(tasks.len(), 1); + assert_eq!(tasks[0].description, "Latest state"); + assert_eq!(tasks[0].status, "completed"); + assert_eq!(tasks[0].owner.as_deref(), Some("assistant")); + } + + #[tokio::test] + async fn test_restored_direct_task_state_is_visible_to_tasklist() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let state = ClaudeProcessState::default(); + + { + let mut task_lists = state.direct_task_lists.lock().await; + task_lists.insert( + "session-a".to_string(), + vec![DirectTask { + id: "task-1".to_string(), + subject: "Resume task".to_string(), + description: "Loaded from prior session state".to_string(), + active_form: None, + status: "in_progress".to_string(), + owner: None, + }], + ); + } + + let listed = execute_direct_provider_tool(&state, "session-a", &root, "TaskList", &json!({})) + .await; + + assert!(!listed.is_error); + assert!(listed.content.contains("Resume task")); + assert!(listed.content.contains("[in_progress]")); + } + #[test] fn test_direct_provider_parses_tool_arguments_string_and_object() { let response = json!({ From 432e2d453eb94d3a9ca3564df42ba0f955649ac3 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:44:13 +0800 Subject: [PATCH 016/118] Read PDF sidecars in direct provider --- apps/desktop/src-tauri/src/claude.rs | 109 +++++++++++++++++++++++++-- 1 file changed, 104 insertions(+), 5 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 5e7d0ae..cb8c256 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1834,6 +1834,7 @@ fn direct_provider_system_prompt() -> String { "You can inspect and edit files through the provided tools. Prefer relative paths inside the current project.", "Use LS or Glob to understand the project layout before editing unfamiliar files.", "Use Read before non-trivial edits, use Edit for precise replacements, and use Write only when creating or fully replacing a file.", + "PDF attachments may have extracted text sidecars next to them, named like paper.pdf.txt. Read the sidecar when inspecting a PDF.", "For multi-step writing or editing tasks, use TodoWrite to keep a short plan with at most one in_progress item.", "If you prefer Claude/Codex-style task tools, TaskCreate, TaskUpdate, and TaskList are available as a lightweight session task list.", "ToolSearch can be used to inspect the currently available local tool names; it does not install external tools.", @@ -1860,7 +1861,7 @@ fn direct_provider_tools() -> serde_json::Value { "type": "function", "function": { "name": "Read", - "description": "Read a UTF-8 text file from the current project.", + "description": "Read a UTF-8 text file from the current project. For PDFs, reads the ClaudePrism extracted text sidecar at .pdf.txt when available.", "parameters": { "type": "object", "properties": { @@ -2747,10 +2748,51 @@ fn wildcard_match(pattern: &str, text: &str) -> bool { dp[pattern.len()][text.len()] } +fn is_pdf_file_path(path: &Path) -> bool { + path.extension() + .and_then(|value| value.to_str()) + .map(|value| value.eq_ignore_ascii_case("pdf")) + .unwrap_or(false) +} + +fn pdf_text_sidecar_path(path: &Path) -> PathBuf { + let mut sidecar = path.as_os_str().to_os_string(); + sidecar.push(".txt"); + PathBuf::from(sidecar) +} + fn execute_direct_read(project_root: &Path, input: &serde_json::Value) -> Result { let file_path = tool_path_value(input)?; let path = ensure_existing_project_tool_path(project_root, &file_path)?; - let content = std::fs::read_to_string(&path) + let mut read_path = path.clone(); + let mut read_note = None; + + if is_pdf_file_path(&path) { + let sidecar = pdf_text_sidecar_path(&path); + let pdf_display_path = relative_project_path(project_root, &path); + let sidecar_display_path = relative_project_path(project_root, &sidecar); + + if sidecar.exists() { + let canonical_sidecar = sidecar + .canonicalize() + .map_err(|e| format!("Failed to resolve PDF text sidecar: {}", e))?; + if !canonical_sidecar.starts_with(project_root) { + return Err("Refusing to read PDF text sidecar outside the project".to_string()); + } + read_note = Some(format!( + "[PDF text sidecar for {}: {}]", + pdf_display_path, sidecar_display_path + )); + read_path = canonical_sidecar; + } else { + return Ok(format!( + "[{}]\nPDF files are binary. ClaudePrism can read extracted PDF text when the sidecar exists at {}. Mention or attach this PDF in the chat composer to generate the sidecar, then read {}.", + pdf_display_path, sidecar_display_path, sidecar_display_path + )); + } + } + + let content = std::fs::read_to_string(&read_path) .map_err(|e| format!("Failed to read {}: {}", file_path, e))?; let offset = optional_tool_usize(input, "offset").unwrap_or(1).max(1); let limit = optional_tool_usize(input, "limit"); @@ -2762,17 +2804,29 @@ fn execute_direct_read(project_root: &Path, input: &serde_json::Value) -> Result .copied() .collect::>() .join("\n"); - let display_path = relative_project_path(project_root, &path); + let display_path = relative_project_path(project_root, &read_path); let body = if offset > 1 || limit.is_some() { format!( - "[{} lines {}-{}]\n{}", + "{}[{} lines {}-{}]\n{}", + read_note + .as_ref() + .map(|note| format!("{}\n", note)) + .unwrap_or_default(), display_path, offset, offset + selected.lines().count().saturating_sub(1), selected ) } else { - format!("[{}]\n{}", display_path, content) + format!( + "{}[{}]\n{}", + read_note + .as_ref() + .map(|note| format!("{}\n", note)) + .unwrap_or_default(), + display_path, + content + ) }; Ok(truncate_tool_content(body, 20000)) } @@ -5401,6 +5455,51 @@ mod tests { assert!(grep.content.contains("main.tex:1")); } + #[tokio::test] + async fn test_direct_provider_read_pdf_uses_text_sidecar() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + std::fs::create_dir_all(root.join("attachments")).unwrap(); + std::fs::write(root.join("attachments").join("paper.pdf"), b"%PDF-1.7\n").unwrap(); + std::fs::write( + root.join("attachments").join("paper.pdf.txt"), + "# Extracted PDF Text: attachments/paper.pdf\n\n## Page 1\n\nFlashVID summary", + ) + .unwrap(); + + let read = execute_test_direct_provider_tool( + &root, + "Read", + &json!({ "file_path": "attachments/paper.pdf" }), + ) + .await; + + assert!(!read.is_error); + assert!(read.content.contains("PDF text sidecar")); + assert!(read.content.contains("attachments/paper.pdf.txt")); + assert!(read.content.contains("FlashVID summary")); + } + + #[tokio::test] + async fn test_direct_provider_read_pdf_without_sidecar_guides_model() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + std::fs::create_dir_all(root.join("attachments")).unwrap(); + std::fs::write(root.join("attachments").join("paper.pdf"), b"%PDF-1.7\n").unwrap(); + + let read = execute_test_direct_provider_tool( + &root, + "Read", + &json!({ "file_path": "attachments/paper.pdf" }), + ) + .await; + + assert!(!read.is_error); + assert!(read.content.contains("PDF files are binary")); + assert!(read.content.contains("attachments/paper.pdf.txt")); + assert!(read.content.contains("generate the sidecar")); + } + #[tokio::test] async fn test_direct_provider_tools_reject_paths_outside_project() { let dir = tempfile::tempdir().unwrap(); From 2c8daf20a821bcad24b494d7fbd12081255b1e7b Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:53:02 +0800 Subject: [PATCH 017/118] Create PDF sidecars for project attachments --- .../__tests__/lib/project-attachments.test.ts | 95 +++++++++++++++++++ .../desktop/src/components/project-wizard.tsx | 26 ++--- .../template-gallery/template-preview.tsx | 26 ++--- apps/desktop/src/lib/project-attachments.ts | 74 +++++++++++++++ 4 files changed, 187 insertions(+), 34 deletions(-) create mode 100644 apps/desktop/src/__tests__/lib/project-attachments.test.ts create mode 100644 apps/desktop/src/lib/project-attachments.ts diff --git a/apps/desktop/src/__tests__/lib/project-attachments.test.ts b/apps/desktop/src/__tests__/lib/project-attachments.test.ts new file mode 100644 index 0000000..f339393 --- /dev/null +++ b/apps/desktop/src/__tests__/lib/project-attachments.test.ts @@ -0,0 +1,95 @@ +import { beforeEach, describe, expect, it, vi } from "vitest"; + +const mocks = vi.hoisted(() => ({ + copyFileToProject: vi.fn(), + join: vi.fn(), + createPdfTextSidecar: vi.fn(), + isPdfPath: vi.fn((path: string) => path.toLowerCase().endsWith(".pdf")), +})); + +vi.mock("@/lib/tauri/fs", () => ({ + copyFileToProject: mocks.copyFileToProject, + join: mocks.join, +})); + +vi.mock("@/lib/pdf-text-extractor", () => ({ + createPdfTextSidecar: mocks.createPdfTextSidecar, + isPdfPath: mocks.isPdfPath, +})); + +import { + buildReferenceFilesSection, + importReferenceFilesWithSidecars, +} from "@/lib/project-attachments"; + +describe("project attachment helpers", () => { + beforeEach(() => { + mocks.copyFileToProject.mockReset(); + mocks.join.mockReset(); + mocks.createPdfTextSidecar.mockReset(); + mocks.isPdfPath.mockClear(); + }); + + it("imports PDFs and creates extracted text sidecars", async () => { + mocks.copyFileToProject.mockResolvedValueOnce("attachments/paper.pdf"); + mocks.join.mockResolvedValueOnce("C:/project/attachments/paper.pdf"); + mocks.createPdfTextSidecar.mockResolvedValueOnce({ + sidecarRelativePath: "attachments/paper.pdf.txt", + }); + + const files = await importReferenceFilesWithSidecars("C:/project", [ + "C:/source/paper.pdf", + ]); + + expect(mocks.copyFileToProject).toHaveBeenCalledWith( + "C:/project", + "C:/source/paper.pdf", + "attachments/paper.pdf", + ); + expect(mocks.createPdfTextSidecar).toHaveBeenCalledWith( + "C:/project", + "attachments/paper.pdf", + "C:/project/attachments/paper.pdf", + ); + expect(files).toEqual([ + { + relativePath: "attachments/paper.pdf", + sidecarRelativePath: "attachments/paper.pdf.txt", + }, + ]); + }); + + it("keeps imported PDF references when sidecar extraction fails", async () => { + mocks.copyFileToProject.mockResolvedValueOnce("attachments/paper.pdf"); + mocks.join.mockResolvedValueOnce("C:/project/attachments/paper.pdf"); + mocks.createPdfTextSidecar.mockRejectedValueOnce( + new Error("cannot extract"), + ); + + const files = await importReferenceFilesWithSidecars("C:/project", [ + "C:/source/paper.pdf", + ]); + + expect(files[0]).toMatchObject({ + relativePath: "attachments/paper.pdf", + sidecarError: "cannot extract", + }); + }); + + it("builds a prompt section that points models at PDF sidecars", () => { + const section = buildReferenceFilesSection([ + { + relativePath: "attachments/paper.pdf", + sidecarRelativePath: "attachments/paper.pdf.txt", + }, + { relativePath: "attachments/data.csv" }, + ]); + + expect(section).toContain("### Reference Files"); + expect(section).toContain( + "`attachments/paper.pdf` (extracted text: `attachments/paper.pdf.txt`)", + ); + expect(section).toContain("`attachments/data.csv`"); + expect(section).toContain("For PDFs, read the extracted text sidecar"); + }); +}); diff --git a/apps/desktop/src/components/project-wizard.tsx b/apps/desktop/src/components/project-wizard.tsx index 1960955..af78821 100644 --- a/apps/desktop/src/components/project-wizard.tsx +++ b/apps/desktop/src/components/project-wizard.tsx @@ -30,6 +30,10 @@ import { } from "@/lib/template-registry"; import { TemplateGallery } from "@/components/template-gallery"; import { DEFAULT_CLAUDE_MD } from "@/lib/default-claude-md"; +import { + buildReferenceFilesSection, + importReferenceFilesWithSidecars, +} from "@/lib/project-attachments"; // ─── Helpers ─── @@ -260,19 +264,13 @@ function ScratchForm({ onBack }: { onBack: () => void }) { } } - if (attachments.length > 0) { - const attachmentsDir = await join(projectPath, "attachments"); - await mkdir(attachmentsDir, { recursive: true }); - } + const referenceFiles = + attachments.length > 0 + ? await importReferenceFilesWithSidecars(projectPath, attachments) + : []; if (purpose.trim()) { - const attachmentNames = attachments - .map((p) => p.split(/[/\\]/).pop()) - .filter(Boolean); - const attachmentSection = - attachmentNames.length > 0 - ? `\n### Reference Files\n${attachmentNames.map((n) => `- \`${n}\``).join("\n")}\n\nPlease review them and incorporate relevant information.\n` - : ""; + const attachmentSection = buildReferenceFilesSection(referenceFiles); const prompt = [ `## New ${template.name} Project`, @@ -298,12 +296,6 @@ function ScratchForm({ onBack }: { onBack: () => void }) { setLastProjectFolder(projectFolder); addRecentProject(projectPath); await openProject(projectPath); - - if (attachments.length > 0) { - await useDocumentStore - .getState() - .importFiles(attachments, "attachments"); - } } catch (err) { console.error("Failed to create project:", err); toast.error("Failed to create project", { diff --git a/apps/desktop/src/components/template-gallery/template-preview.tsx b/apps/desktop/src/components/template-gallery/template-preview.tsx index 0eff714..3277fa6 100644 --- a/apps/desktop/src/components/template-gallery/template-preview.tsx +++ b/apps/desktop/src/components/template-gallery/template-preview.tsx @@ -43,6 +43,10 @@ import { getMupdfClient } from "@/lib/mupdf/mupdf-client"; import { exists, join } from "@/lib/tauri/fs"; import type { PageSize } from "@/lib/mupdf/types"; import { createLogger } from "@/lib/debug/logger"; +import { + buildReferenceFilesSection, + importReferenceFilesWithSidecars, +} from "@/lib/project-attachments"; const log = createLogger("template-preview"); @@ -423,19 +427,13 @@ export function TemplatePreview() { } } - if (attachments.length > 0) { - const attachmentsDir = await join(projectPath, "attachments"); - await mkdir(attachmentsDir, { recursive: true }); - } + const referenceFiles = + attachments.length > 0 + ? await importReferenceFilesWithSidecars(projectPath, attachments) + : []; if (purpose.trim()) { - const attachmentNames = attachments - .map((p) => p.split(/[/\\]/).pop()) - .filter(Boolean); - const attachmentSection = - attachmentNames.length > 0 - ? `\n### Reference Files\n${attachmentNames.map((n) => `- \`${n}\``).join("\n")}\n\nPlease review them and incorporate relevant information.\n` - : ""; + const attachmentSection = buildReferenceFilesSection(referenceFiles); const prompt = [ `## New ${template.name} Project`, @@ -462,12 +460,6 @@ export function TemplatePreview() { addRecentProject(projectPath); await openProject(projectPath); - if (attachments.length > 0) { - await useDocumentStore - .getState() - .importFiles(attachments, "attachments"); - } - // Close modal on success closePreview(); } catch (err) { diff --git a/apps/desktop/src/lib/project-attachments.ts b/apps/desktop/src/lib/project-attachments.ts new file mode 100644 index 0000000..4beaa65 --- /dev/null +++ b/apps/desktop/src/lib/project-attachments.ts @@ -0,0 +1,74 @@ +import { createPdfTextSidecar, isPdfPath } from "@/lib/pdf-text-extractor"; +import { copyFileToProject, join } from "@/lib/tauri/fs"; + +export interface ImportedReferenceFile { + relativePath: string; + sidecarRelativePath?: string; + sidecarError?: string; +} + +function baseName(path: string): string { + return path.split(/[/\\]/).pop() || path; +} + +export async function importReferenceFilesWithSidecars( + projectRoot: string, + sourcePaths: string[], + targetFolder = "attachments", +): Promise { + const imported: ImportedReferenceFile[] = []; + + for (const sourcePath of sourcePaths) { + const targetName = `${targetFolder}/${baseName(sourcePath)}`; + const relativePath = await copyFileToProject( + projectRoot, + sourcePath, + targetName, + ); + const reference: ImportedReferenceFile = { relativePath }; + + if (isPdfPath(relativePath)) { + try { + const absolutePath = await join(projectRoot, relativePath); + const sidecar = await createPdfTextSidecar( + projectRoot, + relativePath, + absolutePath, + ); + reference.sidecarRelativePath = sidecar.sidecarRelativePath; + } catch (err) { + reference.sidecarError = + err instanceof Error ? err.message : String(err); + } + } + + imported.push(reference); + } + + return imported; +} + +export function buildReferenceFilesSection( + references: ImportedReferenceFile[], +): string { + if (references.length === 0) return ""; + + const lines = references.map((reference) => { + if (reference.sidecarRelativePath) { + return `- \`${reference.relativePath}\` (extracted text: \`${reference.sidecarRelativePath}\`)`; + } + if (isPdfPath(reference.relativePath)) { + return `- \`${reference.relativePath}\` (PDF; extracted text sidecar was not generated)`; + } + return `- \`${reference.relativePath}\``; + }); + + return [ + "", + "### Reference Files", + lines.join("\n"), + "", + "Please review them and incorporate relevant information. For PDFs, read the extracted text sidecar when one is listed instead of relying on the raw PDF file.", + "", + ].join("\n"); +} From 53d485d95fa7dcede30656374d7f74b3afe5711e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 03:59:28 +0800 Subject: [PATCH 018/118] Sanitize direct provider reasoning history --- apps/desktop/src-tauri/src/claude.rs | 56 +++++++++++++++++--- apps/desktop/src/components/claude-setup.tsx | 2 +- 2 files changed, 50 insertions(+), 8 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index cb8c256..bcc2bf5 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -3553,6 +3553,31 @@ fn direct_assistant_reasoning(response: &serde_json::Value) -> String { String::new() } +fn sanitize_direct_assistant_message_for_history( + mut message: serde_json::Value, +) -> serde_json::Value { + let Some(object) = message.as_object_mut() else { + return message; + }; + + object.remove("reasoning_content"); + object.remove("reasoning"); + object.remove("reasoning_text"); + + if let Some(content) = object.get_mut("content") { + if let Some(parts) = content.as_array_mut() { + parts.retain(|part| { + !matches!( + part.get("type").and_then(|v| v.as_str()), + Some("reasoning") | Some("thinking") | Some("reasoning_text") + ) + }); + } + } + + message +} + fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatResponse { let content = direct_assistant_content(&response); let reasoning = direct_assistant_reasoning(&response); @@ -3562,6 +3587,7 @@ fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatRes .pointer("/choices/0/message") .cloned() .unwrap_or_else(|| json!({ "role": "assistant", "content": content.clone() })); + let message = sanitize_direct_assistant_message_for_history(message); DirectChatResponse { message, content, @@ -3676,7 +3702,7 @@ fn direct_tool_calls_from_stream( fn direct_message_from_parts( content: &str, - reasoning: &str, + _reasoning: &str, tool_calls: &[DirectToolCall], ) -> serde_json::Value { let mut message = json!({ @@ -3687,11 +3713,6 @@ fn direct_message_from_parts( json!(content) }, }); - if !reasoning.trim().is_empty() { - if let Some(object) = message.as_object_mut() { - object.insert("reasoning_content".to_string(), json!(reasoning)); - } - } if let Some(tool_call) = tool_calls.iter().find(|tool_call| tool_call.legacy_function_call) { if let Some(object) = message.as_object_mut() { object.insert( @@ -5797,7 +5818,7 @@ mod tests { assert_eq!(calls[0].name, "Read"); assert_eq!(calls[0].input["file_path"], "main.tex"); assert_eq!(message["content"], "Checking the file"); - assert_eq!(message["reasoning_content"], "Thinking aloud"); + assert!(message.get("reasoning_content").is_none()); assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); } @@ -5846,6 +5867,27 @@ mod tests { assert_eq!(direct_assistant_content(&response), "Then answer."); } + #[test] + fn test_direct_provider_strips_reasoning_from_request_history() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "reasoning_content": "Hidden chain.", + "reasoning": "Alternate hidden chain.", + "content": "Visible answer." + } + }] + }); + + let parsed = direct_chat_response_from_value(response); + + assert_eq!(parsed.reasoning, "Hidden chain."); + assert_eq!(parsed.message["content"], "Visible answer."); + assert!(parsed.message.get("reasoning_content").is_none()); + assert!(parsed.message.get("reasoning").is_none()); + } + #[test] fn test_direct_provider_extracts_stream_reasoning_delta() { let delta = json!({ diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index a0fa60f..1b5fdc2 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -73,7 +73,7 @@ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ id: "gemini", label: "Gemini OpenAI", baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai", - model: "gemini-3.5-flash", + model: "gemini-2.5-flash", note: "Google Gemini OpenAI-compatible endpoint.", }, ]; From fe5eaa19c965b4768538dd471e147abe9b1fd634 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:06:23 +0800 Subject: [PATCH 019/118] Allow API provider setup without Claude CLI --- apps/desktop/src/components/claude-setup.tsx | 434 +++++++++++-------- 1 file changed, 247 insertions(+), 187 deletions(-) diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 1b5fdc2..33bf385 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -322,8 +322,10 @@ export function ClaudeSetup() { useInstallEvents(); useLoginEvents(); - const handleSaveApiKey = async () => { - const success = await saveApiKey(apiKey, baseUrl, provider, model); + const handleSaveApiKey = async ( + selectedProvider: "claude-code" | "openai-compatible" = provider, + ) => { + const success = await saveApiKey(apiKey, baseUrl, selectedProvider, model); if (success) { setApiKey(""); setBaseUrl(""); @@ -345,6 +347,221 @@ export function ClaudeSetup() { setModel(preset.model); }; + const renderApiKeyForm = ({ + forceOpenAiCompatible = false, + allowBrowserSignIn = false, + }: { + forceOpenAiCompatible?: boolean; + allowBrowserSignIn?: boolean; + } = {}) => { + const selectedProvider = forceOpenAiCompatible + ? "openai-compatible" + : provider; + + return ( + <> +
{ + event.preventDefault(); + handleSaveApiKey(selectedProvider); + }} + > +
+ + {forceOpenAiCompatible ? ( +
+ OpenAI-compatible API +
+ ) : ( + + )} +

+ Use OpenAI-compatible for Qwen, DeepSeek, GLM, Gemini, and + compatible gateways. +

+
+ + {selectedProvider === "openai-compatible" && ( +
+ + + {providerPreset !== "custom" && ( +

+ { + OPENAI_COMPATIBLE_PRESETS.find( + (preset) => preset.id === providerPreset, + )?.note + } +

+ )} +
+ )} + +
+ + setApiKey(event.target.value)} + disabled={isSavingApiKey} + autoComplete="off" + /> +

+ {selectedProvider === "openai-compatible" + ? "Use the API key from your model provider." + : "Anthropic Console keys start with sk-ant-. External Claude proxies need a Base URL."} +

+
+ +
+ + { + setBaseUrl(event.target.value); + if (selectedProvider === "openai-compatible") { + setProviderPreset("custom"); + } + }} + disabled={isSavingApiKey} + autoComplete="off" + /> +

+ {selectedProvider === "openai-compatible" + ? "Use either the API root or a full /chat/completions URL." + : "Leave blank for Anthropic direct API."} +

+
+ + {selectedProvider === "openai-compatible" && ( +
+ + { + setModel(event.target.value); + setProviderPreset("custom"); + }} + disabled={isSavingApiKey} + autoComplete="off" + /> +

+ This model is used directly and ignores the Claude model picker. +

+
+ )} + + {error && ( +

{error}

+ )} + +
+ + {allowBrowserSignIn && ( + <> +
+
+ or +
+
+ + + + )} + + ); + }; + if (status === "checking") { return (
@@ -359,8 +576,8 @@ export function ClaudeSetup() { if (status === "ready") { const isDirectProvider = version === "OpenAI-compatible provider"; const readyDetail = isDirectProvider - ? [version, providerModel, providerBaseUrl].filter(Boolean).join(" · ") - : [version, accountEmail].filter(Boolean).join(" · "); + ? [version, providerModel, providerBaseUrl].filter(Boolean).join(" / ") + : [version, accountEmail].filter(Boolean).join(" / "); return (
@@ -480,13 +697,19 @@ export function ClaudeSetup() {
-

Git for Windows Required

+

Connect AI Provider

- Claude Code needs Git for Windows (git-bash) to work. Please - install it first, then click "I've installed Git". + OpenAI-compatible providers work without Git. Git for Windows is + only needed if you want Claude Code/browser sign-in.

+ {renderApiKeyForm({ forceOpenAiCompatible: true })} +
+
+ Claude Code +
+
@@ -552,182 +787,7 @@ export function ClaudeSetup() {

)} -
{ - event.preventDefault(); - handleSaveApiKey(); - }} - > -
- - -

- Use OpenAI-compatible for Qwen, DeepSeek, GLM, and compatible - gateways. -

-
- {provider === "openai-compatible" && ( -
- - - {providerPreset !== "custom" && ( -

- { - OPENAI_COMPATIBLE_PRESETS.find( - (preset) => preset.id === providerPreset, - )?.note - } -

- )} -
- )} -
- - setApiKey(event.target.value)} - disabled={isSavingApiKey} - autoComplete="off" - /> -

- {provider === "openai-compatible" - ? "Use the API key from your model provider." - : "Anthropic Console keys start with sk-ant-. External Claude proxies need a Base URL."} -

-
-
- - { - setBaseUrl(event.target.value); - if (provider === "openai-compatible") { - setProviderPreset("custom"); - } - }} - disabled={isSavingApiKey} - autoComplete="off" - /> -

- {provider === "openai-compatible" - ? "Use either the API root or a full /chat/completions URL." - : "Leave blank for Anthropic direct API."} -

-
- {provider === "openai-compatible" && ( -
- - { - setModel(event.target.value); - setProviderPreset("custom"); - }} - disabled={isSavingApiKey} - autoComplete="off" - /> -

- This model is used directly and ignores the Claude model picker. -

-
- )} - {error && ( -

{error}

- )} - -
- -
-
- or -
-
- - + {renderApiKeyForm({ allowBrowserSignIn: true })}
); } From 394ba44e82b29a558e06a48a836559729be4516a Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:08:26 +0800 Subject: [PATCH 020/118] Repair auth settings when saving API keys --- apps/desktop/src-tauri/src/claude.rs | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index bcc2bf5..a55d64b 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -256,7 +256,8 @@ pub async fn save_anthropic_api_key( let provider = normalize_provider(provider.as_deref())?; let model = normalize_model(model.as_deref())?; - let mut config = read_claude_prism_auth_config()?; + // Saving a new key should repair an empty/corrupt legacy auth file. + let mut config = read_claude_prism_auth_config().unwrap_or_default(); config.provider = Some(provider.clone()); if provider == PROVIDER_OPENAI_COMPATIBLE { @@ -282,7 +283,8 @@ pub async fn save_anthropic_api_key( #[tauri::command] pub async fn clear_anthropic_api_key() -> Result<(), String> { - let mut config = read_claude_prism_auth_config()?; + // Clearing should also recover from an empty/corrupt legacy auth file. + let mut config = read_claude_prism_auth_config().unwrap_or_default(); config.provider = Some(PROVIDER_CLAUDE_CODE.to_string()); config.anthropic_api_key = None; config.anthropic_base_url = None; From daecd29d675fa51dee250dbdd0401912883735d1 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:17:11 +0800 Subject: [PATCH 021/118] Preserve DeepSeek reasoning history for direct provider --- apps/desktop/src-tauri/src/claude.rs | 188 +++++++++++++++++++++++++-- 1 file changed, 178 insertions(+), 10 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index a55d64b..7c64664 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2143,6 +2143,18 @@ fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { || path.ends_with("compatible-mode/v1") } +fn direct_reasoning_history_mode( + credential: &StoredOpenAiCompatibleCredential, +) -> DirectReasoningHistoryMode { + let base_url = credential.base_url.to_ascii_lowercase(); + let model = credential.model.to_ascii_lowercase(); + if base_url.contains("api.deepseek.com") || model.starts_with("deepseek-v4") { + DirectReasoningHistoryMode::Preserve + } else { + DirectReasoningHistoryMode::Strip + } +} + fn json_usage(value: &serde_json::Value) -> serde_json::Value { let input_tokens = value .pointer("/usage/prompt_tokens") @@ -2201,6 +2213,12 @@ enum DirectToolRequestMode { None, } +#[derive(Clone, Copy, PartialEq, Eq)] +enum DirectReasoningHistoryMode { + Strip, + Preserve, +} + fn emit_direct_output(window: &WebviewWindow, tab_id: &str, event: &serde_json::Value) { let _ = window.emit( "claude-output", @@ -3557,12 +3575,25 @@ fn direct_assistant_reasoning(response: &serde_json::Value) -> String { fn sanitize_direct_assistant_message_for_history( mut message: serde_json::Value, + _tool_calls: &[DirectToolCall], + reasoning: &str, + reasoning_history_mode: DirectReasoningHistoryMode, ) -> serde_json::Value { let Some(object) = message.as_object_mut() else { return message; }; - object.remove("reasoning_content"); + let preserve_reasoning = reasoning_history_mode == DirectReasoningHistoryMode::Preserve; + + if preserve_reasoning && !reasoning.trim().is_empty() { + object + .entry("reasoning_content".to_string()) + .or_insert_with(|| json!(reasoning)); + } + + if !preserve_reasoning { + object.remove("reasoning_content"); + } object.remove("reasoning"); object.remove("reasoning_text"); @@ -3580,7 +3611,10 @@ fn sanitize_direct_assistant_message_for_history( message } -fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatResponse { +fn direct_chat_response_from_value( + response: serde_json::Value, + reasoning_history_mode: DirectReasoningHistoryMode, +) -> DirectChatResponse { let content = direct_assistant_content(&response); let reasoning = direct_assistant_reasoning(&response); let tool_calls = parse_direct_tool_calls(&response); @@ -3589,7 +3623,12 @@ fn direct_chat_response_from_value(response: serde_json::Value) -> DirectChatRes .pointer("/choices/0/message") .cloned() .unwrap_or_else(|| json!({ "role": "assistant", "content": content.clone() })); - let message = sanitize_direct_assistant_message_for_history(message); + let message = sanitize_direct_assistant_message_for_history( + message, + &tool_calls, + &reasoning, + reasoning_history_mode, + ); DirectChatResponse { message, content, @@ -3704,8 +3743,9 @@ fn direct_tool_calls_from_stream( fn direct_message_from_parts( content: &str, - _reasoning: &str, + reasoning: &str, tool_calls: &[DirectToolCall], + reasoning_history_mode: DirectReasoningHistoryMode, ) -> serde_json::Value { let mut message = json!({ "role": "assistant", @@ -3715,6 +3755,13 @@ fn direct_message_from_parts( json!(content) }, }); + if reasoning_history_mode == DirectReasoningHistoryMode::Preserve + && !reasoning.trim().is_empty() + { + if let Some(object) = message.as_object_mut() { + object.insert("reasoning_content".to_string(), json!(reasoning)); + } + } if let Some(tool_call) = tool_calls.iter().find(|tool_call| tool_call.legacy_function_call) { if let Some(object) = message.as_object_mut() { object.insert( @@ -4171,7 +4218,10 @@ async fn send_openai_compatible_non_streaming_chat_request( can_retry_without_tools: false, } })?; - Ok(direct_chat_response_from_value(response)) + Ok(direct_chat_response_from_value( + response, + direct_reasoning_history_mode(credential), + )) } async fn send_openai_compatible_streaming_chat_request( @@ -4244,7 +4294,12 @@ async fn send_openai_compatible_streaming_chat_request( let data = line.trim_start_matches("data:").trim(); if data == "[DONE]" { let tool_calls = direct_tool_calls_from_stream(tool_calls); - let message = direct_message_from_parts(&content, &reasoning, &tool_calls); + let message = direct_message_from_parts( + &content, + &reasoning, + &tool_calls, + direct_reasoning_history_mode(credential), + ); return Ok(DirectChatResponse { message, content, @@ -4323,7 +4378,12 @@ async fn send_openai_compatible_streaming_chat_request( } let tool_calls = direct_tool_calls_from_stream(tool_calls); - let message = direct_message_from_parts(&content, &reasoning, &tool_calls); + let message = direct_message_from_parts( + &content, + &reasoning, + &tool_calls, + direct_reasoning_history_mode(credential), + ); Ok(DirectChatResponse { message, content, @@ -5814,7 +5874,12 @@ mod tests { ); let calls = direct_tool_calls_from_stream(calls); - let message = direct_message_from_parts("Checking the file", "Thinking aloud", &calls); + let message = direct_message_from_parts( + "Checking the file", + "Thinking aloud", + &calls, + DirectReasoningHistoryMode::Strip, + ); assert_eq!(calls.len(), 1); assert_eq!(calls[0].name, "Read"); @@ -5838,7 +5903,8 @@ mod tests { ); let calls = direct_tool_calls_from_stream(calls); - let message = direct_message_from_parts("", "", &calls); + let message = + direct_message_from_parts("", "", &calls, DirectReasoningHistoryMode::Strip); assert_eq!(calls.len(), 1); assert!(calls[0].legacy_function_call); @@ -5882,7 +5948,7 @@ mod tests { }] }); - let parsed = direct_chat_response_from_value(response); + let parsed = direct_chat_response_from_value(response, DirectReasoningHistoryMode::Strip); assert_eq!(parsed.reasoning, "Hidden chain."); assert_eq!(parsed.message["content"], "Visible answer."); @@ -5890,6 +5956,89 @@ mod tests { assert!(parsed.message.get("reasoning").is_none()); } + #[test] + fn test_direct_provider_preserves_deepseek_tool_reasoning_in_history() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "reasoning_content": "Need to inspect the source file first.", + "content": "", + "tool_calls": [{ + "id": "call-1", + "type": "function", + "function": { + "name": "Read", + "arguments": "{\"file_path\":\"main.tex\"}" + } + }] + } + }] + }); + + let parsed = direct_chat_response_from_value( + response, + DirectReasoningHistoryMode::Preserve, + ); + + assert_eq!(parsed.reasoning, "Need to inspect the source file first."); + assert_eq!( + parsed.message["reasoning_content"], + "Need to inspect the source file first." + ); + assert_eq!(parsed.message["tool_calls"][0]["function"]["name"], "Read"); + } + + #[test] + fn test_direct_provider_stream_preserves_deepseek_tool_reasoning_in_history() { + let mut calls = HashMap::new(); + calls.insert( + 0, + DirectStreamingToolCall { + id: Some("call-1".to_string()), + name: "Read".to_string(), + arguments: "{\"file_path\":\"main.tex\"}".to_string(), + legacy_function_call: false, + }, + ); + + let calls = direct_tool_calls_from_stream(calls); + let message = direct_message_from_parts( + "", + "Need to inspect the source file first.", + &calls, + DirectReasoningHistoryMode::Preserve, + ); + + assert_eq!( + message["reasoning_content"], + "Need to inspect the source file first." + ); + assert_eq!(message["tool_calls"][0]["function"]["name"], "Read"); + } + + #[test] + fn test_direct_provider_preserves_deepseek_final_reasoning_in_history() { + let response = json!({ + "choices": [{ + "message": { + "role": "assistant", + "reasoning_content": "Now synthesize the inspected file.", + "content": "Here is the final answer." + } + }] + }); + + let parsed = direct_chat_response_from_value(response, DirectReasoningHistoryMode::Preserve); + + assert_eq!(parsed.reasoning, "Now synthesize the inspected file."); + assert_eq!( + parsed.message["reasoning_content"], + "Now synthesize the inspected file." + ); + assert_eq!(parsed.message["content"], "Here is the final answer."); + } + #[test] fn test_direct_provider_extracts_stream_reasoning_delta() { let delta = json!({ @@ -5917,6 +6066,25 @@ mod tests { )); } + #[test] + fn test_direct_provider_selects_reasoning_history_mode_by_provider() { + let deepseek = StoredOpenAiCompatibleCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.deepseek.com".to_string(), + model: "deepseek-v4-pro".to_string(), + }; + let qwen = StoredOpenAiCompatibleCredential { + api_key: "sk-test".to_string(), + base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1".to_string(), + model: "qwen3-coder-plus".to_string(), + }; + + assert!( + direct_reasoning_history_mode(&deepseek) == DirectReasoningHistoryMode::Preserve + ); + assert!(direct_reasoning_history_mode(&qwen) == DirectReasoningHistoryMode::Strip); + } + #[test] fn test_direct_provider_no_tools_prompt_replaces_system_message() { let messages = vec![ From cb464644f2cd8d0ffcce049d18f1593ef399aa3e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:24:24 +0800 Subject: [PATCH 022/118] Restore direct provider reasoning from sessions --- apps/desktop/src-tauri/src/claude.rs | 190 +++++++++++++++++++++++++-- 1 file changed, 179 insertions(+), 11 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 7c64664..5887b80 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2148,7 +2148,7 @@ fn direct_reasoning_history_mode( ) -> DirectReasoningHistoryMode { let base_url = credential.base_url.to_ascii_lowercase(); let model = credential.model.to_ascii_lowercase(); - if base_url.contains("api.deepseek.com") || model.starts_with("deepseek-v4") { + if base_url.contains("api.deepseek.com") || model.contains("deepseek") { DirectReasoningHistoryMode::Preserve } else { DirectReasoningHistoryMode::Strip @@ -2414,6 +2414,32 @@ fn claude_text_from_content_blocks(content: &serde_json::Value) -> Option Option { + let blocks = content.as_array()?; + let reasoning = blocks + .iter() + .filter(|block| { + matches!( + block.get("type").and_then(|v| v.as_str()), + Some("thinking") | Some("reasoning") | Some("reasoning_text") + ) + }) + .filter_map(|block| { + block + .get("thinking") + .and_then(|v| v.as_str()) + .or_else(|| block.get("text").and_then(|v| v.as_str())) + .or_else(|| block.get("content").and_then(|v| v.as_str())) + }) + .collect::>() + .join("\n\n"); + if reasoning.trim().is_empty() { + None + } else { + Some(reasoning) + } +} + fn load_direct_provider_messages( project_path: &str, session_id: &str, @@ -2424,11 +2450,17 @@ fn load_direct_provider_messages( let sessions_dir = get_sessions_dir(project_path)?; let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + load_direct_provider_messages_from_path(&session_path) +} + +fn load_direct_provider_messages_from_path( + session_path: &Path, +) -> Result, String> { if !session_path.exists() { return Ok(Vec::new()); } - let file = std::fs::File::open(&session_path) + let file = std::fs::File::open(session_path) .map_err(|e| format!("Failed to open session file: {}", e))?; let reader = std::io::BufReader::new(file); use std::io::BufRead; @@ -2523,6 +2555,11 @@ fn load_direct_provider_messages( object.insert("tool_calls".to_string(), json!(tool_calls)); } } + if let Some(reasoning) = claude_reasoning_from_content_blocks(content) { + if let Some(object) = message.as_object_mut() { + object.insert("reasoning_content".to_string(), json!(reasoning)); + } + } messages.push(message); } _ => {} @@ -3575,7 +3612,6 @@ fn direct_assistant_reasoning(response: &serde_json::Value) -> String { fn sanitize_direct_assistant_message_for_history( mut message: serde_json::Value, - _tool_calls: &[DirectToolCall], reasoning: &str, reasoning_history_mode: DirectReasoningHistoryMode, ) -> serde_json::Value { @@ -3611,6 +3647,42 @@ fn sanitize_direct_assistant_message_for_history( message } +fn direct_reasoning_from_openai_message(message: &serde_json::Value) -> String { + for key in ["reasoning_content", "reasoning", "reasoning_text"] { + if let Some(text) = message.get(key).and_then(|v| v.as_str()) { + return text.to_string(); + } + } + + claude_reasoning_from_content_blocks( + message + .get("content") + .unwrap_or(&serde_json::Value::Null), + ) + .unwrap_or_default() +} + +fn sanitize_direct_messages_for_reasoning_history( + messages: &[serde_json::Value], + reasoning_history_mode: DirectReasoningHistoryMode, +) -> Vec { + messages + .iter() + .cloned() + .map(|message| { + if message.get("role").and_then(|v| v.as_str()) != Some("assistant") { + return message; + } + let reasoning = direct_reasoning_from_openai_message(&message); + sanitize_direct_assistant_message_for_history( + message, + &reasoning, + reasoning_history_mode, + ) + }) + .collect() +} + fn direct_chat_response_from_value( response: serde_json::Value, reasoning_history_mode: DirectReasoningHistoryMode, @@ -3625,7 +3697,6 @@ fn direct_chat_response_from_value( .unwrap_or_else(|| json!({ "role": "assistant", "content": content.clone() })); let message = sanitize_direct_assistant_message_for_history( message, - &tool_calls, &reasoning, reasoning_history_mode, ); @@ -3916,12 +3987,15 @@ fn direct_messages_for_legacy_functions(messages: Vec) -> Vec fn direct_messages_for_tool_capability( messages: &[serde_json::Value], mode: DirectToolRequestMode, + reasoning_history_mode: DirectReasoningHistoryMode, ) -> Vec { + let messages = sanitize_direct_messages_for_reasoning_history(messages, reasoning_history_mode); + if mode == DirectToolRequestMode::Tools { - return messages.to_vec(); + return messages; } - let mut messages = messages.to_vec(); + let mut messages = messages; for message in &mut messages { let role = message.get("role").and_then(|v| v.as_str()); if role == Some("system") { @@ -4176,7 +4250,11 @@ async fn send_openai_compatible_non_streaming_chat_request( messages: &[serde_json::Value], mode: DirectToolRequestMode, ) -> Result { - let request_messages = direct_messages_for_tool_capability(messages, mode); + let request_messages = direct_messages_for_tool_capability( + messages, + mode, + direct_reasoning_history_mode(credential), + ); let mut request_body = json!({ "model": credential.model.clone(), "messages": request_messages, @@ -4234,7 +4312,11 @@ async fn send_openai_compatible_streaming_chat_request( process_key: &str, mode: DirectToolRequestMode, ) -> Result { - let request_messages = direct_messages_for_tool_capability(messages, mode); + let request_messages = direct_messages_for_tool_capability( + messages, + mode, + direct_reasoning_history_mode(credential), + ); let mut request_body = json!({ "model": credential.model.clone(), "messages": request_messages, @@ -6039,6 +6121,71 @@ mod tests { assert_eq!(parsed.message["content"], "Here is the final answer."); } + #[test] + fn test_direct_provider_loads_reasoning_from_saved_session() { + let dir = tempfile::tempdir().unwrap(); + let session_path = dir.path().join("session-reasoning.jsonl"); + let event = json!({ + "type": "assistant", + "message": { + "content": [ + { "type": "thinking", "thinking": "Need to read main.tex first." }, + { + "type": "tool_use", + "id": "call-1", + "name": "Read", + "input": { "file_path": "main.tex" } + } + ] + } + }); + std::fs::write( + &session_path, + format!("{}\n", serde_json::to_string(&event).unwrap()), + ) + .unwrap(); + + let messages = load_direct_provider_messages_from_path(&session_path).unwrap(); + + assert_eq!(messages.len(), 1); + assert_eq!(messages[0]["reasoning_content"], "Need to read main.tex first."); + assert_eq!(messages[0]["tool_calls"][0]["function"]["name"], "Read"); + } + + #[test] + fn test_direct_provider_request_history_sanitizes_reasoning_by_provider() { + let messages = vec![ + json!({ "role": "system", "content": direct_provider_system_prompt() }), + json!({ + "role": "assistant", + "reasoning_content": "Need to read main.tex first.", + "content": null, + "tool_calls": [{ + "id": "call-1", + "type": "function", + "function": { "name": "Read", "arguments": "{\"file_path\":\"main.tex\"}" } + }] + }), + ]; + + let qwen_messages = direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::Tools, + DirectReasoningHistoryMode::Strip, + ); + let deepseek_messages = direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::Tools, + DirectReasoningHistoryMode::Preserve, + ); + + assert!(qwen_messages[1].get("reasoning_content").is_none()); + assert_eq!( + deepseek_messages[1]["reasoning_content"], + "Need to read main.tex first." + ); + } + #[test] fn test_direct_provider_extracts_stream_reasoning_delta() { let delta = json!({ @@ -6078,10 +6225,19 @@ mod tests { base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1".to_string(), model: "qwen3-coder-plus".to_string(), }; + let proxied_deepseek = StoredOpenAiCompatibleCredential { + api_key: "sk-test".to_string(), + base_url: "https://openrouter.ai/api/v1".to_string(), + model: "deepseek/deepseek-v4-pro".to_string(), + }; assert!( direct_reasoning_history_mode(&deepseek) == DirectReasoningHistoryMode::Preserve ); + assert!( + direct_reasoning_history_mode(&proxied_deepseek) + == DirectReasoningHistoryMode::Preserve + ); assert!(direct_reasoning_history_mode(&qwen) == DirectReasoningHistoryMode::Strip); } @@ -6092,7 +6248,11 @@ mod tests { json!({ "role": "user", "content": "Please edit main.tex" }), ]; - let no_tools = direct_messages_for_tool_capability(&messages, DirectToolRequestMode::None); + let no_tools = direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::None, + DirectReasoningHistoryMode::Strip, + ); let content = no_tools[0]["content"].as_str().unwrap(); assert!(content.contains("does not support tool calls")); @@ -6116,7 +6276,11 @@ mod tests { json!({ "role": "tool", "tool_call_id": "call-1", "content": "main.tex contents" }), ]; - let no_tools = direct_messages_for_tool_capability(&messages, DirectToolRequestMode::None); + let no_tools = direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::None, + DirectReasoningHistoryMode::Strip, + ); assert!(no_tools[1].get("tool_calls").is_none()); assert_eq!(no_tools[1]["role"], "assistant"); @@ -6144,7 +6308,11 @@ mod tests { ]; let function_messages = - direct_messages_for_tool_capability(&messages, DirectToolRequestMode::Functions); + direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::Functions, + DirectReasoningHistoryMode::Strip, + ); assert!(function_messages[1].get("tool_calls").is_none()); assert_eq!(function_messages[1]["function_call"]["name"], "Read"); From 10855851d9b4fdea70d3e84ed2b99e55ec028962 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:28:40 +0800 Subject: [PATCH 023/118] Parse compatible provider token usage --- apps/desktop/src-tauri/src/claude.rs | 110 ++++++++++++++++++++++++--- 1 file changed, 101 insertions(+), 9 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 5887b80..486591f 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2155,21 +2155,61 @@ fn direct_reasoning_history_mode( } } +fn usage_u64(usage: &serde_json::Value, keys: &[&str]) -> Option { + keys.iter() + .find_map(|key| usage.get(*key).and_then(|v| v.as_u64())) +} + fn json_usage(value: &serde_json::Value) -> serde_json::Value { - let input_tokens = value - .pointer("/usage/prompt_tokens") - .and_then(|v| v.as_u64()) - .unwrap_or(0); - let output_tokens = value - .pointer("/usage/completion_tokens") - .and_then(|v| v.as_u64()) - .unwrap_or(0); + let usage = value.get("usage").filter(|usage| !usage.is_null()).unwrap_or(value); + let total_tokens = usage_u64(usage, &["total_tokens", "total_token_count"]); + let mut input_tokens = usage_u64( + usage, + &[ + "prompt_tokens", + "input_tokens", + "prompt_token_count", + "input_token_count", + ], + ); + let mut output_tokens = usage_u64( + usage, + &[ + "completion_tokens", + "output_tokens", + "completion_token_count", + "output_token_count", + ], + ); + + if let (Some(total), Some(input), None) = (total_tokens, input_tokens, output_tokens) { + output_tokens = total.checked_sub(input); + } + if let (Some(total), None, Some(output)) = (total_tokens, input_tokens, output_tokens) { + input_tokens = total.checked_sub(output); + } + + let input_tokens = input_tokens.unwrap_or(0); + let output_tokens = output_tokens.unwrap_or(0); json!({ "input_tokens": input_tokens, "output_tokens": output_tokens, }) } +fn usage_has_tokens(usage: &serde_json::Value) -> bool { + usage + .get("input_tokens") + .and_then(|v| v.as_u64()) + .unwrap_or(0) + > 0 + || usage + .get("output_tokens") + .and_then(|v| v.as_u64()) + .unwrap_or(0) + > 0 +} + #[derive(Clone)] struct DirectToolCall { id: String, @@ -4400,7 +4440,10 @@ async fn send_openai_compatible_streaming_chat_request( } })?; if value.get("usage").is_some() { - usage = json_usage(&value); + let next_usage = json_usage(&value); + if usage_has_tokens(&next_usage) { + usage = next_usage; + } } let Some(delta) = value.pointer("/choices/0/delta") else { continue; @@ -5416,6 +5459,55 @@ mod tests { ); } + #[test] + fn test_json_usage_reads_openai_standard_tokens() { + let usage = json_usage(&json!({ + "usage": { + "prompt_tokens": 11, + "completion_tokens": 7, + "total_tokens": 18 + } + })); + + assert_eq!(usage["input_tokens"], 11); + assert_eq!(usage["output_tokens"], 7); + } + + #[test] + fn test_json_usage_reads_compatible_input_output_aliases() { + let usage = json_usage(&json!({ + "usage": { + "input_tokens": 13, + "output_tokens": 5 + } + })); + + assert_eq!(usage["input_tokens"], 13); + assert_eq!(usage["output_tokens"], 5); + } + + #[test] + fn test_json_usage_derives_missing_side_from_total_tokens() { + let usage = json_usage(&json!({ + "usage": { + "prompt_token_count": 9, + "total_token_count": 14 + } + })); + + assert_eq!(usage["input_tokens"], 9); + assert_eq!(usage["output_tokens"], 5); + } + + #[test] + fn test_json_usage_ignores_null_stream_usage() { + let usage = json_usage(&json!({ "usage": null })); + + assert_eq!(usage["input_tokens"], 0); + assert_eq!(usage["output_tokens"], 0); + assert!(!usage_has_tokens(&usage)); + } + // --- create_command --- #[test] From 37fd47681e29fcde16969e807de48fd750fd1c29 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:39:18 +0800 Subject: [PATCH 024/118] Keep direct provider sessions consistent --- apps/desktop/src-tauri/src/claude.rs | 85 ++++++++++++++++++- .../stores/claude-chat-send-prompt.test.ts | 42 +++++++++ apps/desktop/src/stores/claude-chat-store.ts | 44 ++++++++-- 3 files changed, 159 insertions(+), 12 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 486591f..f1e50e3 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2435,6 +2435,44 @@ async fn clear_direct_provider_cancelled(state: &ClaudeProcessState, process_key state.direct_cancellations.lock().await.remove(process_key); } +async fn cache_direct_provider_messages( + state: &ClaudeProcessState, + session_id: &str, + messages: &[serde_json::Value], +) { + let mut sessions = state.direct_sessions.lock().await; + sessions.insert(session_id.to_string(), messages.to_vec()); +} + +async fn finish_direct_provider_cancelled( + window: &WebviewWindow, + project_path: &str, + session_id: &str, + tab_id: &str, + state: &ClaudeProcessState, + process_key: &str, + started: std::time::Instant, + turns: u64, + usage: &serde_json::Value, + messages: &[serde_json::Value], +) { + cache_direct_provider_messages(state, session_id, messages).await; + let elapsed_ms = started.elapsed().as_millis() as u64; + let result = json!({ + "type": "result", + "subtype": "cancelled", + "is_error": true, + "result": "Cancelled by user.", + "duration_ms": elapsed_ms, + "duration_api_ms": elapsed_ms, + "num_turns": turns, + "usage": usage, + }); + emit_and_persist_direct_output(window, project_path, session_id, tab_id, &result); + clear_direct_provider_cancelled(state, process_key).await; + emit_direct_complete(window, tab_id, false); +} + fn claude_text_from_content_blocks(content: &serde_json::Value) -> Option { if let Some(text) = content.as_str() { return Some(text.to_string()); @@ -4590,6 +4628,7 @@ async fn execute_openai_compatible_provider( if turns > 12 { let message = "Provider stopped because it used tools too many times without producing a final answer."; emit_direct_error(&window, &tab_id, message); + cache_direct_provider_messages(&state, &session_id, &messages).await; let result = json!({ "type": "result", "subtype": "error", @@ -4606,6 +4645,19 @@ async fn execute_openai_compatible_provider( } if direct_provider_cancelled(&state, &process_key).await { + finish_direct_provider_cancelled( + &window, + &project_path, + &session_id, + &tab_id, + &state, + &process_key, + started, + turns, + &final_usage, + &messages, + ) + .await; return Ok(()); } @@ -4623,8 +4675,22 @@ async fn execute_openai_compatible_provider( Ok(value) => value, Err(err) => { if direct_provider_cancelled(&state, &process_key).await { + finish_direct_provider_cancelled( + &window, + &project_path, + &session_id, + &tab_id, + &state, + &process_key, + started, + turns, + &final_usage, + &messages, + ) + .await; return Ok(()); } + cache_direct_provider_messages(&state, &session_id, &messages).await; emit_direct_error(&window, &tab_id, err); emit_direct_complete(&window, &tab_id, false); return Ok(()); @@ -4632,6 +4698,19 @@ async fn execute_openai_compatible_provider( }; if direct_provider_cancelled(&state, &process_key).await { + finish_direct_provider_cancelled( + &window, + &project_path, + &session_id, + &tab_id, + &state, + &process_key, + started, + turns, + &final_usage, + &messages, + ) + .await; return Ok(()); } @@ -4662,6 +4741,7 @@ async fn execute_openai_compatible_provider( if content_blocks.is_empty() { let message = "Provider response did not include message content or tool calls"; + cache_direct_provider_messages(&state, &session_id, &messages).await; emit_direct_error(&window, &tab_id, message); emit_direct_complete(&window, &tab_id, false); return Ok(()); @@ -4747,10 +4827,7 @@ async fn execute_openai_compatible_provider( ); } - { - let mut sessions = state.direct_sessions.lock().await; - sessions.insert(session_id.clone(), messages); - } + cache_direct_provider_messages(&state, &session_id, &messages).await; let elapsed_ms = started.elapsed().as_millis() as u64; let result = json!({ diff --git a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts index accf88e..cd2a24a 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts @@ -169,3 +169,45 @@ describe("useClaudeChatStore.sendPrompt context assembly", () => { ); }); }); + +describe("useClaudeChatStore.resumeSession", () => { + beforeEach(() => { + vi.clearAllMocks(); + resetClaudeChatStore(); + setMockDocumentState(); + }); + + it("restores token totals from loaded session history", async () => { + vi.mocked(invoke).mockResolvedValueOnce([ + { + type: "user", + message: { content: [{ type: "text", text: "hello" }] }, + }, + { + type: "assistant", + message: { + content: [{ type: "text", text: "hi" }], + usage: { input_tokens: 11, output_tokens: 7 }, + }, + }, + { + type: "result", + subtype: "success", + usage: { input_tokens: 13, output_tokens: 5 }, + }, + ]); + + await useClaudeChatStore.getState().resumeSession("session-123"); + + expect(invoke).toHaveBeenCalledWith("load_session_history", { + projectPath: "/project", + sessionId: "session-123", + }); + + const state = useClaudeChatStore.getState(); + expect(state.sessionId).toBe("session-123"); + expect(state.messages).toHaveLength(3); + expect(state.totalInputTokens).toBe(24); + expect(state.totalOutputTokens).toBe(12); + }); +}); diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 99a1b95..5aa7e48 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -103,6 +103,32 @@ function makeDefaultTab(id: string): TabState { }; } +function usageFromMessage(msg: ClaudeStreamMessage): { + input_tokens: number; + output_tokens: number; +} { + const usage = msg.usage || msg.message?.usage; + return { + input_tokens: usage?.input_tokens || 0, + output_tokens: usage?.output_tokens || 0, + }; +} + +function usageTotalsForMessages(messages: ClaudeStreamMessage[]): { + inputTokens: number; + outputTokens: number; +} { + return messages.reduce( + (totals, msg) => { + const usage = usageFromMessage(msg); + totals.inputTokens += usage.input_tokens; + totals.outputTokens += usage.output_tokens; + return totals; + }, + { inputTokens: 0, outputTokens: 0 }, + ); +} + let tabCounter = 0; function nextTabId(): string { return `tab-${++tabCounter}`; @@ -525,7 +551,14 @@ export const useClaudeChatStore = create()((set, get) => ({ } } - set((s) => applyTabUpdate(s, activeTabId, { messages })); + const totals = usageTotalsForMessages(messages); + set((s) => + applyTabUpdate(s, activeTabId, { + messages, + totalInputTokens: totals.inputTokens, + totalOutputTokens: totals.outputTokens, + }), + ); } catch (err) { log.error("Failed to load session history", { error: String(err) }); } @@ -613,13 +646,8 @@ export const useClaudeChatStore = create()((set, get) => ({ _appendMessage: (tabId: string, msg: ClaudeStreamMessage) => { set((state) => { - let inputDelta = 0; - let outputDelta = 0; - const usage = msg.usage || msg.message?.usage; - if (usage) { - inputDelta = usage.input_tokens || 0; - outputDelta = usage.output_tokens || 0; - } + const { input_tokens: inputDelta, output_tokens: outputDelta } = + usageFromMessage(msg); const tab = state.tabs.find((t) => t.id === tabId); if (!tab) return {}; From 549aacbf0a98c98fdf32c41625a236c716a34cfb Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:43:29 +0800 Subject: [PATCH 025/118] Pair cancelled direct tool calls --- apps/desktop/src-tauri/src/claude.rs | 121 ++++++++++++++++++++++----- 1 file changed, 101 insertions(+), 20 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index f1e50e3..1476a25 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2232,6 +2232,33 @@ struct DirectChatResponse { streamed_text: bool, } +fn direct_tool_result_values( + tool_call: &DirectToolCall, + content: String, + is_error: bool, +) -> (serde_json::Value, serde_json::Value) { + let block = json!({ + "type": "tool_result", + "tool_use_id": tool_call.id, + "content": content.clone(), + "is_error": is_error, + }); + let message = if tool_call.legacy_function_call { + json!({ + "role": "function", + "name": tool_call.name, + "content": content, + }) + } else { + json!({ + "role": "tool", + "tool_call_id": tool_call.id, + "content": content, + }) + }; + (block, message) +} + #[derive(Default)] struct DirectStreamingToolCall { id: Option, @@ -4777,7 +4804,46 @@ async fn execute_openai_compatible_provider( } let mut tool_result_blocks = Vec::new(); - for tool_call in &tool_calls { + for (idx, tool_call) in tool_calls.iter().enumerate() { + if direct_provider_cancelled(&state, &process_key).await { + for remaining_tool_call in &tool_calls[idx..] { + let (block, tool_message) = direct_tool_result_values( + remaining_tool_call, + "Tool execution cancelled by user.".to_string(), + true, + ); + tool_result_blocks.push(block); + messages.push(tool_message); + } + let tool_result_event = json!({ + "type": "user", + "message": { + "content": tool_result_blocks, + }, + }); + emit_and_persist_direct_output( + &window, + &project_path, + &session_id, + &tab_id, + &tool_result_event, + ); + finish_direct_provider_cancelled( + &window, + &project_path, + &session_id, + &tab_id, + &state, + &process_key, + started, + turns, + &final_usage, + &messages, + ) + .await; + return Ok(()); + } + let output = execute_direct_provider_tool( &state, &session_id, @@ -4789,25 +4855,9 @@ async fn execute_openai_compatible_provider( if !output.is_error && is_direct_task_mutation_tool(&tool_call.name) { persist_direct_task_state(&state, &project_path, &session_id).await; } - tool_result_blocks.push(json!({ - "type": "tool_result", - "tool_use_id": tool_call.id, - "content": output.content, - "is_error": output.is_error, - })); - let tool_message = if tool_call.legacy_function_call { - json!({ - "role": "function", - "name": tool_call.name, - "content": output.content, - }) - } else { - json!({ - "role": "tool", - "tool_call_id": tool_call.id, - "content": output.content, - }) - }; + let (block, tool_message) = + direct_tool_result_values(tool_call, output.content, output.is_error); + tool_result_blocks.push(block); request_messages.push(tool_message.clone()); messages.push(tool_message); } @@ -6087,6 +6137,37 @@ mod tests { assert_eq!(calls[1].input["pattern"], "Intro"); } + #[test] + fn test_direct_provider_builds_tool_result_messages() { + let tool_call = DirectToolCall { + id: "call-1".to_string(), + name: "Read".to_string(), + input: json!({ "file_path": "main.tex" }), + legacy_function_call: false, + }; + let (block, message) = + direct_tool_result_values(&tool_call, "main.tex contents".to_string(), false); + + assert_eq!(block["tool_use_id"], "call-1"); + assert_eq!(block["content"], "main.tex contents"); + assert_eq!(block["is_error"], false); + assert_eq!(message["role"], "tool"); + assert_eq!(message["tool_call_id"], "call-1"); + + let legacy_call = DirectToolCall { + id: "function_call_1".to_string(), + name: "Read".to_string(), + input: json!({ "file_path": "main.tex" }), + legacy_function_call: true, + }; + let (_, legacy_message) = + direct_tool_result_values(&legacy_call, "cancelled".to_string(), true); + + assert_eq!(legacy_message["role"], "function"); + assert_eq!(legacy_message["name"], "Read"); + assert_eq!(legacy_message["content"], "cancelled"); + } + #[test] fn test_direct_provider_parses_legacy_function_call() { let response = json!({ From de006bd76d04c2c17117762fa9c3bfbc0f2194c7 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:50:38 +0800 Subject: [PATCH 026/118] Verify compatible provider keys before saving --- apps/desktop/src-tauri/src/claude.rs | 135 ++++++++++++++++++ apps/desktop/src-tauri/src/lib.rs | 1 + .../stores/claude-setup-store.test.ts | 91 +++++++++++- apps/desktop/src/components/claude-setup.tsx | 8 +- apps/desktop/src/stores/claude-setup-store.ts | 8 ++ 5 files changed, 241 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 1476a25..1cad865 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -281,6 +281,26 @@ pub async fn save_anthropic_api_key( write_claude_prism_auth_config(&config) } +#[tauri::command] +pub async fn verify_openai_compatible_api_key( + api_key: String, + base_url: String, + model: String, +) -> Result<(), String> { + let api_key = normalize_api_key(&api_key)?; + let base_url = normalize_base_url(Some(base_url.as_str()))? + .ok_or("OpenAI-compatible provider requires a Base URL")?; + let model = normalize_model(Some(model.as_str()))? + .ok_or("OpenAI-compatible provider requires a model")?; + let credential = StoredOpenAiCompatibleCredential { + api_key, + base_url, + model, + }; + + verify_openai_compatible_credential(&credential).await +} + #[tauri::command] pub async fn clear_anthropic_api_key() -> Result<(), String> { // Clearing should also recover from an empty/corrupt legacy auth file. @@ -2143,6 +2163,92 @@ fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { || path.ends_with("compatible-mode/v1") } +fn openai_compatible_verification_body(model: &str) -> serde_json::Value { + json!({ + "model": model, + "messages": [{ + "role": "user", + "content": "Reply with exactly: ok", + }], + "stream": false, + }) +} + +fn provider_error_excerpt(body: &str) -> String { + let compact = body.split_whitespace().collect::>().join(" "); + if compact.chars().count() <= 500 { + return compact; + } + let truncated: String = compact.chars().take(500).collect(); + format!("{}...", truncated) +} + +fn openai_compatible_verification_error(status: reqwest::StatusCode, body: &str) -> String { + let detail = provider_error_excerpt(body); + let hint = match status { + reqwest::StatusCode::UNAUTHORIZED | reqwest::StatusCode::FORBIDDEN => { + "Invalid provider API key or missing model access." + } + reqwest::StatusCode::NOT_FOUND => { + "Provider endpoint or model was not found. Check the Base URL and model name." + } + reqwest::StatusCode::BAD_REQUEST | reqwest::StatusCode::UNPROCESSABLE_ENTITY => { + "Provider rejected the request. Check the Base URL and model name." + } + reqwest::StatusCode::TOO_MANY_REQUESTS => { + "Provider rate limited the verification request. Try again later." + } + _ => "Provider verification failed.", + }; + if detail.is_empty() { + format!("{} (HTTP {})", hint, status) + } else { + format!("{} (HTTP {}: {})", hint, status, detail) + } +} + +async fn verify_openai_compatible_credential( + credential: &StoredOpenAiCompatibleCredential, +) -> Result<(), String> { + let client = reqwest::Client::builder() + .timeout(std::time::Duration::from_secs(20)) + .build() + .map_err(|err| format!("Failed to create provider client: {}", err))?; + let request_body = openai_compatible_verification_body(&credential.model); + + let response = client + .post(openai_chat_completions_url(&credential.base_url)) + .bearer_auth(&credential.api_key) + .header("Content-Type", "application/json") + .body(request_body.to_string()) + .send() + .await + .map_err(|err| format!("Provider verification request failed: {}", err))?; + + let status = response.status(); + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider verification response: {}", err))?; + + if !status.is_success() { + return Err(openai_compatible_verification_error(status, &response_text)); + } + + let response_json: serde_json::Value = serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid JSON during verification: {}", err))?; + if response_json.pointer("/choices/0/message").is_none() + && response_json.pointer("/choices/0/text").is_none() + { + return Err( + "Provider verification succeeded but did not return an OpenAI-compatible chat response." + .to_string(), + ); + } + + Ok(()) +} + fn direct_reasoning_history_mode( credential: &StoredOpenAiCompatibleCredential, ) -> DirectReasoningHistoryMode { @@ -5586,6 +5692,35 @@ mod tests { ); } + #[test] + fn test_openai_compatible_verification_body_uses_chat_messages_without_tools() { + let body = openai_compatible_verification_body("qwen3-coder-plus"); + + assert_eq!(body["model"], "qwen3-coder-plus"); + assert_eq!(body["stream"], false); + assert_eq!(body["messages"][0]["role"], "user"); + assert!(body.get("tools").is_none()); + assert!(body.get("functions").is_none()); + } + + #[test] + fn test_openai_compatible_verification_error_is_actionable() { + let unauthorized = openai_compatible_verification_error( + reqwest::StatusCode::UNAUTHORIZED, + r#"{ "error": { "message": "bad key" } }"#, + ); + assert!(unauthorized.contains("Invalid provider API key")); + assert!(unauthorized.contains("bad key")); + + let not_found = + openai_compatible_verification_error(reqwest::StatusCode::NOT_FOUND, "no model"); + assert!(not_found.contains("Base URL and model name")); + + let rate_limited = + openai_compatible_verification_error(reqwest::StatusCode::TOO_MANY_REQUESTS, ""); + assert!(rate_limited.contains("rate limited")); + } + #[test] fn test_json_usage_reads_openai_standard_tokens() { let usage = json_usage(&json!({ diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index ca4d2d3..3f191cf 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -480,6 +480,7 @@ pub fn run() { claude::install_claude_cli, claude::login_claude, claude::save_anthropic_api_key, + claude::verify_openai_compatible_api_key, claude::clear_anthropic_api_key, claude::execute_claude_code, claude::continue_claude_code, diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index da6733a..9684ae7 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -1,4 +1,6 @@ -import { describe, it, expect } from "vitest"; +import { beforeEach, describe, expect, it, vi } from "vitest"; +import { invoke } from "@tauri-apps/api/core"; +import { useClaudeSetupStore } from "@/stores/claude-setup-store"; // advanceSteps is module-private — replicate for testing type StepStatus = "pending" | "active" | "complete" | "error"; @@ -95,3 +97,90 @@ describe("advanceSteps", () => { expect(result[2].status).toBe("pending"); }); }); + +describe("useClaudeSetupStore.saveApiKey", () => { + beforeEach(() => { + vi.clearAllMocks(); + useClaudeSetupStore.setState({ + status: "not-installed", + isInstalling: false, + isLoggingIn: false, + isSavingApiKey: false, + error: null, + version: null, + accountEmail: null, + providerModel: null, + providerBaseUrl: null, + installSteps: [], + installLogs: [], + installLogsVisible: false, + loginSteps: [], + }); + }); + + it("verifies OpenAI-compatible credentials before saving them", async () => { + vi.mocked(invoke).mockImplementation(async (command) => { + if (command === "check_claude_status") { + return { + installed: true, + authenticated: true, + binary_path: null, + version: "OpenAI-compatible provider", + account_email: null, + provider_model: "deepseek-v4-pro", + provider_base_url: "https://api.deepseek.com", + missing_git: false, + }; + } + return null; + }); + + const success = await useClaudeSetupStore + .getState() + .saveApiKey( + "sk-test", + "https://api.deepseek.com", + "openai-compatible", + "deepseek-v4-pro", + ); + + expect(success).toBe(true); + expect(invoke).toHaveBeenNthCalledWith(1, "verify_openai_compatible_api_key", { + apiKey: "sk-test", + baseUrl: "https://api.deepseek.com", + model: "deepseek-v4-pro", + }); + expect(invoke).toHaveBeenNthCalledWith(2, "save_anthropic_api_key", { + apiKey: "sk-test", + baseUrl: "https://api.deepseek.com", + provider: "openai-compatible", + model: "deepseek-v4-pro", + }); + }); + + it("does not save OpenAI-compatible credentials when verification fails", async () => { + vi.mocked(invoke).mockRejectedValueOnce( + new Error("Invalid provider API key"), + ); + + const success = await useClaudeSetupStore + .getState() + .saveApiKey( + "sk-test", + "https://api.deepseek.com", + "openai-compatible", + "deepseek-v4-pro", + ); + + expect(success).toBe(false); + expect(invoke).toHaveBeenCalledTimes(1); + expect(invoke).toHaveBeenCalledWith("verify_openai_compatible_api_key", { + apiKey: "sk-test", + baseUrl: "https://api.deepseek.com", + model: "deepseek-v4-pro", + }); + expect(useClaudeSetupStore.getState().error).toBe( + "Invalid provider API key", + ); + }); +}); diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 33bf385..cf68777 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -534,7 +534,13 @@ export function ClaudeSetup() { ) : ( )} - {isSavingApiKey ? "Saving..." : "Use API Key"} + {isSavingApiKey + ? selectedProvider === "openai-compatible" + ? "Verifying..." + : "Saving..." + : selectedProvider === "openai-compatible" + ? "Verify & Use API Key" + : "Use API Key"} diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 8863a28..cbb68ea 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -282,6 +282,14 @@ export const useClaudeSetupStore = create((set, get) => ({ set({ isSavingApiKey: true, error: null }); try { + if (provider === "openai-compatible") { + await invoke("verify_openai_compatible_api_key", { + apiKey: key, + baseUrl: url, + model: modelName, + }); + } + await invoke("save_anthropic_api_key", { apiKey: key, baseUrl: url || null, From 8c2ad3179c44b010a60fef2a067f874ed1f2adaf Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 04:58:05 +0800 Subject: [PATCH 027/118] Support ModelGate Claude proxy setup --- apps/desktop/src-tauri/src/claude.rs | 53 +++++-- apps/desktop/src/components/claude-setup.tsx | 138 ++++++++++++------- 2 files changed, 135 insertions(+), 56 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 1cad865..e2988ad 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -244,6 +244,17 @@ fn claude_credential_label() -> Option<&'static str> { None } +fn claude_credential_env_values( + credential: &StoredClaudeCredential, +) -> Vec<(&'static str, String)> { + let mut values = vec![("ANTHROPIC_API_KEY", credential.api_key.clone())]; + if let Some(base_url) = &credential.base_url { + values.push(("ANTHROPIC_BASE_URL", base_url.clone())); + values.push(("ANTHROPIC_AUTH_TOKEN", credential.api_key.clone())); + } + values +} + #[tauri::command] pub async fn save_anthropic_api_key( api_key: String, @@ -984,19 +995,12 @@ fn create_command( cmd.env("CLAUDE_CODE_EFFORT_LEVEL", effort_level.unwrap_or("low")); if let Some(credential) = stored_claude_credential() { - if std::env::var("ANTHROPIC_API_KEY") - .map(|value| value.trim().is_empty()) - .unwrap_or(true) - { - cmd.env("ANTHROPIC_API_KEY", credential.api_key); - } - - if let Some(base_url) = credential.base_url { - if std::env::var("ANTHROPIC_BASE_URL") + for (key, value) in claude_credential_env_values(&credential) { + if std::env::var(key) .map(|value| value.trim().is_empty()) .unwrap_or(true) { - cmd.env("ANTHROPIC_BASE_URL", base_url); + cmd.env(key, value); } } } @@ -5652,6 +5656,35 @@ mod tests { } } + #[test] + fn test_claude_external_proxy_sets_api_key_and_auth_token_envs() { + let credential = StoredClaudeCredential { + api_key: "sk-modelgate".to_string(), + base_url: Some("https://mg.aid.pub/claude-proxy".to_string()), + }; + let values = claude_credential_env_values(&credential); + + assert!(values.contains(&("ANTHROPIC_API_KEY", "sk-modelgate".to_string()))); + assert!(values.contains(&( + "ANTHROPIC_BASE_URL", + "https://mg.aid.pub/claude-proxy".to_string() + ))); + assert!(values.contains(&("ANTHROPIC_AUTH_TOKEN", "sk-modelgate".to_string()))); + } + + #[test] + fn test_claude_direct_anthropic_key_does_not_set_auth_token() { + let credential = StoredClaudeCredential { + api_key: "sk-ant-test".to_string(), + base_url: None, + }; + let values = claude_credential_env_values(&credential); + + assert!(values.contains(&("ANTHROPIC_API_KEY", "sk-ant-test".to_string()))); + assert!(!values.iter().any(|(key, _)| *key == "ANTHROPIC_AUTH_TOKEN")); + assert!(!values.iter().any(|(key, _)| *key == "ANTHROPIC_BASE_URL")); + } + #[test] fn test_openai_chat_completions_url_preserves_full_endpoint() { assert_eq!( diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index cf68777..771458d 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -33,6 +33,28 @@ type OpenAICompatiblePreset = { note: string; }; +type ClaudeCompatiblePreset = { + id: string; + label: string; + baseUrl: string; + note: string; +}; + +const CLAUDE_COMPATIBLE_PRESETS: ClaudeCompatiblePreset[] = [ + { + id: "modelgate-web", + label: "ModelGate Claude (Web)", + baseUrl: "https://mg.aid.pub/claude-proxy", + note: "Use a ModelGate web API key with the Claude proxy endpoint.", + }, + { + id: "modelgate-local", + label: "ModelGate Claude (Client)", + baseUrl: "http://localhost:13148/claude-proxy", + note: "Use a ModelGate client key while the local ModelGate client is running.", + }, +]; + const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ { id: "qwen-cn", @@ -334,17 +356,31 @@ export function ClaudeSetup() { } }; - const applyProviderPreset = (presetId: string) => { + const applyProviderPreset = ( + presetId: string, + selectedProvider: "claude-code" | "openai-compatible" = provider, + ) => { setProviderPreset(presetId); if (presetId === "custom") return; - const preset = OPENAI_COMPATIBLE_PRESETS.find( - (item) => item.id === presetId, - ); - if (!preset) return; + if (selectedProvider === "openai-compatible") { + const preset = OPENAI_COMPATIBLE_PRESETS.find( + (item) => item.id === presetId, + ); + if (!preset) return; + + setBaseUrl(preset.baseUrl); + setModel(preset.model); + return; + } + + const preset = CLAUDE_COMPATIBLE_PRESETS.find((item) => item.id === presetId); + if (!preset) { + return; + } setBaseUrl(preset.baseUrl); - setModel(preset.model); + setModel(""); }; const renderApiKeyForm = ({ @@ -387,8 +423,9 @@ export function ClaudeSetup() { | "claude-code" | "openai-compatible"; setProvider(nextProvider); + setProviderPreset("custom"); if (nextProvider === "claude-code") { - setProviderPreset("custom"); + setModel(""); } }} disabled={isSavingApiKey} @@ -401,47 +438,58 @@ export function ClaudeSetup() { )}

- Use OpenAI-compatible for Qwen, DeepSeek, GLM, Gemini, and - compatible gateways. + {selectedProvider === "openai-compatible" + ? "Use OpenAI-compatible for Qwen, DeepSeek, GLM, Gemini, and compatible gateways." + : "Use Anthropic directly, Claude Code browser sign-in, or a Claude-compatible proxy."}

- {selectedProvider === "openai-compatible" && ( -
- - - {providerPreset !== "custom" && ( -

- { - OPENAI_COMPATIBLE_PRESETS.find( - (preset) => preset.id === providerPreset, - )?.note - } -

- )} -
- )} +
+ + + {providerPreset !== "custom" && ( +

+ { + (selectedProvider === "openai-compatible" + ? OPENAI_COMPATIBLE_PRESETS + : CLAUDE_COMPATIBLE_PRESETS + ).find((preset) => preset.id === providerPreset)?.note + } +

+ )} +
setApiKey(event.target.value)} @@ -459,7 +507,7 @@ export function ClaudeSetup() {

{selectedProvider === "openai-compatible" ? "Use the API key from your model provider." - : "Anthropic Console keys start with sk-ant-. External Claude proxies need a Base URL."} + : "Anthropic keys start with sk-ant-. Claude-compatible proxies can use their own key format."}

@@ -473,14 +521,12 @@ export function ClaudeSetup() { placeholder={ selectedProvider === "openai-compatible" ? "https://api.deepseek.com or https://dashscope.aliyuncs.com/compatible-mode/v1" - : "https://proxy.example.com/claude" + : "https://mg.aid.pub/claude-proxy" } value={baseUrl} onChange={(event) => { setBaseUrl(event.target.value); - if (selectedProvider === "openai-compatible") { - setProviderPreset("custom"); - } + setProviderPreset("custom"); }} disabled={isSavingApiKey} autoComplete="off" From 1fcc94a5190eff4e4b9b03732c95e10fec5f975e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 05:02:30 +0800 Subject: [PATCH 028/118] Reject mismatched ModelGate proxy URLs --- apps/desktop/src-tauri/src/claude.rs | 61 ++++++++++++++++++++++++++++ 1 file changed, 61 insertions(+) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index e2988ad..3210201 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -169,6 +169,25 @@ fn normalize_model(value: Option<&str>) -> Result, String> { Ok(Some(clean)) } +fn known_proxy_mismatch_error(provider: &str, base_url: Option<&str>) -> Option { + let lower = base_url?.to_ascii_lowercase(); + if lower.contains("/codex-proxy") { + return Some( + "ModelGate codex-proxy uses the OpenAI Responses API, not chat/completions or Claude Code. Use a chat/completions-compatible endpoint for OpenAI-compatible providers, or choose the ModelGate Claude proxy preset for Claude Code." + .to_string(), + ); + } + + if provider == PROVIDER_OPENAI_COMPATIBLE && lower.contains("/claude-proxy") { + return Some( + "This is a Claude-compatible proxy endpoint. Select Claude Code / Anthropic API and the ModelGate Claude preset instead of OpenAI-compatible API." + .to_string(), + ); + } + + None +} + fn stored_claude_credential() -> Option { let config = read_claude_prism_auth_config().ok()?; let provider = normalize_provider(config.provider.as_deref()).ok()?; @@ -266,6 +285,9 @@ pub async fn save_anthropic_api_key( let base_url = normalize_base_url(base_url.as_deref())?; let provider = normalize_provider(provider.as_deref())?; let model = normalize_model(model.as_deref())?; + if let Some(message) = known_proxy_mismatch_error(&provider, base_url.as_deref()) { + return Err(message); + } // Saving a new key should repair an empty/corrupt legacy auth file. let mut config = read_claude_prism_auth_config().unwrap_or_default(); @@ -301,6 +323,11 @@ pub async fn verify_openai_compatible_api_key( let api_key = normalize_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; + if let Some(message) = + known_proxy_mismatch_error(PROVIDER_OPENAI_COMPATIBLE, Some(base_url.as_str())) + { + return Err(message); + } let model = normalize_model(Some(model.as_str()))? .ok_or("OpenAI-compatible provider requires a model")?; let credential = StoredOpenAiCompatibleCredential { @@ -5685,6 +5712,40 @@ mod tests { assert!(!values.iter().any(|(key, _)| *key == "ANTHROPIC_BASE_URL")); } + #[test] + fn test_known_proxy_mismatch_rejects_modelgate_codex_proxy() { + let error = known_proxy_mismatch_error( + PROVIDER_OPENAI_COMPATIBLE, + Some("https://mg.aid.pub/codex-proxy"), + ) + .unwrap(); + + assert!(error.contains("codex-proxy")); + assert!(error.contains("Responses API")); + assert!(error.contains("chat/completions")); + } + + #[test] + fn test_known_proxy_mismatch_rejects_claude_proxy_as_openai_compatible() { + let error = known_proxy_mismatch_error( + PROVIDER_OPENAI_COMPATIBLE, + Some("https://mg.aid.pub/claude-proxy"), + ) + .unwrap(); + + assert!(error.contains("Claude-compatible proxy")); + assert!(error.contains("Claude Code / Anthropic API")); + } + + #[test] + fn test_known_proxy_mismatch_allows_claude_proxy_for_claude_provider() { + assert!(known_proxy_mismatch_error( + PROVIDER_CLAUDE_CODE, + Some("https://mg.aid.pub/claude-proxy"), + ) + .is_none()); + } + #[test] fn test_openai_chat_completions_url_preserves_full_endpoint() { assert_eq!( From 25c7b79c5b846912a3774ef747a39f2b9a473461 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 09:43:28 +0800 Subject: [PATCH 029/118] Allow changing configured AI provider --- .../stores/claude-setup-store.test.ts | 35 ++++++ apps/desktop/src/components/claude-setup.tsx | 108 +++++++++++++++++- apps/desktop/src/stores/claude-setup-store.ts | 19 +++ 3 files changed, 161 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index 9684ae7..b4f212a 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -106,6 +106,7 @@ describe("useClaudeSetupStore.saveApiKey", () => { isInstalling: false, isLoggingIn: false, isSavingApiKey: false, + isClearingApiKey: false, error: null, version: null, accountEmail: null, @@ -183,4 +184,38 @@ describe("useClaudeSetupStore.saveApiKey", () => { "Invalid provider API key", ); }); + + it("clears saved credentials and refreshes status", async () => { + useClaudeSetupStore.setState({ + status: "ready", + version: "OpenAI-compatible provider", + providerModel: "qwen3-coder-plus", + providerBaseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + }); + vi.mocked(invoke).mockImplementation(async (command) => { + if (command === "check_claude_status") { + return { + installed: true, + authenticated: false, + binary_path: null, + version: "1.0.0", + account_email: null, + provider_model: null, + provider_base_url: null, + missing_git: false, + }; + } + return null; + }); + + const success = await useClaudeSetupStore.getState().clearApiKey(); + + expect(success).toBe(true); + expect(invoke).toHaveBeenNthCalledWith(1, "clear_anthropic_api_key"); + expect(invoke).toHaveBeenNthCalledWith(2, "check_claude_status"); + expect(useClaudeSetupStore.getState().status).toBe("not-authenticated"); + expect(useClaudeSetupStore.getState().providerModel).toBeNull(); + expect(useClaudeSetupStore.getState().providerBaseUrl).toBeNull(); + expect(useClaudeSetupStore.getState().isClearingApiKey).toBe(false); + }); }); diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 771458d..be76aaf 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -14,6 +14,7 @@ import { GitBranchIcon, ExternalLinkIcon, KeyRoundIcon, + Trash2Icon, } from "lucide-react"; import { open as shellOpen } from "@tauri-apps/plugin-shell"; import { Button } from "@/components/ui/button"; @@ -325,10 +326,12 @@ export function ClaudeSetup() { const [apiKey, setApiKey] = useState(""); const [baseUrl, setBaseUrl] = useState(""); const [model, setModel] = useState(""); + const [isEditingProvider, setIsEditingProvider] = useState(false); const status = useClaudeSetupStore((s) => s.status); const isInstalling = useClaudeSetupStore((s) => s.isInstalling); const isLoggingIn = useClaudeSetupStore((s) => s.isLoggingIn); const isSavingApiKey = useClaudeSetupStore((s) => s.isSavingApiKey); + const isClearingApiKey = useClaudeSetupStore((s) => s.isClearingApiKey); const error = useClaudeSetupStore((s) => s.error); const version = useClaudeSetupStore((s) => s.version); const accountEmail = useClaudeSetupStore((s) => s.accountEmail); @@ -337,6 +340,7 @@ export function ClaudeSetup() { const install = useClaudeSetupStore((s) => s.install); const login = useClaudeSetupStore((s) => s.login); const saveApiKey = useClaudeSetupStore((s) => s.saveApiKey); + const clearApiKey = useClaudeSetupStore((s) => s.clearApiKey); const checkStatus = useClaudeSetupStore((s) => s.checkStatus); const installSteps = useClaudeSetupStore((s) => s.installSteps); const loginSteps = useClaudeSetupStore((s) => s.loginSteps); @@ -353,6 +357,27 @@ export function ClaudeSetup() { setBaseUrl(""); setModel(""); setProviderPreset("custom"); + setIsEditingProvider(false); + } + }; + + const beginProviderEdit = (isDirectProvider: boolean) => { + setProvider(isDirectProvider ? "openai-compatible" : "claude-code"); + setProviderPreset("custom"); + setApiKey(""); + setBaseUrl(isDirectProvider ? providerBaseUrl || "" : ""); + setModel(isDirectProvider ? providerModel || "" : ""); + setIsEditingProvider(true); + }; + + const handleClearApiKey = async () => { + const success = await clearApiKey(); + if (success) { + setApiKey(""); + setBaseUrl(""); + setModel(""); + setProviderPreset("custom"); + setIsEditingProvider(false); } }; @@ -630,8 +655,62 @@ export function ClaudeSetup() { const readyDetail = isDirectProvider ? [version, providerModel, providerBaseUrl].filter(Boolean).join(" / ") : [version, accountEmail].filter(Boolean).join(" / "); + + if (isEditingProvider) { + return ( +
+
+ +
+

+ {isDirectProvider ? "Update AI Provider" : "Update Claude Code"} +

+

+ {readyDetail} +

+
+
+ + {renderApiKeyForm({ allowBrowserSignIn: !isDirectProvider })} + +
+ + +
+
+ ); + } + return ( -
+

@@ -641,6 +720,33 @@ export function ClaudeSetup() { {readyDetail}

+
+ + +
); } diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index cbb68ea..a3c9813 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -35,6 +35,7 @@ interface ClaudeSetupState { isInstalling: boolean; isLoggingIn: boolean; isSavingApiKey: boolean; + isClearingApiKey: boolean; error: string | null; version: string | null; accountEmail: string | null; @@ -59,6 +60,7 @@ interface ClaudeSetupState { provider?: string, model?: string, ) => Promise; + clearApiKey: () => Promise; toggleInstallLogs: () => void; // Internal helpers @@ -119,6 +121,7 @@ export const useClaudeSetupStore = create((set, get) => ({ isInstalling: false, isLoggingIn: false, isSavingApiKey: false, + isClearingApiKey: false, error: null, version: null, accountEmail: null, @@ -308,6 +311,22 @@ export const useClaudeSetupStore = create((set, get) => ({ } }, + clearApiKey: async () => { + set({ isClearingApiKey: true, error: null }); + try { + await invoke("clear_anthropic_api_key"); + set({ isClearingApiKey: false }); + await get().checkStatus(); + return true; + } catch (err: any) { + set({ + isClearingApiKey: false, + error: err?.message || String(err), + }); + return false; + } + }, + toggleInstallLogs: () => { set((state) => ({ installLogsVisible: !state.installLogsVisible })); }, From 803b5ea117c4fd5049ea4d5e4f0a8d8f731517c8 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 09:48:02 +0800 Subject: [PATCH 030/118] Expose AI provider management when ready --- apps/desktop/src/components/project-picker.tsx | 18 +++++++++++++++++- 1 file changed, 17 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index 60b3c0e..903cea5 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -16,6 +16,7 @@ import { Loader2Icon, RefreshCwIcon, ArrowUpCircleIcon, + KeyRoundIcon, } from "lucide-react"; import { useProjectStore } from "@/stores/project-store"; import { useDocumentStore } from "@/stores/document-store"; @@ -295,6 +296,7 @@ interface SkillsStatus { } function EnvironmentStatus() { + const [showAiSetup, setShowAiSetup] = useState(false); const claudeVersion = useClaudeSetupStore((s) => s.version); const claudeEmail = useClaudeSetupStore((s) => s.accountEmail); const providerModel = useClaudeSetupStore((s) => s.providerModel); @@ -365,6 +367,11 @@ function EnvironmentStatus() { ok={true} label={isDirectProvider ? "AI Provider" : "Claude Code"} detail={aiDetail} + action={{ + label: showAiSetup ? "Hide" : "Manage", + onClick: () => setShowAiSetup((value) => !value), + icon: "key", + }} /> {/* Python (uv) */} @@ -411,6 +418,8 @@ function EnvironmentStatus() { />
+ {showAiSetup && } + {showSkillsOnboarding && OnboardingComponent && ( { @@ -432,7 +441,12 @@ function StatusRow({ ok: boolean; label: string; detail: string; - action?: { label: string; onClick?: () => void; loading?: boolean }; + action?: { + label: string; + onClick?: () => void; + loading?: boolean; + icon?: "download" | "key"; + }; }) { return (
@@ -462,6 +476,8 @@ function StatusRow({ > {action.loading ? ( + ) : action.icon === "key" ? ( + ) : ( )} From 94a0f4f6b0f6b0c6fadc7405cc41edf88a8aca59 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 09:56:03 +0800 Subject: [PATCH 031/118] Replace provider dropdowns with setup cards --- apps/desktop/src/components/claude-setup.tsx | 245 ++++++++++--------- 1 file changed, 136 insertions(+), 109 deletions(-) diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index be76aaf..e921355 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -41,6 +41,16 @@ type ClaudeCompatiblePreset = { note: string; }; +type ModelProviderCard = { + id: string; + label: string; + provider: "claude-code" | "openai-compatible"; + baseUrl: string; + model: string; + badge: string; + note: string; +}; + const CLAUDE_COMPATIBLE_PRESETS: ClaudeCompatiblePreset[] = [ { id: "modelgate-web", @@ -101,6 +111,55 @@ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ }, ]; +const OPENAI_PROVIDER_CARDS: ModelProviderCard[] = [ + ...OPENAI_COMPATIBLE_PRESETS.map((preset) => ({ + ...preset, + provider: "openai-compatible" as const, + badge: preset.label + .split(/\s+/) + .slice(0, 2) + .map((part) => part[0]) + .join("") + .toUpperCase(), + })), + { + id: "custom-openai", + label: "Custom OpenAI API", + provider: "openai-compatible", + baseUrl: "", + model: "", + badge: "API", + note: "Use any chat/completions-compatible provider.", + }, +]; + +const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ + { + id: "anthropic-direct", + label: "Anthropic", + provider: "claude-code", + baseUrl: "", + model: "", + badge: "A", + note: "Use a direct Anthropic API key.", + }, + ...CLAUDE_COMPATIBLE_PRESETS.map((preset) => ({ + ...preset, + provider: "claude-code" as const, + model: "", + badge: "MG", + })), + { + id: "custom-claude-proxy", + label: "Custom Claude Proxy", + provider: "claude-code", + baseUrl: "", + model: "", + badge: "CP", + note: "Use a Claude-compatible proxy endpoint.", + }, +]; + // ─── Event Hooks ─── function useInstallEvents() { @@ -322,7 +381,7 @@ export function ClaudeSetup() { const [provider, setProvider] = useState<"claude-code" | "openai-compatible">( "claude-code", ); - const [providerPreset, setProviderPreset] = useState("custom"); + const [providerPreset, setProviderPreset] = useState("anthropic-direct"); const [apiKey, setApiKey] = useState(""); const [baseUrl, setBaseUrl] = useState(""); const [model, setModel] = useState(""); @@ -356,14 +415,20 @@ export function ClaudeSetup() { setApiKey(""); setBaseUrl(""); setModel(""); - setProviderPreset("custom"); + setProviderPreset( + selectedProvider === "openai-compatible" + ? "custom-openai" + : "anthropic-direct", + ); setIsEditingProvider(false); } }; const beginProviderEdit = (isDirectProvider: boolean) => { setProvider(isDirectProvider ? "openai-compatible" : "claude-code"); - setProviderPreset("custom"); + setProviderPreset( + isDirectProvider ? "custom-openai" : "anthropic-direct", + ); setApiKey(""); setBaseUrl(isDirectProvider ? providerBaseUrl || "" : ""); setModel(isDirectProvider ? providerModel || "" : ""); @@ -376,36 +441,16 @@ export function ClaudeSetup() { setApiKey(""); setBaseUrl(""); setModel(""); - setProviderPreset("custom"); + setProviderPreset("anthropic-direct"); setIsEditingProvider(false); } }; - const applyProviderPreset = ( - presetId: string, - selectedProvider: "claude-code" | "openai-compatible" = provider, - ) => { - setProviderPreset(presetId); - if (presetId === "custom") return; - - if (selectedProvider === "openai-compatible") { - const preset = OPENAI_COMPATIBLE_PRESETS.find( - (item) => item.id === presetId, - ); - if (!preset) return; - - setBaseUrl(preset.baseUrl); - setModel(preset.model); - return; - } - - const preset = CLAUDE_COMPATIBLE_PRESETS.find((item) => item.id === presetId); - if (!preset) { - return; - } - - setBaseUrl(preset.baseUrl); - setModel(""); + const selectProviderCard = (card: ModelProviderCard) => { + setProvider(card.provider); + setProviderPreset(card.id); + setBaseUrl(card.baseUrl); + setModel(card.model); }; const renderApiKeyForm = ({ @@ -418,6 +463,17 @@ export function ClaudeSetup() { const selectedProvider = forceOpenAiCompatible ? "openai-compatible" : provider; + const providerCards = forceOpenAiCompatible + ? OPENAI_PROVIDER_CARDS + : [...OPENAI_PROVIDER_CARDS, ...CLAUDE_PROVIDER_CARDS]; + const providerCardIds = new Set(providerCards.map((card) => card.id)); + const fallbackCardId = + selectedProvider === "openai-compatible" + ? "custom-openai" + : "anthropic-direct"; + const activeCardId = providerCardIds.has(providerPreset) + ? providerPreset + : fallbackCardId; return ( <> @@ -428,86 +484,50 @@ export function ClaudeSetup() { handleSaveApiKey(selectedProvider); }} > -
- - {forceOpenAiCompatible ? ( -
- OpenAI-compatible API -
- ) : ( - - )} -

+

+
- -
- - - {providerPreset !== "custom" && ( -

- { - (selectedProvider === "openai-compatible" - ? OPENAI_COMPATIBLE_PRESETS - : CLAUDE_COMPATIBLE_PRESETS - ).find((preset) => preset.id === providerPreset)?.note - } -

- )} +
@@ -550,8 +570,15 @@ export function ClaudeSetup() { } value={baseUrl} onChange={(event) => { - setBaseUrl(event.target.value); - setProviderPreset("custom"); + const nextUrl = event.target.value; + setBaseUrl(nextUrl); + setProviderPreset( + selectedProvider === "openai-compatible" + ? "custom-openai" + : nextUrl.trim() + ? "custom-claude-proxy" + : "anthropic-direct", + ); }} disabled={isSavingApiKey} autoComplete="off" @@ -575,7 +602,7 @@ export function ClaudeSetup() { value={model} onChange={(event) => { setModel(event.target.value); - setProviderPreset("custom"); + setProviderPreset("custom-openai"); }} disabled={isSavingApiKey} autoComplete="off" From aa5f3d6e7852d296fec9ca9c7cb1f5290ddd3902 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 10:22:53 +0800 Subject: [PATCH 032/118] Support multiple direct provider credentials --- apps/desktop/src-tauri/src/claude.rs | 320 +++++++++++++++++- apps/desktop/src-tauri/src/lib.rs | 3 + .../stores/claude-chat-send-prompt.test.ts | 1 + .../stores/claude-setup-store.test.ts | 20 ++ .../components/claude-chat/chat-composer.tsx | 273 +++++++++------ apps/desktop/src/components/claude-setup.tsx | 208 +++++++++--- apps/desktop/src/stores/claude-chat-store.ts | 14 +- apps/desktop/src/stores/claude-setup-store.ts | 78 +++++ 8 files changed, 756 insertions(+), 161 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 3210201..315857a 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -19,6 +19,8 @@ struct ClaudePrismAuthConfig { openai_api_key: Option, openai_base_url: Option, openai_model: Option, + active_openai_credential_id: Option, + openai_credentials: Vec, } struct StoredClaudeCredential { @@ -28,11 +30,30 @@ struct StoredClaudeCredential { #[derive(Clone)] struct StoredOpenAiCompatibleCredential { + id: String, + label: String, api_key: String, base_url: String, model: String, } +#[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] +struct StoredOpenAiCompatibleCredentialConfig { + id: String, + label: String, + api_key: String, + base_url: String, + model: String, +} + +#[derive(Clone, Debug, serde::Serialize)] +pub struct OpenAiCompatibleCredentialInfo { + id: String, + label: String, + base_url: String, + model: String, +} + #[derive(Clone, Debug, serde::Deserialize, serde::Serialize)] struct DirectTask { id: String, @@ -209,26 +230,109 @@ fn stored_claude_credential() -> Option { fn stored_openai_compatible_credential() -> Option { let config = read_claude_prism_auth_config().ok()?; + stored_openai_compatible_credential_from_config(&config, None) +} + +fn stored_openai_compatible_credential_by_id( + credential_id: Option<&str>, +) -> Option { + let config = read_claude_prism_auth_config().ok()?; + stored_openai_compatible_credential_from_config(&config, credential_id) +} + +fn normalized_openai_compatible_credentials( + config: &ClaudePrismAuthConfig, +) -> Vec { + let mut credentials = Vec::new(); + for credential in &config.openai_credentials { + let Ok(api_key) = normalize_api_key(&credential.api_key) else { + continue; + }; + let Some(base_url) = normalize_base_url(Some(credential.base_url.as_str())) + .ok() + .flatten() + else { + continue; + }; + let Some(model) = normalize_model(Some(credential.model.as_str())) + .ok() + .flatten() + else { + continue; + }; + let id = strip_nul(&credential.id).trim().to_string(); + if id.is_empty() { + continue; + } + let label = strip_nul(&credential.label).trim().to_string(); + credentials.push(StoredOpenAiCompatibleCredential { + id, + label: if label.is_empty() { + model.clone() + } else { + label + }, + api_key, + base_url, + model, + }); + } + + if credentials.is_empty() { + if let (Some(api_key), Some(base_url), Some(model)) = ( + config + .openai_api_key + .as_deref() + .and_then(|value| normalize_api_key(value).ok()), + normalize_base_url(config.openai_base_url.as_deref()) + .ok() + .flatten(), + normalize_model(config.openai_model.as_deref()).ok().flatten(), + ) { + credentials.push(StoredOpenAiCompatibleCredential { + id: "legacy-openai-compatible".to_string(), + label: model.clone(), + api_key, + base_url, + model, + }); + } + } + + credentials +} + +fn stored_openai_compatible_credential_from_config( + config: &ClaudePrismAuthConfig, + credential_id: Option<&str>, +) -> Option { let provider = normalize_provider(config.provider.as_deref()).ok()?; if provider != PROVIDER_OPENAI_COMPATIBLE { return None; } - let api_key = config - .openai_api_key - .and_then(|value| normalize_api_key(&value).ok())?; - let base_url = normalize_base_url(config.openai_base_url.as_deref()) - .ok() - .flatten()?; - let model = normalize_model(config.openai_model.as_deref()) - .ok() - .flatten()?; + let credentials = normalized_openai_compatible_credentials(config); + if let Some(credential_id) = credential_id { + if let Some(credential) = credentials + .iter() + .find(|credential| credential.id == credential_id) + .cloned() + { + return Some(credential); + } + } - Some(StoredOpenAiCompatibleCredential { - api_key, - base_url, - model, - }) + if let Some(active_id) = config.active_openai_credential_id.as_deref() { + if let Some(credential) = credentials + .iter() + .find(|credential| credential.id == active_id) + .cloned() + { + return Some(credential); + } + } + + credentials.into_iter().next() } fn claude_credential_label() -> Option<&'static str> { @@ -280,6 +384,8 @@ pub async fn save_anthropic_api_key( base_url: Option, provider: Option, model: Option, + credential_label: Option, + credential_id: Option, ) -> Result<(), String> { let api_key = normalize_api_key(&api_key)?; let base_url = normalize_base_url(base_url.as_deref())?; @@ -296,6 +402,51 @@ pub async fn save_anthropic_api_key( if provider == PROVIDER_OPENAI_COMPATIBLE { let base_url = base_url.ok_or("OpenAI-compatible provider requires a Base URL")?; let model = model.ok_or("OpenAI-compatible provider requires a model")?; + let label = credential_label + .as_deref() + .map(strip_nul) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(str::to_string) + .unwrap_or_else(|| model.clone()); + let credential_id = credential_id + .as_deref() + .map(strip_nul) + .map(str::trim) + .filter(|value| !value.is_empty()) + .map(str::to_string) + .or_else(|| { + config + .openai_credentials + .iter() + .find(|credential| { + credential.label == label + && credential.base_url == base_url + && credential.model == model + }) + .map(|credential| credential.id.clone()) + }) + .unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); + + let credential = StoredOpenAiCompatibleCredentialConfig { + id: credential_id.clone(), + label, + api_key: api_key.clone(), + base_url: base_url.clone(), + model: model.clone(), + }; + + if let Some(existing) = config + .openai_credentials + .iter_mut() + .find(|item| item.id == credential_id) + { + *existing = credential; + } else { + config.openai_credentials.push(credential); + } + + config.active_openai_credential_id = Some(credential_id); config.openai_api_key = Some(api_key); config.openai_base_url = Some(base_url); config.openai_model = Some(model); @@ -331,6 +482,8 @@ pub async fn verify_openai_compatible_api_key( let model = normalize_model(Some(model.as_str()))? .ok_or("OpenAI-compatible provider requires a model")?; let credential = StoredOpenAiCompatibleCredential { + id: "verification".to_string(), + label: model.clone(), api_key, base_url, model, @@ -339,6 +492,58 @@ pub async fn verify_openai_compatible_api_key( verify_openai_compatible_credential(&credential).await } +#[tauri::command] +pub async fn list_openai_compatible_models( + api_key: String, + base_url: String, +) -> Result, String> { + let api_key = normalize_api_key(&api_key)?; + let base_url = normalize_base_url(Some(base_url.as_str()))? + .ok_or("OpenAI-compatible provider requires a Base URL")?; + if let Some(message) = + known_proxy_mismatch_error(PROVIDER_OPENAI_COMPATIBLE, Some(base_url.as_str())) + { + return Err(message); + } + + let response = reqwest::Client::new() + .get(openai_models_url(&base_url)) + .bearer_auth(api_key) + .send() + .await + .map_err(|err| format!("Failed to fetch provider models: {}", err))?; + let status = response.status(); + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider models response: {}", err))?; + + if !status.is_success() { + return Err(openai_compatible_verification_error(status, &response_text)); + } + + let value: serde_json::Value = serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid models JSON: {}", err))?; + let mut models = value + .get("data") + .and_then(|value| value.as_array()) + .map(|items| { + items + .iter() + .filter_map(|item| item.get("id").and_then(|value| value.as_str())) + .map(str::to_string) + .collect::>() + }) + .unwrap_or_default(); + models.sort(); + models.dedup(); + if models.is_empty() { + return Err("Provider did not return any models.".to_string()); + } + + Ok(models) +} + #[tauri::command] pub async fn clear_anthropic_api_key() -> Result<(), String> { // Clearing should also recover from an empty/corrupt legacy auth file. @@ -349,6 +554,39 @@ pub async fn clear_anthropic_api_key() -> Result<(), String> { config.openai_api_key = None; config.openai_base_url = None; config.openai_model = None; + config.active_openai_credential_id = None; + config.openai_credentials.clear(); + write_claude_prism_auth_config(&config) +} + +#[tauri::command] +pub async fn list_openai_compatible_credentials( +) -> Result, String> { + let config = read_claude_prism_auth_config().unwrap_or_default(); + Ok(normalized_openai_compatible_credentials(&config) + .into_iter() + .map(|credential| OpenAiCompatibleCredentialInfo { + id: credential.id, + label: credential.label, + base_url: credential.base_url, + model: credential.model, + }) + .collect()) +} + +#[tauri::command] +pub async fn set_active_openai_compatible_credential(credential_id: String) -> Result<(), String> { + let mut config = read_claude_prism_auth_config().unwrap_or_default(); + let credential = normalized_openai_compatible_credentials(&config) + .into_iter() + .find(|credential| credential.id == credential_id) + .ok_or("Configured provider credential not found")?; + + config.provider = Some(PROVIDER_OPENAI_COMPATIBLE.to_string()); + config.active_openai_credential_id = Some(credential.id); + config.openai_api_key = Some(credential.api_key); + config.openai_base_url = Some(credential.base_url); + config.openai_model = Some(credential.model); write_claude_prism_auth_config(&config) } @@ -2172,6 +2410,19 @@ fn openai_chat_completions_url(base_url: &str) -> String { } } +fn openai_models_url(base_url: &str) -> String { + let clean = base_url.trim_end_matches('/'); + if let Some(root) = clean.strip_suffix("/chat/completions") { + return format!("{}/models", root.trim_end_matches('/')); + } + + if openai_compatible_base_url_has_chat_root(clean) { + format!("{}/models", clean) + } else { + format!("{}/v1/models", clean) + } +} + fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { let lower = base_url.to_ascii_lowercase(); if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { @@ -5042,8 +5293,11 @@ pub async fn execute_claude_code( tab_id: String, model: Option, effort_level: Option, + provider_credential_id: Option, ) -> Result<(), String> { - if let Some(credential) = stored_openai_compatible_credential() { + if let Some(credential) = + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + { return execute_openai_compatible_provider( window, project_path, @@ -5076,8 +5330,11 @@ pub async fn continue_claude_code( tab_id: String, model: Option, effort_level: Option, + provider_credential_id: Option, ) -> Result<(), String> { - if let Some(credential) = stored_openai_compatible_credential() { + if let Some(credential) = + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + { return execute_openai_compatible_provider( window, project_path, @@ -5111,8 +5368,11 @@ pub async fn resume_claude_code( tab_id: String, model: Option, effort_level: Option, + provider_credential_id: Option, ) -> Result<(), String> { - if let Some(credential) = stored_openai_compatible_credential() { + if let Some(credential) = + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + { return execute_openai_compatible_provider( window, project_path, @@ -5786,6 +6046,26 @@ mod tests { ); } + #[test] + fn test_openai_models_url_matches_provider_roots() { + assert_eq!( + openai_models_url("https://dashscope.aliyuncs.com/compatible-mode/v1"), + "https://dashscope.aliyuncs.com/compatible-mode/v1/models" + ); + assert_eq!( + openai_models_url("https://generativelanguage.googleapis.com/v1beta/openai/"), + "https://generativelanguage.googleapis.com/v1beta/openai/models" + ); + assert_eq!( + openai_models_url("https://open.bigmodel.cn/api/paas/v4/chat/completions"), + "https://open.bigmodel.cn/api/paas/v4/models" + ); + assert_eq!( + openai_models_url("https://api.openai.com"), + "https://api.openai.com/v1/models" + ); + } + #[test] fn test_openai_compatible_verification_body_uses_chat_messages_without_tools() { let body = openai_compatible_verification_body("qwen3-coder-plus"); @@ -6695,16 +6975,22 @@ mod tests { #[test] fn test_direct_provider_selects_reasoning_history_mode_by_provider() { let deepseek = StoredOpenAiCompatibleCredential { + id: "deepseek".to_string(), + label: "DeepSeek".to_string(), api_key: "sk-test".to_string(), base_url: "https://api.deepseek.com".to_string(), model: "deepseek-v4-pro".to_string(), }; let qwen = StoredOpenAiCompatibleCredential { + id: "qwen".to_string(), + label: "Qwen".to_string(), api_key: "sk-test".to_string(), base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1".to_string(), model: "qwen3-coder-plus".to_string(), }; let proxied_deepseek = StoredOpenAiCompatibleCredential { + id: "proxied-deepseek".to_string(), + label: "Proxied DeepSeek".to_string(), api_key: "sk-test".to_string(), base_url: "https://openrouter.ai/api/v1".to_string(), model: "deepseek/deepseek-v4-pro".to_string(), diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 3f191cf..6b5ab97 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -481,7 +481,10 @@ pub fn run() { claude::login_claude, claude::save_anthropic_api_key, claude::verify_openai_compatible_api_key, + claude::list_openai_compatible_models, claude::clear_anthropic_api_key, + claude::list_openai_compatible_credentials, + claude::set_active_openai_compatible_credential, claude::execute_claude_code, claude::continue_claude_code, claude::resume_claude_code, diff --git a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts index cd2a24a..d3fcc1b 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts @@ -50,6 +50,7 @@ function resetClaudeChatStore() { pendingInitialPrompt: null, pendingAttachments: [], selectedModel: "opus", + selectedProviderCredentialId: null, effortLevel: "medium", _cancelledByUser: false, }); diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index b4f212a..7f545f9 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -112,6 +112,8 @@ describe("useClaudeSetupStore.saveApiKey", () => { accountEmail: null, providerModel: null, providerBaseUrl: null, + openAiCredentials: [], + activeOpenAiCredentialId: null, installSteps: [], installLogs: [], installLogsVisible: false, @@ -133,6 +135,16 @@ describe("useClaudeSetupStore.saveApiKey", () => { missing_git: false, }; } + if (command === "list_openai_compatible_credentials") { + return [ + { + id: "cred-1", + label: "DeepSeek V4 Pro", + model: "deepseek-v4-pro", + base_url: "https://api.deepseek.com", + }, + ]; + } return null; }); @@ -156,6 +168,7 @@ describe("useClaudeSetupStore.saveApiKey", () => { baseUrl: "https://api.deepseek.com", provider: "openai-compatible", model: "deepseek-v4-pro", + credentialLabel: null, }); }); @@ -205,6 +218,9 @@ describe("useClaudeSetupStore.saveApiKey", () => { missing_git: false, }; } + if (command === "list_openai_compatible_credentials") { + return []; + } return null; }); @@ -213,6 +229,10 @@ describe("useClaudeSetupStore.saveApiKey", () => { expect(success).toBe(true); expect(invoke).toHaveBeenNthCalledWith(1, "clear_anthropic_api_key"); expect(invoke).toHaveBeenNthCalledWith(2, "check_claude_status"); + expect(invoke).toHaveBeenNthCalledWith( + 3, + "list_openai_compatible_credentials", + ); expect(useClaudeSetupStore.getState().status).toBe("not-authenticated"); expect(useClaudeSetupStore.getState().providerModel).toBeNull(); expect(useClaudeSetupStore.getState().providerBaseUrl).toBeNull(); diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 0281d37..943431a 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -74,13 +74,36 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const isStreaming = useClaudeChatStore((s) => s.isStreaming); const selectedModel = useClaudeChatStore((s) => s.selectedModel); const setSelectedModel = useClaudeChatStore((s) => s.setSelectedModel); + const selectedProviderCredentialId = useClaudeChatStore( + (s) => s.selectedProviderCredentialId, + ); + const setSelectedProviderCredentialId = useClaudeChatStore( + (s) => s.setSelectedProviderCredentialId, + ); const effortLevel = useClaudeChatStore((s) => s.effortLevel); const setEffortLevel = useClaudeChatStore((s) => s.setEffortLevel); const activeTabId = useClaudeChatStore((s) => s.activeTabId); const setupVersion = useClaudeSetupStore((s) => s.version); const providerModel = useClaudeSetupStore((s) => s.providerModel); + const openAiCredentials = useClaudeSetupStore((s) => s.openAiCredentials); + const activeOpenAiCredentialId = useClaudeSetupStore( + (s) => s.activeOpenAiCredentialId, + ); + const setActiveApiCredential = useClaudeSetupStore( + (s) => s.setActiveApiCredential, + ); const isDirectProvider = setupVersion === "OpenAI-compatible provider"; - const directProviderModel = providerModel || "Provider"; + const selectedProviderCredential = + openAiCredentials.find( + (credential) => credential.id === selectedProviderCredentialId, + ) ?? + openAiCredentials.find( + (credential) => credential.id === activeOpenAiCredentialId, + ) ?? + openAiCredentials[0] ?? + null; + const directProviderModel = + selectedProviderCredential?.model || providerModel || "Provider"; const [input, setInput] = useState(""); const textareaRef = useRef(null); @@ -104,10 +127,14 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { }, [modelPickerOpen]); useEffect(() => { - if (isDirectProvider) { - setModelPickerOpen(false); + if (!selectedProviderCredentialId && selectedProviderCredential?.id) { + setSelectedProviderCredentialId(selectedProviderCredential.id); } - }, [isDirectProvider]); + }, [ + selectedProviderCredential?.id, + selectedProviderCredentialId, + setSelectedProviderCredentialId, + ]); // Pinned contexts — supports multiple files/selections const [pinnedContexts, setPinnedContexts] = useState([]); @@ -746,105 +773,151 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { {/* Model picker popup — portal to body to escape all stacking contexts */} {modelPickerOpen && - !isDirectProvider && createPortal(
- {/* Models */} -
-
- Model -
- {[ - { - id: "sonnet" as const, - name: "Sonnet", - desc: "Fast, efficient for most tasks", - icon: , - }, - { - id: "opus" as const, - name: "Opus", - desc: "Most capable, complex reasoning", - icon: , - }, - { - id: "haiku" as const, - name: "Haiku", - desc: "Fastest, simple tasks", - icon: , - }, - { - id: "opusplan" as const, - name: "OpusPlan", - desc: "Opus for planning, Sonnet for execution", - icon: , - }, - ].map((m) => ( - - ))} -
- -
- - {/* Effort level */} -
-
- - Effort - - - {effortLevel === "low" - ? "Low" - : effortLevel === "medium" - ? "Medium" - : "High"} - + ) : ( + openAiCredentials.map((credential) => { + const active = + selectedProviderCredential?.id === credential.id; + return ( + + ); + }) + )}
-
- {(["low", "medium", "high"] as const).map((level) => ( - - ))} -
-
+ ) : ( + <> + {/* Models */} +
+
+ Model +
+ {[ + { + id: "sonnet" as const, + name: "Sonnet", + desc: "Fast, efficient for most tasks", + icon: , + }, + { + id: "opus" as const, + name: "Opus", + desc: "Most capable, complex reasoning", + icon: , + }, + { + id: "haiku" as const, + name: "Haiku", + desc: "Fastest, simple tasks", + icon: , + }, + { + id: "opusplan" as const, + name: "OpusPlan", + desc: "Opus for planning, Sonnet for execution", + icon: , + }, + ].map((m) => ( + + ))} +
+ +
+ + {/* Effort level */} +
+
+ + Effort + + + {effortLevel === "low" + ? "Low" + : effortLevel === "medium" + ? "Medium" + : "High"} + +
+
+ {(["low", "medium", "high"] as const).map((level) => ( + + ))} +
+
+ + )}
, document.body, )} @@ -969,14 +1042,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ))} @@ -545,7 +591,11 @@ export function ClaudeSetup() { : "sk-ant-... or provider key" } value={apiKey} - onChange={(event) => setApiKey(event.target.value)} + onChange={(event) => { + setApiKey(event.target.value); + setModelOptions([]); + setModelFetchError(null); + }} disabled={isSavingApiKey} autoComplete="off" /> @@ -572,6 +622,8 @@ export function ClaudeSetup() { onChange={(event) => { const nextUrl = event.target.value; setBaseUrl(nextUrl); + setModelOptions([]); + setModelFetchError(null); setProviderPreset( selectedProvider === "openai-compatible" ? "custom-openai" @@ -592,23 +644,72 @@ export function ClaudeSetup() { {selectedProvider === "openai-compatible" && (
- - { - setModel(event.target.value); - setProviderPreset("custom-openai"); - }} - disabled={isSavingApiKey} - autoComplete="off" - /> +
+ + +
+ {modelOptions.length > 0 ? ( + + ) : ( + { + setModel(event.target.value); + setProviderPreset("custom-openai"); + }} + disabled={isSavingApiKey} + autoComplete="off" + /> + )} + {modelFetchError && ( +

+ {modelFetchError} +

+ )}

- This model is used directly and ignores the Claude model picker. + Fetches the provider's real /models list when available.

)} @@ -710,7 +811,9 @@ export function ClaudeSetup() { setApiKey(""); setBaseUrl(""); setModel(""); - setProviderPreset("custom"); + setModelOptions([]); + setModelFetchError(null); + setProviderPreset("anthropic-direct"); }} disabled={isSavingApiKey || isClearingApiKey} > @@ -737,43 +840,60 @@ export function ClaudeSetup() { } return ( -
- -
-

- {isDirectProvider ? "AI Provider Ready" : "Claude Code Ready"} -

-

+

+
+ + + {isDirectProvider ? "AI Providers" : "Claude Code"} + + {readyDetail} -

-
-
+
+ + {isDirectProvider && openAiCredentials.length > 0 && ( +
+ {openAiCredentials.map((credential) => ( +
+ + + {credential.label} + + + {credential.model} + +
+ ))} +
+ )}
); } diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 5aa7e48..c088627 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -237,6 +237,8 @@ interface ClaudeChatState { /** Currently selected model (passed per-prompt to Claude CLI) */ selectedModel: "sonnet" | "opus" | "haiku" | "opusplan"; setSelectedModel: (model: "sonnet" | "opus" | "haiku" | "opusplan") => void; + selectedProviderCredentialId: string | null; + setSelectedProviderCredentialId: (credentialId: string | null) => void; /** Effort level for Opus 4.6 adaptive reasoning */ effortLevel: "low" | "medium" | "high"; @@ -287,6 +289,9 @@ export const useClaudeChatStore = create()((set, get) => ({ selectedModel: "opus", setSelectedModel: (model) => set({ selectedModel: model }), + selectedProviderCredentialId: null, + setSelectedProviderCredentialId: (credentialId) => + set({ selectedProviderCredentialId: credentialId }), effortLevel: "medium", setEffortLevel: (level) => set({ effortLevel: level }), @@ -327,7 +332,12 @@ export const useClaudeChatStore = create()((set, get) => ({ // Guard: prevent sending from a tab that's already streaming if (activeTab?.isStreaming) return; - const { sessionId, selectedModel, effortLevel } = state; + const { + sessionId, + selectedModel, + effortLevel, + selectedProviderCredentialId, + } = state; const sendStart = performance.now(); log.info("sendPrompt start", { @@ -450,6 +460,7 @@ export const useClaudeChatStore = create()((set, get) => ({ tabId: activeTabId, model: selectedModel, effortLevel, + providerCredentialId: selectedProviderCredentialId, }); } else { // New session @@ -459,6 +470,7 @@ export const useClaudeChatStore = create()((set, get) => ({ tabId: activeTabId, model: selectedModel, effortLevel, + providerCredentialId: selectedProviderCredentialId, }); } log.info( diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index a3c9813..7504268 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -14,6 +14,13 @@ interface ClaudeStatus { missing_git: boolean; } +export interface OpenAiCompatibleCredentialInfo { + id: string; + label: string; + base_url: string; + model: string; +} + type SetupStatus = | "checking" | "missing-git" @@ -41,6 +48,8 @@ interface ClaudeSetupState { accountEmail: string | null; providerModel: string | null; providerBaseUrl: string | null; + openAiCredentials: OpenAiCompatibleCredentialInfo[]; + activeOpenAiCredentialId: string | null; // Install progress installSteps: StepInfo[]; @@ -59,8 +68,12 @@ interface ClaudeSetupState { baseUrl?: string, provider?: string, model?: string, + credentialLabel?: string, ) => Promise; clearApiKey: () => Promise; + listApiCredentials: () => Promise; + setActiveApiCredential: (credentialId: string) => Promise; + fetchProviderModels: (apiKey: string, baseUrl: string) => Promise; toggleInstallLogs: () => void; // Internal helpers @@ -127,6 +140,8 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + openAiCredentials: [], + activeOpenAiCredentialId: null, installSteps: [], installLogs: [], @@ -138,6 +153,22 @@ export const useClaudeSetupStore = create((set, get) => ({ set({ status: "checking", error: null }); try { const result = await invoke("check_claude_status"); + let openAiCredentials: OpenAiCompatibleCredentialInfo[] = []; + try { + openAiCredentials = await invoke( + "list_openai_compatible_credentials", + ); + } catch { + openAiCredentials = []; + } + const activeOpenAiCredentialId = + openAiCredentials.find( + (credential) => + credential.model === result.provider_model && + credential.base_url === result.provider_base_url, + )?.id ?? + openAiCredentials[0]?.id ?? + null; // On Windows, Git for Windows is required before anything else if (result.missing_git) { @@ -147,6 +178,8 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + openAiCredentials, + activeOpenAiCredentialId, }); return; } @@ -158,6 +191,8 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + openAiCredentials, + activeOpenAiCredentialId, }); return; } @@ -169,6 +204,8 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + openAiCredentials, + activeOpenAiCredentialId, }); return; } @@ -179,6 +216,8 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: result.account_email, providerModel: result.provider_model, providerBaseUrl: result.provider_base_url, + openAiCredentials, + activeOpenAiCredentialId, }); } catch (err: any) { set({ @@ -242,6 +281,7 @@ export const useClaudeSetupStore = create((set, get) => ({ baseUrl?: string, provider = "claude-code", model?: string, + credentialLabel?: string, ) => { const key = apiKey.trim(); const url = baseUrl?.trim() ?? ""; @@ -298,6 +338,7 @@ export const useClaudeSetupStore = create((set, get) => ({ baseUrl: url || null, provider, model: modelName || null, + credentialLabel: credentialLabel || null, }); set({ isSavingApiKey: false }); await get().checkStatus(); @@ -327,6 +368,43 @@ export const useClaudeSetupStore = create((set, get) => ({ } }, + listApiCredentials: async () => { + const credentials = await invoke( + "list_openai_compatible_credentials", + ); + set((state) => ({ + openAiCredentials: credentials, + activeOpenAiCredentialId: + credentials.find( + (credential) => + credential.model === state.providerModel && + credential.base_url === state.providerBaseUrl, + )?.id ?? + credentials[0]?.id ?? + null, + })); + }, + + setActiveApiCredential: async (credentialId: string) => { + try { + await invoke("set_active_openai_compatible_credential", { + credentialId, + }); + await get().checkStatus(); + return true; + } catch (err: any) { + set({ error: err?.message || String(err) }); + return false; + } + }, + + fetchProviderModels: async (apiKey: string, baseUrl: string) => { + return invoke("list_openai_compatible_models", { + apiKey: apiKey.trim(), + baseUrl: baseUrl.trim(), + }); + }, + toggleInstallLogs: () => { set((state) => ({ installLogsVisible: !state.installLogsVisible })); }, From 926d27ffdb71ae7de913969b3ef61f05228efcea Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 11:09:43 +0800 Subject: [PATCH 033/118] Fix provider credential string normalization --- apps/desktop/src-tauri/src/claude.rs | 6 ++---- 1 file changed, 2 insertions(+), 4 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 315857a..b316153 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -405,16 +405,14 @@ pub async fn save_anthropic_api_key( let label = credential_label .as_deref() .map(strip_nul) - .map(str::trim) + .map(|value| value.trim().to_string()) .filter(|value| !value.is_empty()) - .map(str::to_string) .unwrap_or_else(|| model.clone()); let credential_id = credential_id .as_deref() .map(strip_nul) - .map(str::trim) + .map(|value| value.trim().to_string()) .filter(|value| !value.is_empty()) - .map(str::to_string) .or_else(|| { config .openai_credentials From 4384c749e0ad56e49df613af0a73e318307f0b53 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 11:19:04 +0800 Subject: [PATCH 034/118] Show provider logos in model selectors --- .../desktop/src/assets/providers/deepseek.svg | 14 +++ .../src/assets/providers/gemini-color.svg | 1 + apps/desktop/src/assets/providers/qwen.svg | 15 +++ .../components/claude-chat/chat-composer.tsx | 34 ++++- apps/desktop/src/components/claude-setup.tsx | 118 +++++++++++------- apps/desktop/src/lib/provider-icons.ts | 44 +++++++ 6 files changed, 179 insertions(+), 47 deletions(-) create mode 100644 apps/desktop/src/assets/providers/deepseek.svg create mode 100644 apps/desktop/src/assets/providers/gemini-color.svg create mode 100644 apps/desktop/src/assets/providers/qwen.svg create mode 100644 apps/desktop/src/lib/provider-icons.ts diff --git a/apps/desktop/src/assets/providers/deepseek.svg b/apps/desktop/src/assets/providers/deepseek.svg new file mode 100644 index 0000000..4190d3f --- /dev/null +++ b/apps/desktop/src/assets/providers/deepseek.svg @@ -0,0 +1,14 @@ + + + + + + + + + diff --git a/apps/desktop/src/assets/providers/gemini-color.svg b/apps/desktop/src/assets/providers/gemini-color.svg new file mode 100644 index 0000000..0f2e398 --- /dev/null +++ b/apps/desktop/src/assets/providers/gemini-color.svg @@ -0,0 +1 @@ +Gemini diff --git a/apps/desktop/src/assets/providers/qwen.svg b/apps/desktop/src/assets/providers/qwen.svg new file mode 100644 index 0000000..8e09246 --- /dev/null +++ b/apps/desktop/src/assets/providers/qwen.svg @@ -0,0 +1,15 @@ + + + + + + + + + + + + + + + diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 943431a..a4d42ca 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -37,6 +37,7 @@ import { useClaudeSetupStore } from "@/stores/claude-setup-store"; import { useDocumentStore, type ProjectFile } from "@/stores/document-store"; import { getUniqueTargetName } from "@/lib/tauri/fs"; import { createPdfTextSidecar, isPdfPath } from "@/lib/pdf-text-extractor"; +import { getProviderIconSrc } from "@/lib/provider-icons"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { cn } from "@/lib/utils"; import { SlashCommandPicker, type SlashCommand } from "./slash-command-picker"; @@ -104,6 +105,13 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { null; const directProviderModel = selectedProviderCredential?.model || providerModel || "Provider"; + const selectedProviderIconSrc = selectedProviderCredential + ? getProviderIconSrc({ + label: selectedProviderCredential.label, + baseUrl: selectedProviderCredential.base_url, + model: selectedProviderCredential.model, + }) + : null; const [input, setInput] = useState(""); const textareaRef = useRef(null); @@ -796,6 +804,12 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { openAiCredentials.map((credential) => { const active = selectedProviderCredential?.id === credential.id; + const iconSrc = getProviderIconSrc({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); + return ( - ))} + {active && } + + ); + })}
@@ -878,20 +890,36 @@ export function ClaudeSetup() { {isDirectProvider && openAiCredentials.length > 0 && (
- {openAiCredentials.map((credential) => ( -
- - - {credential.label} - - - {credential.model} - -
- ))} + {openAiCredentials.map((credential) => { + const iconSrc = getProviderIconSrc({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); + + return ( +
+ {iconSrc ? ( + + ) : ( + + )} + + {credential.label} + + + {credential.model} + +
+ ); + })}
)}
diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts new file mode 100644 index 0000000..37e48cd --- /dev/null +++ b/apps/desktop/src/lib/provider-icons.ts @@ -0,0 +1,44 @@ +import deepseekIcon from "@/assets/providers/deepseek.svg"; +import geminiIcon from "@/assets/providers/gemini-color.svg"; +import qwenIcon from "@/assets/providers/qwen.svg"; + +interface ProviderIconInput { + label?: string | null; + baseUrl?: string | null; + model?: string | null; + id?: string | null; +} + +export function getProviderIconSrc(input: ProviderIconInput): string | null { + const haystack = [ + input.id, + input.label, + input.baseUrl, + input.model, + ] + .filter(Boolean) + .join(" ") + .toLowerCase(); + + if ( + haystack.includes("qwen") || + haystack.includes("dashscope") || + haystack.includes("aliyuncs") + ) { + return qwenIcon; + } + + if (haystack.includes("deepseek")) { + return deepseekIcon; + } + + if ( + haystack.includes("gemini") || + haystack.includes("googleapis") || + haystack.includes("generativelanguage") + ) { + return geminiIcon; + } + + return null; +} From 431067e0f230ff41c5d9868d1d8268d5394fc4ea Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 11:25:05 +0800 Subject: [PATCH 035/118] Add Anthropic and Zhipu provider logos --- .../src/assets/providers/anthropic.svg | 3 +++ .../src/assets/providers/zhipu-color.svg | 1 + apps/desktop/src/lib/provider-icons.ts | 19 +++++++++++++++++++ 3 files changed, 23 insertions(+) create mode 100644 apps/desktop/src/assets/providers/anthropic.svg create mode 100644 apps/desktop/src/assets/providers/zhipu-color.svg diff --git a/apps/desktop/src/assets/providers/anthropic.svg b/apps/desktop/src/assets/providers/anthropic.svg new file mode 100644 index 0000000..26d103d --- /dev/null +++ b/apps/desktop/src/assets/providers/anthropic.svg @@ -0,0 +1,3 @@ + + + diff --git a/apps/desktop/src/assets/providers/zhipu-color.svg b/apps/desktop/src/assets/providers/zhipu-color.svg new file mode 100644 index 0000000..40e5bea --- /dev/null +++ b/apps/desktop/src/assets/providers/zhipu-color.svg @@ -0,0 +1 @@ +Zhipu diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts index 37e48cd..dc0f51a 100644 --- a/apps/desktop/src/lib/provider-icons.ts +++ b/apps/desktop/src/lib/provider-icons.ts @@ -1,6 +1,8 @@ +import anthropicIcon from "@/assets/providers/anthropic.svg"; import deepseekIcon from "@/assets/providers/deepseek.svg"; import geminiIcon from "@/assets/providers/gemini-color.svg"; import qwenIcon from "@/assets/providers/qwen.svg"; +import zhipuIcon from "@/assets/providers/zhipu-color.svg"; interface ProviderIconInput { label?: string | null; @@ -32,6 +34,15 @@ export function getProviderIconSrc(input: ProviderIconInput): string | null { return deepseekIcon; } + if ( + haystack.includes("glm") || + haystack.includes("zhipu") || + haystack.includes("bigmodel") || + haystack.includes("open.bigmodel.cn") + ) { + return zhipuIcon; + } + if ( haystack.includes("gemini") || haystack.includes("googleapis") || @@ -40,5 +51,13 @@ export function getProviderIconSrc(input: ProviderIconInput): string | null { return geminiIcon; } + if ( + haystack.includes("anthropic") || + haystack.includes("claude") || + haystack.includes("sk-ant") + ) { + return anthropicIcon; + } + return null; } From ba5077587a8f5ec0140824e9be405f9083d74998 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 11:51:09 +0800 Subject: [PATCH 036/118] Simplify OpenAI-compatible provider presets --- .../stores/claude-setup-store.test.ts | 2 +- .../desktop/src/assets/providers/moonshot.svg | 1 + apps/desktop/src/assets/providers/openai.svg | 1 + apps/desktop/src/components/claude-setup.tsx | 106 +++++++++++------- apps/desktop/src/lib/provider-icons.ts | 14 +++ 5 files changed, 80 insertions(+), 44 deletions(-) create mode 100644 apps/desktop/src/assets/providers/moonshot.svg create mode 100644 apps/desktop/src/assets/providers/openai.svg diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index 7f545f9..bb68d0f 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -139,7 +139,7 @@ describe("useClaudeSetupStore.saveApiKey", () => { return [ { id: "cred-1", - label: "DeepSeek V4 Pro", + label: "DeepSeek", model: "deepseek-v4-pro", base_url: "https://api.deepseek.com", }, diff --git a/apps/desktop/src/assets/providers/moonshot.svg b/apps/desktop/src/assets/providers/moonshot.svg new file mode 100644 index 0000000..829ab29 --- /dev/null +++ b/apps/desktop/src/assets/providers/moonshot.svg @@ -0,0 +1 @@ +MoonshotAI diff --git a/apps/desktop/src/assets/providers/openai.svg b/apps/desktop/src/assets/providers/openai.svg new file mode 100644 index 0000000..8c3e68d --- /dev/null +++ b/apps/desktop/src/assets/providers/openai.svg @@ -0,0 +1 @@ +OpenAI diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 40921e6..5bc9958 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -76,45 +76,45 @@ const CLAUDE_COMPATIBLE_PRESETS: ClaudeCompatiblePreset[] = [ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ { - id: "qwen-cn", - label: "Qwen Code (China)", - baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", - model: "qwen3-coder-plus", - note: "Alibaba Cloud Model Studio China endpoint.", + id: "openai", + label: "OpenAI", + baseUrl: "https://api.openai.com", + model: "", + note: "OpenAI chat completions endpoint.", }, { - id: "qwen-intl", - label: "Qwen Code (Intl)", - baseUrl: "https://dashscope-intl.aliyuncs.com/compatible-mode/v1", - model: "qwen3-coder-plus", - note: "Alibaba Cloud Model Studio international endpoint.", + id: "qwen", + label: "Qwen", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "", + note: "Alibaba Cloud Model Studio endpoint.", }, { id: "deepseek", - label: "DeepSeek V4 Pro", + label: "DeepSeek", baseUrl: "https://api.deepseek.com", - model: "deepseek-v4-pro", + model: "", note: "DeepSeek OpenAI-compatible endpoint.", }, { - id: "deepseek-fast", - label: "DeepSeek V4 Flash", - baseUrl: "https://api.deepseek.com", - model: "deepseek-v4-flash", - note: "Lower-latency DeepSeek option.", + id: "moonshot", + label: "Moonshot / Kimi", + baseUrl: "https://api.moonshot.cn/v1", + model: "", + note: "Moonshot AI OpenAI-compatible endpoint.", }, { id: "glm", label: "GLM (BigModel)", baseUrl: "https://open.bigmodel.cn/api/paas/v4", - model: "glm-5.1", + model: "", note: "Zhipu BigModel chat completions endpoint.", }, { id: "gemini", label: "Gemini OpenAI", baseUrl: "https://generativelanguage.googleapis.com/v1beta/openai", - model: "gemini-2.5-flash", + model: "", note: "Google Gemini OpenAI-compatible endpoint.", }, ]; @@ -130,15 +130,6 @@ const OPENAI_PROVIDER_CARDS: ModelProviderCard[] = [ .join("") .toUpperCase(), })), - { - id: "custom-openai", - label: "Custom OpenAI API", - provider: "openai-compatible", - baseUrl: "", - model: "", - badge: "API", - note: "Use any chat/completions-compatible provider.", - }, ]; const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ @@ -168,6 +159,31 @@ const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ }, ]; +const OPENAI_DEFAULT_PRESET_ID = OPENAI_PROVIDER_CARDS[0]?.id ?? "openai"; + +function normalizePresetBaseUrl(url: string) { + return url + .trim() + .replace(/\/chat\/completions$/i, "") + .replace(/\/+$/, "") + .toLowerCase(); +} + +function findOpenAiPresetIdForBaseUrl(baseUrl?: string | null) { + const normalized = normalizePresetBaseUrl(baseUrl ?? ""); + if (!normalized) return null; + + return ( + OPENAI_COMPATIBLE_PRESETS.find( + (preset) => normalizePresetBaseUrl(preset.baseUrl) === normalized, + )?.id ?? null + ); +} + +function openAiPresetIdForBaseUrl(baseUrl?: string | null) { + return findOpenAiPresetIdForBaseUrl(baseUrl) ?? OPENAI_DEFAULT_PRESET_ID; +} + // ─── Event Hooks ─── function useInstallEvents() { @@ -424,6 +440,10 @@ export function ClaudeSetup() { selectedProvider: "claude-code" | "openai-compatible" = provider, credentialLabel?: string, ) => { + const savedPreset = + selectedProvider === "openai-compatible" + ? openAiPresetIdForBaseUrl(baseUrl) + : "anthropic-direct"; const success = await saveApiKey( apiKey, baseUrl, @@ -437,11 +457,7 @@ export function ClaudeSetup() { setModel(""); setModelOptions([]); setModelFetchError(null); - setProviderPreset( - selectedProvider === "openai-compatible" - ? "custom-openai" - : "anthropic-direct", - ); + setProviderPreset(savedPreset); setIsEditingProvider(false); } }; @@ -449,7 +465,9 @@ export function ClaudeSetup() { const beginProviderEdit = (isDirectProvider: boolean) => { setProvider(isDirectProvider ? "openai-compatible" : "claude-code"); setProviderPreset( - isDirectProvider ? "custom-openai" : "anthropic-direct", + isDirectProvider + ? openAiPresetIdForBaseUrl(providerBaseUrl) + : "anthropic-direct", ); setApiKey(""); setBaseUrl(isDirectProvider ? providerBaseUrl || "" : ""); @@ -490,7 +508,6 @@ export function ClaudeSetup() { if (!models.includes(model)) { setModel(models[0] ?? ""); } - setProviderPreset("custom-openai"); } catch (err: any) { setModelOptions([]); setModelFetchError(err?.message || String(err)); @@ -515,7 +532,7 @@ export function ClaudeSetup() { const providerCardIds = new Set(providerCards.map((card) => card.id)); const fallbackCardId = selectedProvider === "openai-compatible" - ? "custom-openai" + ? OPENAI_DEFAULT_PRESET_ID : "anthropic-direct"; const activeCardId = providerCardIds.has(providerPreset) ? providerPreset @@ -633,16 +650,21 @@ export function ClaudeSetup() { value={baseUrl} onChange={(event) => { const nextUrl = event.target.value; + const matchingPreset = findOpenAiPresetIdForBaseUrl(nextUrl); setBaseUrl(nextUrl); setModelOptions([]); setModelFetchError(null); - setProviderPreset( - selectedProvider === "openai-compatible" - ? "custom-openai" - : nextUrl.trim() + if (selectedProvider === "openai-compatible") { + if (matchingPreset) { + setProviderPreset(matchingPreset); + } + } else { + setProviderPreset( + nextUrl.trim() ? "custom-claude-proxy" : "anthropic-direct", - ); + ); + } }} disabled={isSavingApiKey} autoComplete="off" @@ -686,7 +708,6 @@ export function ClaudeSetup() { value={model} onValueChange={(value) => { setModel(value); - setProviderPreset("custom-openai"); }} disabled={isSavingApiKey} > @@ -709,7 +730,6 @@ export function ClaudeSetup() { value={model} onChange={(event) => { setModel(event.target.value); - setProviderPreset("custom-openai"); }} disabled={isSavingApiKey} autoComplete="off" diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts index dc0f51a..cbc1b86 100644 --- a/apps/desktop/src/lib/provider-icons.ts +++ b/apps/desktop/src/lib/provider-icons.ts @@ -1,6 +1,8 @@ import anthropicIcon from "@/assets/providers/anthropic.svg"; import deepseekIcon from "@/assets/providers/deepseek.svg"; import geminiIcon from "@/assets/providers/gemini-color.svg"; +import moonshotIcon from "@/assets/providers/moonshot.svg"; +import openaiIcon from "@/assets/providers/openai.svg"; import qwenIcon from "@/assets/providers/qwen.svg"; import zhipuIcon from "@/assets/providers/zhipu-color.svg"; @@ -51,6 +53,14 @@ export function getProviderIconSrc(input: ProviderIconInput): string | null { return geminiIcon; } + if ( + haystack.includes("moonshot") || + haystack.includes("kimi") || + haystack.includes("api.moonshot.cn") + ) { + return moonshotIcon; + } + if ( haystack.includes("anthropic") || haystack.includes("claude") || @@ -59,5 +69,9 @@ export function getProviderIconSrc(input: ProviderIconInput): string | null { return anthropicIcon; } + if (haystack.includes("openai") || haystack.includes("api.openai.com")) { + return openaiIcon; + } + return null; } From 880a6ed0979fb0c5b6779602342d07575dc2341f Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 11:56:45 +0800 Subject: [PATCH 037/118] Derive provider labels from configured endpoints --- .../src/__tests__/lib/provider-icons.test.ts | 32 ++++++++ .../components/claude-chat/chat-composer.tsx | 21 ++++- apps/desktop/src/components/claude-setup.tsx | 18 +++-- apps/desktop/src/lib/provider-icons.ts | 76 ++++++++++++++++++- 4 files changed, 134 insertions(+), 13 deletions(-) create mode 100644 apps/desktop/src/__tests__/lib/provider-icons.test.ts diff --git a/apps/desktop/src/__tests__/lib/provider-icons.test.ts b/apps/desktop/src/__tests__/lib/provider-icons.test.ts new file mode 100644 index 0000000..01c83fe --- /dev/null +++ b/apps/desktop/src/__tests__/lib/provider-icons.test.ts @@ -0,0 +1,32 @@ +import { describe, expect, it } from "vitest"; +import { getProviderDisplayName } from "@/lib/provider-icons"; + +describe("getProviderDisplayName", () => { + it("derives provider names from old custom labels", () => { + expect( + getProviderDisplayName({ + label: "Custom OpenAI API", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3.7-plus", + }), + ).toBe("Qwen"); + + expect( + getProviderDisplayName({ + label: "Custom OpenAI API", + baseUrl: "https://open.bigmodel.cn/api/paas/v4", + model: "glm-5.1", + }), + ).toBe("GLM"); + }); + + it("keeps meaningful provider labels for unknown endpoints", () => { + expect( + getProviderDisplayName({ + label: "Acme AI", + baseUrl: "https://models.example.test/v1", + model: "acme-large", + }), + ).toBe("Acme AI"); + }); +}); diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index a4d42ca..268315b 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -37,7 +37,10 @@ import { useClaudeSetupStore } from "@/stores/claude-setup-store"; import { useDocumentStore, type ProjectFile } from "@/stores/document-store"; import { getUniqueTargetName } from "@/lib/tauri/fs"; import { createPdfTextSidecar, isPdfPath } from "@/lib/pdf-text-extractor"; -import { getProviderIconSrc } from "@/lib/provider-icons"; +import { + getProviderDisplayName, + getProviderIconSrc, +} from "@/lib/provider-icons"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { cn } from "@/lib/utils"; import { SlashCommandPicker, type SlashCommand } from "./slash-command-picker"; @@ -105,6 +108,13 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { null; const directProviderModel = selectedProviderCredential?.model || providerModel || "Provider"; + const selectedProviderDisplayName = selectedProviderCredential + ? getProviderDisplayName({ + label: selectedProviderCredential.label, + baseUrl: selectedProviderCredential.base_url, + model: selectedProviderCredential.model, + }) + : "Provider"; const selectedProviderIconSrc = selectedProviderCredential ? getProviderIconSrc({ label: selectedProviderCredential.label, @@ -804,6 +814,11 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { openAiCredentials.map((credential) => { const active = selectedProviderCredential?.id === credential.id; + const displayName = getProviderDisplayName({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); const iconSrc = getProviderIconSrc({ label: credential.label, baseUrl: credential.base_url, @@ -836,7 +851,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { )}
- {credential.label} + {displayName}
{credential.model} @@ -1084,7 +1099,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { )} - {selectedProviderCredential?.label ?? "Provider"} + {selectedProviderDisplayName} {directProviderModel} diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 5bc9958..fd0f4f9 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -31,7 +31,10 @@ import { useClaudeSetupStore, type StepInfo, } from "@/stores/claude-setup-store"; -import { getProviderIconSrc } from "@/lib/provider-icons"; +import { + getProviderDisplayName, + getProviderIconSrc, +} from "@/lib/provider-icons"; import { cn } from "@/lib/utils"; type OpenAICompatiblePreset = { @@ -66,12 +69,6 @@ const CLAUDE_COMPATIBLE_PRESETS: ClaudeCompatiblePreset[] = [ baseUrl: "https://mg.aid.pub/claude-proxy", note: "Use a ModelGate web API key with the Claude proxy endpoint.", }, - { - id: "modelgate-local", - label: "ModelGate Claude (Client)", - baseUrl: "http://localhost:13148/claude-proxy", - note: "Use a ModelGate client key while the local ModelGate client is running.", - }, ]; const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ @@ -911,6 +908,11 @@ export function ClaudeSetup() { {isDirectProvider && openAiCredentials.length > 0 && (
{openAiCredentials.map((credential) => { + const displayName = getProviderDisplayName({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); const iconSrc = getProviderIconSrc({ label: credential.label, baseUrl: credential.base_url, @@ -932,7 +934,7 @@ export function ClaudeSetup() { )} - {credential.label} + {displayName} {credential.model} diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts index cbc1b86..9715b91 100644 --- a/apps/desktop/src/lib/provider-icons.ts +++ b/apps/desktop/src/lib/provider-icons.ts @@ -13,8 +13,8 @@ interface ProviderIconInput { id?: string | null; } -export function getProviderIconSrc(input: ProviderIconInput): string | null { - const haystack = [ +function providerHaystack(input: ProviderIconInput) { + return [ input.id, input.label, input.baseUrl, @@ -23,6 +23,78 @@ export function getProviderIconSrc(input: ProviderIconInput): string | null { .filter(Boolean) .join(" ") .toLowerCase(); +} + +function isGenericOpenAiLabel(label?: string | null) { + const normalized = label?.trim().toLowerCase(); + return ( + !normalized || + normalized === "custom openai api" || + normalized === "openai-compatible provider" + ); +} + +export function getProviderDisplayName(input: ProviderIconInput): string { + const haystack = providerHaystack(input); + + if ( + haystack.includes("qwen") || + haystack.includes("dashscope") || + haystack.includes("aliyuncs") + ) { + return "Qwen"; + } + + if (haystack.includes("deepseek")) { + return "DeepSeek"; + } + + if ( + haystack.includes("glm") || + haystack.includes("zhipu") || + haystack.includes("bigmodel") || + haystack.includes("open.bigmodel.cn") + ) { + return "GLM"; + } + + if ( + haystack.includes("gemini") || + haystack.includes("googleapis") || + haystack.includes("generativelanguage") + ) { + return "Gemini"; + } + + if ( + haystack.includes("moonshot") || + haystack.includes("kimi") || + haystack.includes("api.moonshot.cn") + ) { + return "Moonshot / Kimi"; + } + + if ( + haystack.includes("anthropic") || + haystack.includes("claude") || + haystack.includes("sk-ant") + ) { + return "Anthropic"; + } + + if (haystack.includes("openai") || haystack.includes("api.openai.com")) { + return "OpenAI"; + } + + if (!isGenericOpenAiLabel(input.label)) { + return input.label!.trim(); + } + + return "Provider"; +} + +export function getProviderIconSrc(input: ProviderIconInput): string | null { + const haystack = providerHaystack(input); if ( haystack.includes("qwen") || From 3943ed57af71e52a615a305f3c804801efff9cb0 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 12:01:49 +0800 Subject: [PATCH 038/118] Remove custom Claude proxy preset --- apps/desktop/src/components/claude-setup.tsx | 32 +++++++++++--------- 1 file changed, 18 insertions(+), 14 deletions(-) diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index fd0f4f9..eb7c43d 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -145,15 +145,6 @@ const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ model: "", badge: "MG", })), - { - id: "custom-claude-proxy", - label: "Custom Claude Proxy", - provider: "claude-code", - baseUrl: "", - model: "", - badge: "CP", - note: "Use a Claude-compatible proxy endpoint.", - }, ]; const OPENAI_DEFAULT_PRESET_ID = OPENAI_PROVIDER_CARDS[0]?.id ?? "openai"; @@ -181,6 +172,17 @@ function openAiPresetIdForBaseUrl(baseUrl?: string | null) { return findOpenAiPresetIdForBaseUrl(baseUrl) ?? OPENAI_DEFAULT_PRESET_ID; } +function findClaudePresetIdForBaseUrl(baseUrl?: string | null) { + const normalized = normalizePresetBaseUrl(baseUrl ?? ""); + if (!normalized) return null; + + return ( + CLAUDE_COMPATIBLE_PRESETS.find( + (preset) => normalizePresetBaseUrl(preset.baseUrl) === normalized, + )?.id ?? null + ); +} + // ─── Event Hooks ─── function useInstallEvents() { @@ -648,6 +650,8 @@ export function ClaudeSetup() { onChange={(event) => { const nextUrl = event.target.value; const matchingPreset = findOpenAiPresetIdForBaseUrl(nextUrl); + const matchingClaudePreset = + findClaudePresetIdForBaseUrl(nextUrl); setBaseUrl(nextUrl); setModelOptions([]); setModelFetchError(null); @@ -656,11 +660,11 @@ export function ClaudeSetup() { setProviderPreset(matchingPreset); } } else { - setProviderPreset( - nextUrl.trim() - ? "custom-claude-proxy" - : "anthropic-direct", - ); + if (matchingClaudePreset) { + setProviderPreset(matchingClaudePreset); + } else if (!nextUrl.trim()) { + setProviderPreset("anthropic-direct"); + } } }} disabled={isSavingApiKey} From 1654aab370d1f6846713c7985b3b4fc654f09dd1 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 12:17:15 +0800 Subject: [PATCH 039/118] Support chat provider and model switching --- apps/desktop/src-tauri/src/claude.rs | 50 +- apps/desktop/src-tauri/src/lib.rs | 1 + .../stores/claude-chat-send-prompt.test.ts | 39 +- .../components/claude-chat/chat-composer.tsx | 457 ++++++++++++------ apps/desktop/src/stores/claude-chat-store.ts | 26 +- 5 files changed, 408 insertions(+), 165 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index b316153..2497b1e 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -306,11 +306,6 @@ fn stored_openai_compatible_credential_from_config( config: &ClaudePrismAuthConfig, credential_id: Option<&str>, ) -> Option { - let provider = normalize_provider(config.provider.as_deref()).ok()?; - if provider != PROVIDER_OPENAI_COMPATIBLE { - return None; - } - let credentials = normalized_openai_compatible_credentials(config); if let Some(credential_id) = credential_id { if let Some(credential) = credentials @@ -322,6 +317,11 @@ fn stored_openai_compatible_credential_from_config( } } + let provider = normalize_provider(config.provider.as_deref()).ok()?; + if provider != PROVIDER_OPENAI_COMPATIBLE { + return None; + } + if let Some(active_id) = config.active_openai_credential_id.as_deref() { if let Some(credential) = credentials .iter() @@ -504,8 +504,28 @@ pub async fn list_openai_compatible_models( return Err(message); } + fetch_openai_compatible_models(&api_key, &base_url).await +} + +#[tauri::command] +pub async fn list_openai_compatible_credential_models( + credential_id: String, +) -> Result, String> { + let config = read_claude_prism_auth_config().unwrap_or_default(); + let credential = normalized_openai_compatible_credentials(&config) + .into_iter() + .find(|credential| credential.id == credential_id) + .ok_or("Configured provider credential not found")?; + + fetch_openai_compatible_models(&credential.api_key, &credential.base_url).await +} + +async fn fetch_openai_compatible_models( + api_key: &str, + base_url: &str, +) -> Result, String> { let response = reqwest::Client::new() - .get(openai_models_url(&base_url)) + .get(openai_models_url(base_url)) .bearer_auth(api_key) .send() .await @@ -5292,10 +5312,14 @@ pub async fn execute_claude_code( model: Option, effort_level: Option, provider_credential_id: Option, + provider_model_override: Option, ) -> Result<(), String> { - if let Some(credential) = + if let Some(mut credential) = stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) { + if let Some(model) = normalize_model(provider_model_override.as_deref())? { + credential.model = model; + } return execute_openai_compatible_provider( window, project_path, @@ -5329,10 +5353,14 @@ pub async fn continue_claude_code( model: Option, effort_level: Option, provider_credential_id: Option, + provider_model_override: Option, ) -> Result<(), String> { - if let Some(credential) = + if let Some(mut credential) = stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) { + if let Some(model) = normalize_model(provider_model_override.as_deref())? { + credential.model = model; + } return execute_openai_compatible_provider( window, project_path, @@ -5367,10 +5395,14 @@ pub async fn resume_claude_code( model: Option, effort_level: Option, provider_credential_id: Option, + provider_model_override: Option, ) -> Result<(), String> { - if let Some(credential) = + if let Some(mut credential) = stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) { + if let Some(model) = normalize_model(provider_model_override.as_deref())? { + credential.model = model; + } return execute_openai_compatible_provider( window, project_path, diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 6b5ab97..16092b2 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -482,6 +482,7 @@ pub fn run() { claude::save_anthropic_api_key, claude::verify_openai_compatible_api_key, claude::list_openai_compatible_models, + claude::list_openai_compatible_credential_models, claude::clear_anthropic_api_key, claude::list_openai_compatible_credentials, claude::set_active_openai_compatible_credential, diff --git a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts index d3fcc1b..033af88 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-send-prompt.test.ts @@ -23,7 +23,10 @@ vi.mock("@/stores/history-store", () => ({ }, })); -import { useClaudeChatStore } from "@/stores/claude-chat-store"; +import { + CLAUDE_CODE_PROVIDER_ID, + useClaudeChatStore, +} from "@/stores/claude-chat-store"; function resetClaudeChatStore() { useClaudeChatStore.setState({ @@ -51,6 +54,7 @@ function resetClaudeChatStore() { pendingAttachments: [], selectedModel: "opus", selectedProviderCredentialId: null, + selectedProviderModels: {}, effortLevel: "medium", _cancelledByUser: false, }); @@ -169,6 +173,39 @@ describe("useClaudeChatStore.sendPrompt context assembly", () => { "[claude] Before Claude edit", ); }); + + it("sends Claude Code when the Claude provider option is selected", async () => { + useClaudeChatStore.setState({ + selectedProviderCredentialId: CLAUDE_CODE_PROVIDER_ID, + }); + + await useClaudeChatStore.getState().sendPrompt("Use Claude"); + + expect(invoke).toHaveBeenCalledWith( + "execute_claude_code", + expect.objectContaining({ + providerCredentialId: null, + providerModelOverride: null, + }), + ); + }); + + it("passes an OpenAI-compatible model override with the provider credential", async () => { + useClaudeChatStore.setState({ + selectedProviderCredentialId: "qwen-cred", + selectedProviderModels: { "qwen-cred": "qwen3.7-plus" }, + }); + + await useClaudeChatStore.getState().sendPrompt("Use Qwen"); + + expect(invoke).toHaveBeenCalledWith( + "execute_claude_code", + expect.objectContaining({ + providerCredentialId: "qwen-cred", + providerModelOverride: "qwen3.7-plus", + }), + ); + }); }); describe("useClaudeChatStore.resumeSession", () => { diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 268315b..d5a8a59 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -30,6 +30,7 @@ import { writeFile, mkdir, exists } from "@tauri-apps/plugin-fs"; import { join } from "@tauri-apps/api/path"; import { invoke } from "@tauri-apps/api/core"; import { + CLAUDE_CODE_PROVIDER_ID, useClaudeChatStore, offsetToLineCol, } from "@/stores/claude-chat-store"; @@ -84,11 +85,15 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const setSelectedProviderCredentialId = useClaudeChatStore( (s) => s.setSelectedProviderCredentialId, ); + const selectedProviderModels = useClaudeChatStore( + (s) => s.selectedProviderModels, + ); + const setSelectedProviderModel = useClaudeChatStore( + (s) => s.setSelectedProviderModel, + ); const effortLevel = useClaudeChatStore((s) => s.effortLevel); const setEffortLevel = useClaudeChatStore((s) => s.setEffortLevel); const activeTabId = useClaudeChatStore((s) => s.activeTabId); - const setupVersion = useClaudeSetupStore((s) => s.version); - const providerModel = useClaudeSetupStore((s) => s.providerModel); const openAiCredentials = useClaudeSetupStore((s) => s.openAiCredentials); const activeOpenAiCredentialId = useClaudeSetupStore( (s) => s.activeOpenAiCredentialId, @@ -96,18 +101,27 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const setActiveApiCredential = useClaudeSetupStore( (s) => s.setActiveApiCredential, ); - const isDirectProvider = setupVersion === "OpenAI-compatible provider"; - const selectedProviderCredential = - openAiCredentials.find( - (credential) => credential.id === selectedProviderCredentialId, - ) ?? + const activeProviderCredential = openAiCredentials.find( (credential) => credential.id === activeOpenAiCredentialId, ) ?? openAiCredentials[0] ?? null; + const selectedProviderCredential = + selectedProviderCredentialId && + selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID + ? openAiCredentials.find( + (credential) => credential.id === selectedProviderCredentialId, + ) ?? null + : selectedProviderCredentialId === CLAUDE_CODE_PROVIDER_ID + ? null + : activeProviderCredential; + const selectedProviderModel = selectedProviderCredential + ? selectedProviderModels[selectedProviderCredential.id] || + selectedProviderCredential.model + : null; const directProviderModel = - selectedProviderCredential?.model || providerModel || "Provider"; + selectedProviderModel || selectedProviderCredential?.model || "Provider"; const selectedProviderDisplayName = selectedProviderCredential ? getProviderDisplayName({ label: selectedProviderCredential.label, @@ -122,6 +136,15 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { model: selectedProviderCredential.model, }) : null; + const [providerModelOptions, setProviderModelOptions] = useState< + Record + >({}); + const [providerModelLoadingId, setProviderModelLoadingId] = useState< + string | null + >(null); + const [providerModelError, setProviderModelError] = useState( + null, + ); const [input, setInput] = useState(""); const textareaRef = useRef(null); @@ -145,15 +168,75 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { }, [modelPickerOpen]); useEffect(() => { - if (!selectedProviderCredentialId && selectedProviderCredential?.id) { - setSelectedProviderCredentialId(selectedProviderCredential.id); + if (!selectedProviderCredentialId && activeProviderCredential?.id) { + setSelectedProviderCredentialId(activeProviderCredential.id); + return; + } + + if ( + selectedProviderCredentialId && + selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID && + !openAiCredentials.some( + (credential) => credential.id === selectedProviderCredentialId, + ) + ) { + setSelectedProviderCredentialId( + activeProviderCredential?.id ?? CLAUDE_CODE_PROVIDER_ID, + ); } }, [ - selectedProviderCredential?.id, + activeProviderCredential?.id, + openAiCredentials, selectedProviderCredentialId, setSelectedProviderCredentialId, ]); + useEffect(() => { + if (!modelPickerOpen || !selectedProviderCredential) return; + + const credentialId = selectedProviderCredential.id; + if (providerModelOptions[credentialId]) return; + + let cancelled = false; + setProviderModelLoadingId(credentialId); + setProviderModelError(null); + + invoke("list_openai_compatible_credential_models", { + credentialId, + }) + .then((models) => { + if (cancelled) return; + const options = Array.from( + new Set([selectedProviderCredential.model, ...models].filter(Boolean)), + ); + setProviderModelOptions((prev) => ({ + ...prev, + [credentialId]: options, + })); + }) + .catch((err: any) => { + if (cancelled) return; + setProviderModelError(err?.message || String(err)); + setProviderModelOptions((prev) => ({ + ...prev, + [credentialId]: [selectedProviderCredential.model].filter(Boolean), + })); + }) + .finally(() => { + if (!cancelled) { + setProviderModelLoadingId(null); + } + }); + + return () => { + cancelled = true; + }; + }, [ + modelPickerOpen, + providerModelOptions, + selectedProviderCredential, + ]); + // Pinned contexts — supports multiple files/selections const [pinnedContexts, setPinnedContexts] = useState([]); @@ -774,6 +857,42 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { return () => document.removeEventListener("mousedown", handleClickOutside); }, [modelPickerOpen]); + const claudeModelOptions = [ + { + id: "sonnet" as const, + name: "Sonnet", + desc: "Fast, efficient for most tasks", + icon: , + }, + { + id: "opus" as const, + name: "Opus", + desc: "Most capable, complex reasoning", + icon: , + }, + { + id: "haiku" as const, + name: "Haiku", + desc: "Fastest, simple tasks", + icon: , + }, + { + id: "opusplan" as const, + name: "OpusPlan", + desc: "Opus for planning, Sonnet for execution", + icon: , + }, + ]; + const activeProviderModelOptions = selectedProviderCredential + ? providerModelOptions[selectedProviderCredential.id] ?? [ + selectedProviderCredential.model, + ] + : []; + const activeProviderModelsLoading = + !!selectedProviderCredential && + providerModelLoadingId === selectedProviderCredential.id; + const claudeProviderActive = !selectedProviderCredential; + return (
{/* / slash command picker — portal to body to escape all stacking contexts */} @@ -794,167 +913,201 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { createPortal(
- {isDirectProvider ? ( -
+
+
Provider
- {openAiCredentials.length === 0 ? ( -
- No configured providers + - return ( + {openAiCredentials.map((credential) => { + const active = selectedProviderCredential?.id === credential.id; + const displayName = getProviderDisplayName({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); + const iconSrc = getProviderIconSrc({ + label: credential.label, + baseUrl: credential.base_url, + model: credential.model, + }); + const currentModel = + selectedProviderModels[credential.id] || credential.model; + + return ( + + ); + })} +
+ +
+
+ Model +
+ {claudeProviderActive ? ( + <> + {claudeModelOptions.map((m) => ( + ))} + +
+
+ Effort +
+
+ {(["low", "medium", "high"] as const).map((level) => ( + + ))} +
+ + ) : selectedProviderCredential ? ( + <> + {activeProviderModelsLoading && ( +
+ Fetching models... +
+ )} + {activeProviderModelOptions.map((modelId) => ( + - ); - }) - )} -
- ) : ( - <> - {/* Models */} -
-
- Model -
- {[ - { - id: "sonnet" as const, - name: "Sonnet", - desc: "Fast, efficient for most tasks", - icon: , - }, - { - id: "opus" as const, - name: "Opus", - desc: "Most capable, complex reasoning", - icon: , - }, - { - id: "haiku" as const, - name: "Haiku", - desc: "Fastest, simple tasks", - icon: , - }, - { - id: "opusplan" as const, - name: "OpusPlan", - desc: "Opus for planning, Sonnet for execution", - icon: , - }, - ].map((m) => ( - - ))} -
- -
- - {/* Effort level */} -
-
- - Effort - - - {effortLevel === "low" - ? "Low" - : effortLevel === "medium" - ? "Medium" - : "High"} - -
-
- {(["low", "medium", "high"] as const).map((level) => ( - ))} + {providerModelError && ( +
+ {providerModelError} +
+ )} + + ) : ( +
+ Select a provider
-
- - )} + )} +
+
, document.body, )} @@ -1080,14 +1233,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ref={modelButtonRef} type="button" onClick={() => setModelPickerOpen((v) => !v)} - title={ - isDirectProvider - ? "Switch configured provider" - : "Choose Claude model" - } + title="Switch provider or model" className="flex items-center gap-1.5 rounded-md px-2 py-1 text-muted-foreground text-xs transition-colors hover:bg-muted hover:text-foreground" > - {isDirectProvider ? ( + {selectedProviderCredential ? ( <> {selectedProviderIconSrc ? ( = ({ isOpen }) => { ) : ( <> + + Claude Code {selectedModel === "sonnet" ? "Sonnet" diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index c088627..ee8c3c8 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -5,6 +5,7 @@ import { useHistoryStore } from "./history-store"; import { createLogger } from "@/lib/debug/logger"; const log = createLogger("claude"); +export const CLAUDE_CODE_PROVIDER_ID = "__claude-code__"; /** Convert a character offset to 1-based line:col */ export function offsetToLineCol( @@ -239,6 +240,8 @@ interface ClaudeChatState { setSelectedModel: (model: "sonnet" | "opus" | "haiku" | "opusplan") => void; selectedProviderCredentialId: string | null; setSelectedProviderCredentialId: (credentialId: string | null) => void; + selectedProviderModels: Record; + setSelectedProviderModel: (credentialId: string, model: string) => void; /** Effort level for Opus 4.6 adaptive reasoning */ effortLevel: "low" | "medium" | "high"; @@ -292,6 +295,14 @@ export const useClaudeChatStore = create()((set, get) => ({ selectedProviderCredentialId: null, setSelectedProviderCredentialId: (credentialId) => set({ selectedProviderCredentialId: credentialId }), + selectedProviderModels: {}, + setSelectedProviderModel: (credentialId, model) => + set((state) => ({ + selectedProviderModels: { + ...state.selectedProviderModels, + [credentialId]: model, + }, + })), effortLevel: "medium", setEffortLevel: (level) => set({ effortLevel: level }), @@ -337,7 +348,16 @@ export const useClaudeChatStore = create()((set, get) => ({ selectedModel, effortLevel, selectedProviderCredentialId, + selectedProviderModels, } = state; + const providerCredentialId = + selectedProviderCredentialId && + selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID + ? selectedProviderCredentialId + : null; + const providerModelOverride = providerCredentialId + ? selectedProviderModels[providerCredentialId] || null + : null; const sendStart = performance.now(); log.info("sendPrompt start", { @@ -460,7 +480,8 @@ export const useClaudeChatStore = create()((set, get) => ({ tabId: activeTabId, model: selectedModel, effortLevel, - providerCredentialId: selectedProviderCredentialId, + providerCredentialId, + providerModelOverride, }); } else { // New session @@ -470,7 +491,8 @@ export const useClaudeChatStore = create()((set, get) => ({ tabId: activeTabId, model: selectedModel, effortLevel, - providerCredentialId: selectedProviderCredentialId, + providerCredentialId, + providerModelOverride, }); } log.info( From c62f8b823d3bf2f3815dbf9ea7f4e20d4aac0fc0 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 12:34:46 +0800 Subject: [PATCH 040/118] Use Anthropic icon for Claude Code selector --- .../components/claude-chat/chat-composer.tsx | 21 +++++++++++++++++-- 1 file changed, 19 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index d5a8a59..6fd6d3a 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -136,6 +136,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { model: selectedProviderCredential.model, }) : null; + const claudeCodeIconSrc = getProviderIconSrc({ label: "Anthropic" }); const [providerModelOptions, setProviderModelOptions] = useState< Record >({}); @@ -936,7 +937,15 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { setSelectedProviderCredentialId(CLAUDE_CODE_PROVIDER_ID); }} > - + {claudeCodeIconSrc ? ( + + ) : ( + + )}
Claude Code @@ -1257,7 +1266,15 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ) : ( <> - + {claudeCodeIconSrc ? ( + + ) : ( + + )} Claude Code {selectedModel === "sonnet" From 70bf65795860f95a62024f48bd06163d7bf2e17f Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 12:40:13 +0800 Subject: [PATCH 041/118] Add provider setup from chat picker --- .../components/claude-chat/chat-composer.tsx | 48 +++++++++++++++++ apps/desktop/src/components/claude-setup.tsx | 52 ++++++++++++++++--- 2 files changed, 92 insertions(+), 8 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 6fd6d3a..340e2d7 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -24,6 +24,7 @@ import { SparklesIcon, RabbitIcon, LayersIcon, + PlusIcon, } from "lucide-react"; import { getCurrentWebview } from "@tauri-apps/api/webview"; import { writeFile, mkdir, exists } from "@tauri-apps/plugin-fs"; @@ -43,6 +44,14 @@ import { getProviderIconSrc, } from "@/lib/provider-icons"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; +import { ClaudeSetup } from "@/components/claude-setup"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; import { cn } from "@/lib/utils"; import { SlashCommandPicker, type SlashCommand } from "./slash-command-picker"; import { createLogger } from "@/lib/debug/logger"; @@ -146,6 +155,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const [providerModelError, setProviderModelError] = useState( null, ); + const [providerSetupOpen, setProviderSetupOpen] = useState(false); const [input, setInput] = useState(""); const textareaRef = useRef(null); @@ -1015,6 +1025,23 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ); })} +
@@ -1121,6 +1148,27 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { document.body, )} + + + + Add AI Provider + + Configure another OpenAI-compatible provider for this project. + + + setProviderSetupOpen(false)} + onSaved={() => { + setProviderSetupOpen(false); + setSelectedProviderCredentialId(null); + setProviderModelOptions({}); + setProviderModelError(null); + }} + /> + + + {/* @ mention dropdown */} {slashQuery === null && mentionQuery !== null && diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index eb7c43d..98a6c9b 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -400,7 +400,17 @@ function InstallLogOutput() { // ─── Main Component ─── -export function ClaudeSetup() { +interface ClaudeSetupProps { + variant?: "default" | "provider-dialog"; + onSaved?: () => void; + onCancel?: () => void; +} + +export function ClaudeSetup({ + variant = "default", + onSaved, + onCancel, +}: ClaudeSetupProps = {}) { const [provider, setProvider] = useState<"claude-code" | "openai-compatible">( "claude-code", ); @@ -458,9 +468,20 @@ export function ClaudeSetup() { setModelFetchError(null); setProviderPreset(savedPreset); setIsEditingProvider(false); + onSaved?.(); } }; + const resetProviderForm = () => { + setIsEditingProvider(false); + setApiKey(""); + setBaseUrl(""); + setModel(""); + setModelOptions([]); + setModelFetchError(null); + setProviderPreset("anthropic-direct"); + }; + const beginProviderEdit = (isDirectProvider: boolean) => { setProvider(isDirectProvider ? "openai-compatible" : "claude-code"); setProviderPreset( @@ -811,6 +832,27 @@ export function ClaudeSetup() { ); } + if (variant === "provider-dialog") { + return ( +
+ {renderApiKeyForm({ forceOpenAiCompatible: true })} + +
+ ); + } + if (status === "ready") { const isDirectProvider = version === "OpenAI-compatible provider"; const readyDetail = isDirectProvider @@ -840,13 +882,7 @@ export function ClaudeSetup() { size="sm" variant="outline" onClick={() => { - setIsEditingProvider(false); - setApiKey(""); - setBaseUrl(""); - setModel(""); - setModelOptions([]); - setModelFetchError(null); - setProviderPreset("anthropic-direct"); + resetProviderForm(); }} disabled={isSavingApiKey || isClearingApiKey} > From 030ec86d3165ff5b7c5869f1dbfc04f01b8c388e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 12:45:46 +0800 Subject: [PATCH 042/118] Prevent provider dialog overflow --- .../components/claude-chat/chat-composer.tsx | 2 +- apps/desktop/src/components/claude-setup.tsx | 20 ++++++++++--------- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 340e2d7..bdee391 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -1149,7 +1149,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { )} - + Add AI Provider diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 98a6c9b..c8f8c0f 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -562,19 +562,19 @@ export function ClaudeSetup({ return ( <>
{ event.preventDefault(); handleSaveApiKey(selectedProvider, activeCard?.label); }} > -
+
-
+
{providerCards.map((card) => { const iconSrc = getProviderIconSrc(card); const active = activeCardId === card.id; @@ -625,7 +625,7 @@ export function ClaudeSetup({
-
+
-
+
@@ -699,7 +699,7 @@ export function ClaudeSetup({
{selectedProvider === "openai-compatible" && ( -
+
+ )} +
+ ); +}; + // ─── TodoWrite Widget ─── const TodoWriteWidget: FC<{ input: any; result?: ContentBlock }> = ({ diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index a5574d1..6d21948 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -267,15 +267,17 @@ export function useClaudeEvents() { chatStore._appendMessage(tabId, msg); - // When AskUserQuestion is detected, cancel the process so the user + // When a UI-pause tool is detected, cancel the process so the user // can interact with the widget before Claude continues. if (msg.type === "assistant" && msg.message?.content) { - const hasAskUser = msg.message.content.some( - (b: any) => b.type === "tool_use" && b.name === "AskUserQuestion", + const hasUiPauseTool = msg.message.content.some( + (b: any) => + b.type === "tool_use" && + (b.name === "AskUserQuestion" || b.name === "ExitPlanMode"), ); - if (hasAskUser) { + if (hasUiPauseTool) { log.info( - `[${tabId}] ${elapsed(tabId)} AskUserQuestion detected — cancelling process for user input`, + `[${tabId}] ${elapsed(tabId)} UI-pause tool detected - cancelling process for user input`, ); cancelledForAskRef.current.set(tabId, true); invoke("cancel_claude_execution", { tabId }).catch(() => {}); From 96b77fa2bd7f1229ee97d0d6e6fda76a410c3ea1 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 13:24:13 +0800 Subject: [PATCH 044/118] Bring direct provider runtime closer to Claude Code --- apps/desktop/src-tauri/src/claude.rs | 990 ++++++++++++++++++++++++++- 1 file changed, 955 insertions(+), 35 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 937794a..1ad2a82 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -81,15 +81,21 @@ const DIRECT_PROVIDER_TOOL_NAMES: &[&str] = &[ "TaskUpdate", "TaskList", "TaskStop", + "TaskOutput", "AskUserQuestion", "EnterPlanMode", "ExitPlanMode", + "EnterWorktree", + "ExitWorktree", "Skill", "Agent", + "NotebookEdit", "WebFetch", "WebSearch", "ListMcpResources", "ReadMcpResource", + "Config", + "Sleep", "PowerShell", "Bash", ]; @@ -649,6 +655,7 @@ pub struct ClaudeProcessState { direct_sessions: Arc>>>, direct_cancellations: Arc>>, direct_task_lists: Arc>>>, + direct_workdirs: Arc>>, } impl Default for ClaudeProcessState { @@ -658,6 +665,7 @@ impl Default for ClaudeProcessState { direct_sessions: Arc::new(Mutex::new(HashMap::new())), direct_cancellations: Arc::new(Mutex::new(HashSet::new())), direct_task_lists: Arc::new(Mutex::new(HashMap::new())), + direct_workdirs: Arc::new(Mutex::new(HashMap::new())), } } } @@ -2195,7 +2203,10 @@ fn direct_provider_system_prompt() -> String { "Use AskUserQuestion when you need the user to choose between concrete options before continuing.", "Use EnterPlanMode for complex implementation planning, and ExitPlanMode when you need user approval before implementing a plan.", "Use Skill to load installed project/global SKILL.md guidance before applying a domain-specific skill.", - "If you prefer Claude/Codex-style task tools, TaskCreate, TaskGet, TaskUpdate, TaskList, and TaskStop are available as a lightweight session task list.", + "Use Agent for focused sub-agent style investigation; direct-provider mode runs it through the same selected provider model.", + "Use NotebookEdit for Jupyter notebooks rather than raw JSON string edits.", + "Use EnterWorktree/ExitWorktree when you need an isolated git worktree; subsequent tools run from the active worktree.", + "If you prefer Claude/Codex-style task tools, TaskCreate, TaskGet, TaskUpdate, TaskList, TaskOutput, and TaskStop are available as a lightweight session task list.", "ToolSearch can be used to inspect the currently available local tool names; it does not install external tools.", "Do not claim a file was changed unless a tool result confirms it.", ]; @@ -2472,6 +2483,22 @@ fn direct_provider_tools() -> serde_json::Value { } } }, + { + "type": "function", + "function": { + "name": "TaskOutput", + "description": "Read the current output/status for a lightweight direct-provider task. This aliases TaskGet for Claude Code compatibility.", + "parameters": { + "type": "object", + "properties": { + "taskId": { "type": "string", "description": "Task id returned by TaskCreate or TaskList." }, + "task_id": { "type": "string", "description": "Alias for taskId." }, + "id": { "type": "string", "description": "Alias for taskId." } + }, + "required": ["taskId"] + } + } + }, { "type": "function", "function": { @@ -2537,6 +2564,30 @@ fn direct_provider_tools() -> serde_json::Value { } } }, + { + "type": "function", + "function": { + "name": "EnterWorktree", + "description": "Create an isolated git worktree and switch this direct-provider session into it. Subsequent file and shell tools run from the worktree.", + "parameters": { + "type": "object", + "properties": { + "name": { "type": "string", "description": "Optional short worktree name using letters, digits, dots, underscores, and dashes." } + } + } + } + }, + { + "type": "function", + "function": { + "name": "ExitWorktree", + "description": "Switch this direct-provider session back to the original project directory.", + "parameters": { + "type": "object", + "properties": {} + } + } + }, { "type": "function", "function": { @@ -2562,9 +2613,27 @@ fn direct_provider_tools() -> serde_json::Value { "properties": { "prompt": { "type": "string", "description": "Task for the sub-agent." }, "description": { "type": "string", "description": "Short task description." }, + "task": { "type": "string", "description": "Alias for prompt." }, "subagent_type": { "type": "string", "description": "Requested agent type." } - }, - "required": ["prompt"] + } + } + } + }, + { + "type": "function", + "function": { + "name": "NotebookEdit", + "description": "Edit a Jupyter .ipynb notebook cell by id or cell-N index. Use this instead of raw JSON edits for notebooks.", + "parameters": { + "type": "object", + "properties": { + "notebook_path": { "type": "string", "description": "Path to the .ipynb notebook." }, + "file_path": { "type": "string", "description": "Alias for notebook_path." }, + "cell_id": { "type": "string", "description": "Cell id or cell-N index. Omit when inserting at the beginning." }, + "new_source": { "type": "string", "description": "New source for replace/insert. Can be empty for delete." }, + "cell_type": { "type": "string", "enum": ["code", "markdown"], "description": "Cell type for insert or conversion." }, + "edit_mode": { "type": "string", "enum": ["replace", "insert", "delete"], "description": "Defaults to replace." } + } } } }, @@ -2583,6 +2652,33 @@ fn direct_provider_tools() -> serde_json::Value { } } }, + { + "type": "function", + "function": { + "name": "Config", + "description": "Inspect direct-provider runtime configuration for this session.", + "parameters": { + "type": "object", + "properties": { + "action": { "type": "string", "enum": ["get", "list"], "description": "Defaults to get." } + } + } + } + }, + { + "type": "function", + "function": { + "name": "Sleep", + "description": "Wait briefly before continuing, useful when polling a command or generated file.", + "parameters": { + "type": "object", + "properties": { + "seconds": { "type": "number", "description": "Seconds to sleep, capped at 30." }, + "duration_ms": { "type": "integer", "description": "Milliseconds to sleep, capped at 30000." } + } + } + } + }, { "type": "function", "function": { @@ -2592,6 +2688,7 @@ fn direct_provider_tools() -> serde_json::Value { "type": "object", "properties": { "query": { "type": "string", "description": "Search query." }, + "max_chars": { "type": "integer", "description": "Maximum characters to return. Defaults to 12000." }, "allowed_domains": { "type": "array", "items": { "type": "string" } }, "blocked_domains": { "type": "array", "items": { "type": "string" } } }, @@ -3111,6 +3208,105 @@ async fn persist_direct_task_state( } } +fn direct_workdir_state_event(cwd: &Path) -> serde_json::Value { + json!({ + "type": "direct_workdir_state", + "cwd": cwd.to_string_lossy(), + }) +} + +fn load_direct_workdir_state_from_path( + session_path: &Path, + fallback: &Path, +) -> Result { + if !session_path.exists() { + return Ok(fallback.to_path_buf()); + } + + let file = std::fs::File::open(session_path) + .map_err(|e| format!("Failed to open session file: {}", e))?; + let reader = std::io::BufReader::new(file); + use std::io::BufRead; + + let mut latest = fallback.to_path_buf(); + for line in reader.lines().map_while(Result::ok) { + let Ok(entry) = serde_json::from_str::(&line) else { + continue; + }; + if entry.get("type").and_then(|v| v.as_str()) != Some("direct_workdir_state") { + continue; + } + let Some(cwd) = entry.get("cwd").and_then(|v| v.as_str()) else { + continue; + }; + let path = PathBuf::from(strip_nul(cwd).trim()); + if path.is_dir() { + latest = path; + } + } + + Ok(latest) +} + +fn load_direct_workdir_state( + project_path: &str, + session_id: &str, + fallback: &Path, +) -> Result { + if !valid_session_id(session_id) { + return Ok(fallback.to_path_buf()); + } + let sessions_dir = get_sessions_dir(project_path)?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + load_direct_workdir_state_from_path(&session_path, fallback) +} + +async fn hydrate_direct_workdir_state( + state: &ClaudeProcessState, + project_path: &str, + session_id: &str, + fallback: &Path, +) { + let mut workdirs = state.direct_workdirs.lock().await; + if workdirs.contains_key(session_id) { + return; + } + let cwd = load_direct_workdir_state(project_path, session_id, fallback) + .unwrap_or_else(|_| fallback.to_path_buf()); + workdirs.insert(session_id.to_string(), cwd); +} + +async fn direct_session_root( + state: &ClaudeProcessState, + session_id: &str, + fallback: &Path, +) -> PathBuf { + let workdirs = state.direct_workdirs.lock().await; + workdirs + .get(session_id) + .filter(|path| path.is_dir()) + .cloned() + .unwrap_or_else(|| fallback.to_path_buf()) +} + +async fn set_direct_session_root(state: &ClaudeProcessState, session_id: &str, cwd: PathBuf) { + let mut workdirs = state.direct_workdirs.lock().await; + workdirs.insert(session_id.to_string(), cwd); +} + +async fn persist_direct_workdir_state( + state: &ClaudeProcessState, + project_path: &str, + session_id: &str, + fallback: &Path, +) { + let cwd = direct_session_root(state, session_id, fallback).await; + let event = direct_workdir_state_event(&cwd); + if let Err(err) = append_direct_session_event(project_path, session_id, &event) { + eprintln!("[direct-provider] failed to persist workdir state: {}", err); + } +} + fn is_direct_task_mutation_tool(name: &str) -> bool { matches!( canonical_direct_tool_name(name), @@ -3118,6 +3314,13 @@ fn is_direct_task_mutation_tool(name: &str) -> bool { ) } +fn is_direct_workdir_mutation_tool(name: &str) -> bool { + matches!( + canonical_direct_tool_name(name), + Some("EnterWorktree" | "ExitWorktree") + ) +} + async fn direct_provider_cancelled(state: &ClaudeProcessState, process_key: &str) -> bool { state .direct_cancellations @@ -3983,21 +4186,36 @@ fn direct_tool_catalog() -> Vec<(&'static str, &'static str)> { ("TaskUpdate", "Update a lightweight session task."), ("TaskList", "List lightweight session tasks."), ("TaskStop", "Stop or complete a lightweight session task."), + ("TaskOutput", "Read lightweight task output/status."), ("AskUserQuestion", "Ask the user multiple-choice questions."), ("EnterPlanMode", "Enter planning mode for complex work."), ( "ExitPlanMode", "Present a plan and pause for user approval.", ), + ("EnterWorktree", "Create and switch into a git worktree."), + ( + "ExitWorktree", + "Switch back to the original project directory.", + ), ("Skill", "Load installed SKILL.md guidance."), - ("Agent", "Sub-agent compatibility shim."), + ( + "Agent", + "Run a focused sub-agent loop with the selected provider.", + ), + ("NotebookEdit", "Edit Jupyter notebook cells safely."), ("WebFetch", "Fetch a public URL."), - ("WebSearch", "Web search compatibility shim."), + ( + "WebSearch", + "Search the web and return readable result text.", + ), ( "ListMcpResources", "MCP resource listing compatibility shim.", ), ("ReadMcpResource", "MCP resource read compatibility shim."), + ("Config", "Inspect direct-provider runtime configuration."), + ("Sleep", "Pause briefly before continuing."), ( "PowerShell", "Run a PowerShell command in the project directory.", @@ -4295,6 +4513,332 @@ async fn execute_direct_task_stop( Ok(output) } +async fn execute_direct_task_output( + state: &ClaudeProcessState, + session_id: &str, + input: &serde_json::Value, +) -> Result { + execute_direct_task_get(state, session_id, input).await +} + +fn notebook_cell_index(cells: &[serde_json::Value], cell_id: &str) -> Option { + if let Some(index) = cells + .iter() + .position(|cell| cell.get("id").and_then(|v| v.as_str()) == Some(cell_id)) + { + return Some(index); + } + let numeric = cell_id + .strip_prefix("cell-") + .unwrap_or(cell_id) + .parse::() + .ok()?; + (numeric < cells.len()).then_some(numeric) +} + +fn notebook_supports_cell_ids(notebook: &serde_json::Value) -> bool { + let nbformat = notebook + .get("nbformat") + .and_then(|v| v.as_u64()) + .unwrap_or(4); + let minor = notebook + .get("nbformat_minor") + .and_then(|v| v.as_u64()) + .unwrap_or(0); + nbformat > 4 || (nbformat == 4 && minor >= 5) +} + +fn execute_direct_notebook_edit( + project_root: &Path, + input: &serde_json::Value, +) -> Result { + let notebook_path = optional_tool_string(input, "notebook_path") + .or_else(|| optional_tool_string(input, "file_path")) + .ok_or_else(|| "Missing notebook_path".to_string())?; + let path = ensure_existing_project_tool_path(project_root, ¬ebook_path)?; + if path + .extension() + .and_then(|v| v.to_str()) + .map(|value| !value.eq_ignore_ascii_case("ipynb")) + .unwrap_or(true) + { + return Err("NotebookEdit only supports .ipynb files".to_string()); + } + + let edit_mode = + optional_tool_string(input, "edit_mode").unwrap_or_else(|| "replace".to_string()); + if !matches!(edit_mode.as_str(), "replace" | "insert" | "delete") { + return Err("edit_mode must be replace, insert, or delete".to_string()); + } + let new_source = optional_tool_string(input, "new_source").unwrap_or_default(); + let cell_type = optional_tool_string(input, "cell_type"); + if let Some(cell_type) = &cell_type { + if !matches!(cell_type.as_str(), "code" | "markdown") { + return Err("cell_type must be code or markdown".to_string()); + } + } + + let original = + std::fs::read_to_string(&path).map_err(|e| format!("Failed to read notebook: {}", e))?; + let mut notebook: serde_json::Value = serde_json::from_str(&original) + .map_err(|e| format!("Notebook is not valid JSON: {}", e))?; + let supports_ids = notebook_supports_cell_ids(¬ebook); + let cells = notebook + .get_mut("cells") + .and_then(|v| v.as_array_mut()) + .ok_or_else(|| "Notebook JSON does not contain a cells array".to_string())?; + + let cell_id = optional_tool_string(input, "cell_id"); + let index = match (edit_mode.as_str(), cell_id.as_deref()) { + ("insert", Some(id)) => notebook_cell_index(cells, id) + .map(|idx| idx + 1) + .ok_or_else(|| format!("Cell not found: {}", id))?, + ("insert", None) => 0, + (_, Some(id)) => { + notebook_cell_index(cells, id).ok_or_else(|| format!("Cell not found: {}", id))? + } + (_, None) => { + return Err("cell_id is required unless edit_mode is insert".to_string()); + } + }; + + if edit_mode == "delete" { + if index >= cells.len() { + return Err(format!("Cell index {} is out of bounds", index)); + } + cells.remove(index); + } else if edit_mode == "insert" { + let final_cell_type = cell_type.unwrap_or_else(|| "code".to_string()); + let mut cell = if final_cell_type == "markdown" { + json!({ + "cell_type": "markdown", + "metadata": {}, + "source": new_source, + }) + } else { + json!({ + "cell_type": "code", + "execution_count": null, + "metadata": {}, + "outputs": [], + "source": new_source, + }) + }; + if supports_ids { + if let Some(object) = cell.as_object_mut() { + let generated_id = uuid::Uuid::new_v4() + .to_string() + .replace('-', "") + .chars() + .take(12) + .collect::(); + object.insert("id".to_string(), json!(generated_id)); + } + } + if index > cells.len() { + return Err(format!("Cell index {} is out of bounds", index)); + } + cells.insert(index, cell); + } else { + if index >= cells.len() { + return Err(format!("Cell index {} is out of bounds", index)); + } + let cell = cells + .get_mut(index) + .and_then(|v| v.as_object_mut()) + .ok_or_else(|| "Target notebook cell is not an object".to_string())?; + cell.insert("source".to_string(), json!(new_source)); + if let Some(cell_type) = cell_type { + cell.insert("cell_type".to_string(), json!(cell_type)); + } + if cell.get("cell_type").and_then(|v| v.as_str()) == Some("code") { + cell.insert("execution_count".to_string(), serde_json::Value::Null); + cell.insert("outputs".to_string(), json!([])); + } + } + + let updated = serde_json::to_string_pretty(¬ebook) + .map_err(|e| format!("Failed to serialize notebook: {}", e))?; + std::fs::write(&path, updated).map_err(|e| format!("Failed to write notebook: {}", e))?; + Ok(format!( + "{} cell {} in {}", + match edit_mode.as_str() { + "insert" => "Inserted", + "delete" => "Deleted", + _ => "Updated", + }, + index, + relative_project_path(project_root, &path) + )) +} + +async fn run_direct_command_collect( + program: &str, + args: Vec, + cwd: &Path, + timeout_ms: u64, +) -> Result<(i32, String, String), String> { + let cwd_string = cwd.to_string_lossy().to_string(); + let mut cmd = create_command(program, args, &cwd_string, None); + cmd.kill_on_drop(true); + let output = tokio::time::timeout(std::time::Duration::from_millis(timeout_ms), cmd.output()) + .await + .map_err(|_| format!("Command timed out after {}ms", timeout_ms))? + .map_err(|e| format!("Failed to run {}: {}", program, e))?; + Ok(( + output.status.code().unwrap_or(-1), + String::from_utf8_lossy(&output.stdout).to_string(), + String::from_utf8_lossy(&output.stderr).to_string(), + )) +} + +fn sanitize_worktree_slug(input: Option, session_id: &str) -> String { + let raw = input.unwrap_or_else(|| { + let short = session_id.chars().take(8).collect::(); + format!("session-{}", short) + }); + let mut slug = raw + .chars() + .map(|ch| { + if ch.is_ascii_alphanumeric() || matches!(ch, '.' | '_' | '-') { + ch + } else { + '-' + } + }) + .collect::() + .trim_matches('-') + .chars() + .take(64) + .collect::(); + if slug.is_empty() { + slug = "worktree".to_string(); + } + slug +} + +async fn execute_direct_enter_worktree( + state: &ClaudeProcessState, + session_id: &str, + current_root: &Path, + input: &serde_json::Value, +) -> Result { + let (code, stdout, stderr) = run_direct_command_collect( + "git", + vec![ + "-C".to_string(), + current_root.to_string_lossy().to_string(), + "rev-parse".to_string(), + "--show-toplevel".to_string(), + ], + current_root, + 30_000, + ) + .await?; + if code != 0 { + return Err(format!( + "Current directory is not a git repository: {}", + stderr + )); + } + let repo_root = PathBuf::from(stdout.trim()) + .canonicalize() + .map_err(|e| format!("Failed to resolve git root: {}", e))?; + let repo_name = repo_root + .file_name() + .and_then(|v| v.to_str()) + .unwrap_or("repo"); + let parent = repo_root + .parent() + .ok_or_else(|| "Git root has no parent directory".to_string())?; + let slug = sanitize_worktree_slug(optional_tool_string(input, "name"), session_id); + let worktree_dir = parent.join(format!("{}-claudeprism-worktrees", repo_name)); + std::fs::create_dir_all(&worktree_dir) + .map_err(|e| format!("Failed to create worktree directory: {}", e))?; + let worktree_path = worktree_dir.join(&slug); + if worktree_path.exists() { + return Err(format!( + "Worktree path already exists: {}", + worktree_path.display() + )); + } + let branch_name = format!("claude-prism/{}", slug); + let args = vec![ + "-C".to_string(), + repo_root.to_string_lossy().to_string(), + "worktree".to_string(), + "add".to_string(), + "-b".to_string(), + branch_name.clone(), + worktree_path.to_string_lossy().to_string(), + "HEAD".to_string(), + ]; + let (code, stdout, stderr) = + run_direct_command_collect("git", args, &repo_root, 120_000).await?; + if code != 0 { + return Err(format!( + "Failed to create worktree branch {}.\nstdout:\n{}\nstderr:\n{}", + branch_name, stdout, stderr + )); + } + let active = worktree_path + .canonicalize() + .unwrap_or_else(|_| worktree_path.clone()); + set_direct_session_root(state, session_id, active.clone()).await; + Ok(format!( + "Created and entered worktree {}\nBranch: {}\nSubsequent direct-provider tools now run from this worktree.", + active.display(), + branch_name + )) +} + +async fn execute_direct_exit_worktree( + state: &ClaudeProcessState, + session_id: &str, + original_project_root: &Path, +) -> Result { + set_direct_session_root(state, session_id, original_project_root.to_path_buf()).await; + Ok(format!( + "Exited worktree. Subsequent direct-provider tools now run from {}.", + original_project_root.display() + )) +} + +fn execute_direct_config( + project_root: &Path, + credential: Option<&StoredOpenAiCompatibleCredential>, +) -> Result { + let provider = credential + .map(|credential| { + format!( + "{}\nmodel: {}\nbase_url: {}", + credential.label, credential.model, credential.base_url + ) + }) + .unwrap_or_else(|| "No direct provider credential in this tool context.".to_string()); + Ok(format!( + "ClaudePrism direct-provider runtime\ncwd: {}\nprovider: {}", + project_root.display(), + provider + )) +} + +async fn execute_direct_sleep(input: &serde_json::Value) -> Result { + let duration_ms = input + .get("duration_ms") + .and_then(|v| v.as_u64()) + .or_else(|| { + input + .get("seconds") + .and_then(|v| v.as_f64()) + .map(|seconds| (seconds * 1000.0).max(0.0) as u64) + }) + .unwrap_or(1000) + .clamp(0, 30_000); + tokio::time::sleep(std::time::Duration::from_millis(duration_ms)).await; + Ok(format!("Slept for {}ms", duration_ms)) +} + async fn execute_direct_bash( project_root: &Path, input: &serde_json::Value, @@ -4507,6 +5051,58 @@ async fn execute_direct_webfetch(input: &serde_json::Value) -> Result String { + let mut encoded = String::new(); + for byte in input.as_bytes() { + match *byte { + b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'_' | b'.' | b'~' => { + encoded.push(*byte as char) + } + b' ' => encoded.push('+'), + other => encoded.push_str(&format!("%{:02X}", other)), + } + } + encoded +} + +async fn execute_direct_websearch(input: &serde_json::Value) -> Result { + let query = required_tool_string(input, "query")?; + let max_chars = optional_tool_usize(input, "max_chars") + .unwrap_or(12000) + .clamp(1000, 30000); + let url = format!( + "https://duckduckgo.com/html/?q={}", + percent_encode_query(&query) + ); + let client = reqwest::Client::builder() + .redirect(reqwest::redirect::Policy::limited(5)) + .timeout(std::time::Duration::from_secs(30)) + .build() + .map_err(|e| format!("Failed to create WebSearch client: {}", e))?; + let response = client + .get(&url) + .header("User-Agent", "ClaudePrism/1.0 direct-provider WebSearch") + .send() + .await + .map_err(|e| format!("WebSearch failed: {}", e))?; + let status = response.status(); + let body = response + .text() + .await + .map_err(|e| format!("Failed to read WebSearch response: {}", e))?; + if !status.is_success() { + return Err(truncate_tool_content( + format!("WebSearch HTTP {} for query '{}'\n{}", status, query, body), + max_chars, + )); + } + let text = strip_html_to_text(&body); + Ok(truncate_tool_content( + format!("[WebSearch]\nQuery: {}\nSource: {}\n\n{}", query, url, text), + max_chars, + )) +} + fn direct_skill_dirs(project_root: &Path) -> Vec { let mut dirs = vec![project_root.join(".claude").join("skills")]; if let Some(home) = dirs::home_dir() { @@ -4617,22 +5213,143 @@ fn execute_direct_enter_plan_mode(input: &serde_json::Value) -> Result Result { +async fn send_openai_compatible_agent_chat_request( + client: &reqwest::Client, + credential: &StoredOpenAiCompatibleCredential, + messages: &[serde_json::Value], +) -> Result { + match send_openai_compatible_non_streaming_chat_request( + client, + credential, + messages, + DirectToolRequestMode::Tools, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_without_tools => { + match send_openai_compatible_non_streaming_chat_request( + client, + credential, + messages, + DirectToolRequestMode::Functions, + ) + .await + { + Ok(response) => Ok(response), + Err(err) if err.can_retry_without_tools => { + send_openai_compatible_non_streaming_chat_request( + client, + credential, + messages, + DirectToolRequestMode::None, + ) + .await + .map_err(|err| err.message) + } + Err(err) => Err(err.message), + } + } + Err(err) => Err(err.message), + } +} + +async fn execute_direct_agent( + state: &ClaudeProcessState, + session_id: &str, + original_project_root: &Path, + current_project_root: &Path, + input: &serde_json::Value, + client: Option<&reqwest::Client>, + credential: Option<&StoredOpenAiCompatibleCredential>, + agent_depth: usize, +) -> Result { let prompt = required_tool_string_any(input, &["prompt", "description", "task"])?; let agent_type = optional_tool_string(input, "subagent_type") .or_else(|| optional_tool_string(input, "agent_type")) .unwrap_or_else(|| "general-purpose".to_string()); - Ok(format!( - "Sub-agent '{}' is not running as a separate process in ClaudePrism direct-provider mode yet. Continue this task inline using the available tools.\nRequested task:\n{}", - agent_type, prompt - )) -} + let Some(client) = client else { + return Err("Agent requires an active direct-provider client.".to_string()); + }; + let Some(credential) = credential else { + return Err("Agent requires an active direct-provider credential.".to_string()); + }; + if agent_depth >= 2 { + return Err("Nested Agent depth exceeded; continue inline instead.".to_string()); + } -fn execute_direct_websearch(input: &serde_json::Value) -> Result { - let query = required_tool_string(input, "query")?; - Ok(format!( - "WebSearch is exposed for Claude Code compatibility, but ClaudePrism direct-provider mode does not have a search backend configured yet. Use WebFetch if you have URLs, or ask the user for sources.\nQuery: {}", - query + let mut messages = vec![ + json!({ + "role": "system", + "content": format!( + "{}\n\nYou are running as a focused sub-agent of type '{}'. Work independently, use tools when needed, do not ask the user questions, and return a concise final report with evidence.", + direct_provider_system_prompt(), + agent_type + ), + }), + json!({ + "role": "user", + "content": prompt.clone(), + }), + ]; + + let mut final_report = String::new(); + for turn in 1..=6 { + let response = send_openai_compatible_agent_chat_request(client, credential, &messages) + .await + .map_err(|e| format!("Agent provider request failed: {}", e))?; + let content = response.content.trim().to_string(); + let reasoning = response.reasoning.trim().to_string(); + let tool_calls = response.tool_calls; + messages.push(response.message); + + if tool_calls.is_empty() { + final_report = if content.is_empty() { + reasoning + } else { + content + }; + break; + } + + let mut tool_messages = Vec::new(); + for tool_call in tool_calls { + if is_direct_ui_pause_tool(&tool_call.name) { + let (_, message) = direct_tool_result_values( + &tool_call, + "Sub-agents cannot pause for UI interaction; return the best answer from available context.".to_string(), + true, + ); + tool_messages.push(message); + continue; + } + let active_root = direct_session_root(state, session_id, current_project_root).await; + let output = execute_direct_provider_tool_without_agent( + state, + session_id, + original_project_root, + &active_root, + &tool_call.name, + &tool_call.input, + Some(credential), + ) + .await; + let (_, message) = + direct_tool_result_values(&tool_call, output.content, output.is_error); + tool_messages.push(message); + } + messages.extend(tool_messages); + if turn == 6 { + final_report = "Agent stopped after 6 tool turns without a final answer.".to_string(); + } + } + + Ok(truncate_tool_content( + format!( + "[Agent: {}]\nTask:\n{}\n\nResult:\n{}", + agent_type, prompt, final_report + ), + 30000, )) } @@ -4649,18 +5366,23 @@ fn execute_direct_read_mcp_resource(input: &serde_json::Value) -> Result, ) -> DirectToolOutput { let result = match name { "Read" | "read" => execute_direct_read(project_root, input), "Write" | "write" => execute_direct_write(project_root, input), "Edit" | "edit" => execute_direct_edit(project_root, input), "MultiEdit" | "multiedit" => execute_direct_multiedit(project_root, input), + "NotebookEdit" | "notebookedit" | "notebook_edit" => { + execute_direct_notebook_edit(project_root, input) + } "LS" | "ls" | "List" | "list" => execute_direct_ls(project_root, input), "Glob" | "glob" => execute_direct_glob(project_root, input), "Grep" | "grep" => execute_direct_grep(project_root, input), @@ -4681,25 +5403,40 @@ async fn execute_direct_provider_tool( "TaskStop" | "taskstop" | "task_stop" => { execute_direct_task_stop(state, session_id, input).await } + "TaskOutput" | "taskoutput" | "task_output" => { + execute_direct_task_output(state, session_id, input).await + } "AskUserQuestion" | "askuserquestion" | "ask_user_question" => Err( "AskUserQuestion is handled by the ClaudePrism UI. Wait for the user's next message." .to_string(), ), - "EnterPlanMode" | "enterplanmode" | "enter_plan_mode" => execute_direct_enter_plan_mode(input), + "EnterPlanMode" | "enterplanmode" | "enter_plan_mode" => { + execute_direct_enter_plan_mode(input) + } "ExitPlanMode" | "exitplanmode" | "exit_plan_mode" => Err( "ExitPlanMode is handled by the ClaudePrism UI. Wait for the user's approval or revision." .to_string(), ), + "EnterWorktree" | "enterworktree" | "enter_worktree" => { + execute_direct_enter_worktree(state, session_id, project_root, input).await + } + "ExitWorktree" | "exitworktree" | "exit_worktree" => { + execute_direct_exit_worktree(state, session_id, original_project_root).await + } "Skill" | "skill" => execute_direct_skill(project_root, input), - "Agent" | "agent" | "Task" | "task" => execute_direct_agent(input), + "Agent" | "agent" | "Task" | "task" => { + Err("Nested Agent calls are disabled inside a direct-provider Agent.".to_string()) + } "WebFetch" | "webfetch" | "web_fetch" => execute_direct_webfetch(input).await, - "WebSearch" | "websearch" | "web_search" => execute_direct_websearch(input), + "WebSearch" | "websearch" | "web_search" => execute_direct_websearch(input).await, "ListMcpResources" | "listmcpresources" | "list_mcp_resources" => { execute_direct_list_mcp_resources(input) } "ReadMcpResource" | "readmcpresource" | "read_mcp_resource" => { execute_direct_read_mcp_resource(input) } + "Config" | "config" => execute_direct_config(project_root, credential), + "Sleep" | "sleep" => execute_direct_sleep(input).await, "PowerShell" | "powershell" | "pwsh" => execute_direct_powershell(project_root, input).await, "Bash" | "bash" => execute_direct_bash(project_root, input).await, other => Err(format!("Unsupported tool: {}", other)), @@ -5735,17 +6472,19 @@ async fn execute_openai_compatible_provider( } }; + let state = window.state::(); + clear_direct_provider_cancelled(&state, &process_key).await; + hydrate_direct_task_state(&state, &project_path, &session_id).await; + hydrate_direct_workdir_state(&state, &project_path, &session_id, &project_root).await; + let initial_root = direct_session_root(&state, &session_id, &project_root).await; let init = json!({ "type": "system", "subtype": "init", "session_id": session_id, "model": credential.model.clone(), - "cwd": project_path.clone(), + "cwd": initial_root.to_string_lossy(), "tools": DIRECT_PROVIDER_TOOL_NAMES, }); - let state = window.state::(); - clear_direct_provider_cancelled(&state, &process_key).await; - hydrate_direct_task_state(&state, &project_path, &session_id).await; emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &init); let mut messages = { @@ -6016,17 +6755,26 @@ async fn execute_openai_compatible_provider( return Ok(()); } + let active_root = direct_session_root(&state, &session_id, &project_root).await; let output = execute_direct_provider_tool( &state, &session_id, &project_root, + &active_root, &tool_call.name, &tool_call.input, + Some(&client), + Some(&credential), + 0, ) .await; if !output.is_error && is_direct_task_mutation_tool(&tool_call.name) { persist_direct_task_state(&state, &project_path, &session_id).await; } + if !output.is_error && is_direct_workdir_mutation_tool(&tool_call.name) { + persist_direct_workdir_state(&state, &project_path, &session_id, &project_root) + .await; + } let (block, tool_message) = direct_tool_result_values(tool_call, output.content, output.is_error); tool_result_blocks.push(block); @@ -6245,6 +6993,57 @@ pub async fn kill_process_for_window(state: &ClaudeProcessState, window_label: & } } +async fn execute_direct_provider_tool( + state: &ClaudeProcessState, + session_id: &str, + original_project_root: &Path, + project_root: &Path, + name: &str, + input: &serde_json::Value, + client: Option<&reqwest::Client>, + credential: Option<&StoredOpenAiCompatibleCredential>, + agent_depth: usize, +) -> DirectToolOutput { + let result = match name { + "Agent" | "agent" | "Task" | "task" => { + execute_direct_agent( + state, + session_id, + original_project_root, + project_root, + input, + client, + credential, + agent_depth, + ) + .await + } + _ => { + return execute_direct_provider_tool_without_agent( + state, + session_id, + original_project_root, + project_root, + name, + input, + credential, + ) + .await; + } + }; + + match result { + Ok(content) => DirectToolOutput { + content, + is_error: false, + }, + Err(content) => DirectToolOutput { + content, + is_error: true, + }, + } +} + // ─── Session Listing ─── #[derive(serde::Serialize)] @@ -7104,7 +7903,39 @@ mod tests { input: &serde_json::Value, ) -> DirectToolOutput { let state = ClaudeProcessState::default(); - execute_direct_provider_tool(&state, "test-session", project_root, name, input).await + execute_direct_provider_tool( + &state, + "test-session", + project_root, + project_root, + name, + input, + None, + None, + 0, + ) + .await + } + + async fn execute_test_direct_provider_tool_with_state( + state: &ClaudeProcessState, + session_id: &str, + project_root: &Path, + name: &str, + input: &serde_json::Value, + ) -> DirectToolOutput { + execute_direct_provider_tool( + state, + session_id, + project_root, + project_root, + name, + input, + None, + None, + 0, + ) + .await } #[tokio::test] @@ -7300,7 +8131,7 @@ mod tests { let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); let state = ClaudeProcessState::default(); - let created = execute_direct_provider_tool( + let created = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7315,13 +8146,19 @@ mod tests { assert!(!created.is_error); assert!(created.content.contains("task-1")); - let listed = - execute_direct_provider_tool(&state, "session-a", &root, "TaskList", &json!({})).await; + let listed = execute_test_direct_provider_tool_with_state( + &state, + "session-a", + &root, + "TaskList", + &json!({}), + ) + .await; assert!(!listed.is_error); assert!(listed.content.contains("Inspect paper draft")); assert!(listed.content.contains("[pending]")); - let updated = execute_direct_provider_tool( + let updated = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7332,7 +8169,7 @@ mod tests { assert!(!updated.is_error); assert!(updated.content.contains("Task completed")); - let completed = execute_direct_provider_tool( + let completed = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7350,7 +8187,7 @@ mod tests { let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); let state = ClaudeProcessState::default(); - let created = execute_direct_provider_tool( + let created = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7363,7 +8200,7 @@ mod tests { .await; assert!(!created.is_error); - let got = execute_direct_provider_tool( + let got = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7374,7 +8211,18 @@ mod tests { assert!(!got.is_error); assert!(got.content.contains("Follow up")); - let stopped = execute_direct_provider_tool( + let output = execute_test_direct_provider_tool_with_state( + &state, + "session-a", + &root, + "TaskOutput", + &json!({ "taskId": "task-1" }), + ) + .await; + assert!(!output.is_error); + assert!(output.content.contains("Follow up")); + + let stopped = execute_test_direct_provider_tool_with_state( &state, "session-a", &root, @@ -7387,6 +8235,52 @@ mod tests { assert!(stopped.content.contains("Done enough")); } + #[tokio::test] + async fn test_direct_provider_notebook_edit_updates_cell() { + let dir = tempfile::tempdir().unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let notebook = root.join("analysis.ipynb"); + std::fs::write( + ¬ebook, + serde_json::to_string_pretty(&json!({ + "cells": [{ + "cell_type": "code", + "execution_count": 7, + "id": "abc123", + "metadata": {}, + "outputs": [{ "output_type": "stream", "text": "old" }], + "source": "print('old')" + }], + "metadata": { "language_info": { "name": "python" } }, + "nbformat": 4, + "nbformat_minor": 5 + })) + .unwrap(), + ) + .unwrap(); + + let edited = execute_test_direct_provider_tool( + &root, + "NotebookEdit", + &json!({ + "file_path": "analysis.ipynb", + "cell_id": "abc123", + "new_source": "print('new')" + }), + ) + .await; + + assert!(!edited.is_error); + let updated: serde_json::Value = + serde_json::from_str(&std::fs::read_to_string(¬ebook).unwrap()).unwrap(); + assert_eq!(updated["cells"][0]["source"], "print('new')"); + assert_eq!( + updated["cells"][0]["execution_count"], + serde_json::Value::Null + ); + assert_eq!(updated["cells"][0]["outputs"], json!([])); + } + #[tokio::test] async fn test_direct_provider_skill_tool_loads_project_skill() { let dir = tempfile::tempdir().unwrap(); @@ -7466,6 +8360,26 @@ mod tests { assert_eq!(tasks[0].owner.as_deref(), Some("assistant")); } + #[test] + fn test_direct_workdir_state_loads_latest_jsonl_snapshot() { + let dir = tempfile::tempdir().unwrap(); + let fallback = dir.path().join("project"); + let worktree = dir.path().join("worktree"); + std::fs::create_dir_all(&fallback).unwrap(); + std::fs::create_dir_all(&worktree).unwrap(); + let path = dir.path().join("session.jsonl"); + let content = [ + serde_json::to_string(&direct_workdir_state_event(&fallback)).unwrap(), + serde_json::to_string(&direct_workdir_state_event(&worktree)).unwrap(), + ] + .join("\n"); + std::fs::write(&path, content).unwrap(); + + let cwd = load_direct_workdir_state_from_path(&path, &fallback).unwrap(); + + assert_eq!(cwd, worktree); + } + #[tokio::test] async fn test_restored_direct_task_state_is_visible_to_tasklist() { let dir = tempfile::tempdir().unwrap(); @@ -7487,8 +8401,14 @@ mod tests { ); } - let listed = - execute_direct_provider_tool(&state, "session-a", &root, "TaskList", &json!({})).await; + let listed = execute_test_direct_provider_tool_with_state( + &state, + "session-a", + &root, + "TaskList", + &json!({}), + ) + .await; assert!(!listed.is_error); assert!(listed.content.contains("Resume task")); From 2ddb0b358d8f17ede99110630b62102623a1d8d3 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 13:27:52 +0800 Subject: [PATCH 045/118] Raise Rust macro recursion limit --- apps/desktop/src-tauri/src/lib.rs | 2 ++ 1 file changed, 2 insertions(+) diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 16092b2..9480223 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -1,3 +1,5 @@ +#![recursion_limit = "512"] + mod claude; mod history; mod latex; From 3cf47245ae4ff60038445b49acb5e0453a0d059f Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 13:35:51 +0800 Subject: [PATCH 046/118] Show direct provider API errors --- apps/desktop/src/hooks/use-claude-events.ts | 72 +++++++++++++++++++-- 1 file changed, 68 insertions(+), 4 deletions(-) diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index 6d21948..953e223 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -2,6 +2,7 @@ import { useEffect, useRef } from "react"; import { listen, type UnlistenFn } from "@tauri-apps/api/event"; import { invoke } from "@tauri-apps/api/core"; import { + CLAUDE_CODE_PROVIDER_ID, useClaudeChatStore, type ClaudeStreamMessage, } from "@/stores/claude-chat-store"; @@ -50,6 +51,8 @@ export function useClaudeEvents() { ); const hasTexChangesRef = useRef(new Map()); const cancelledForAskRef = useRef(new Map()); + const lastErrorRef = useRef(new Map()); + const directProviderTabRef = useRef(new Map()); const listenersRef = useRef([]); const msgCountRef = useRef(new Map()); const streamStartTimeRef = useRef(new Map()); @@ -64,6 +67,13 @@ export function useClaudeEvents() { pendingToolUsesRef.current.set(tab.id, new Map()); hasTexChangesRef.current.set(tab.id, false); cancelledForAskRef.current.set(tab.id, false); + lastErrorRef.current.delete(tab.id); + const providerId = + useClaudeChatStore.getState().selectedProviderCredentialId; + directProviderTabRef.current.set( + tab.id, + !!providerId && providerId !== CLAUDE_CODE_PROVIDER_ID, + ); msgCountRef.current.set(tab.id, 0); streamStartTimeRef.current.delete(tab.id); lastMsgTimeRef.current.delete(tab.id); @@ -78,6 +88,36 @@ export function useClaudeEvents() { // ── One-time listener setup (mount only) ── useEffect(() => { + function setUserVisibleError(tabId: string, message: string) { + lastErrorRef.current.set(tabId, message); + useClaudeChatStore.getState()._setError(tabId, message); + } + + function providerErrorMessage(payload: string): string | null { + const trimmed = payload.trim(); + if (!trimmed) return null; + const lower = trimmed.toLowerCase(); + const looksProviderRelated = + lower.includes("provider") || + lower.includes("openai") || + lower.includes("api key") || + lower.includes("unauthorized") || + lower.includes("401") || + lower.includes("403") || + lower.includes("404") || + lower.includes("429") || + lower.includes("too many requests") || + lower.includes("rate limit") || + lower.includes("invalid model") || + lower.includes("model access") || + lower.includes("tool_calls") || + lower.includes("unsupported parameter") || + lower.includes("does not support") || + lower.includes("base url"); + if (!looksProviderRelated) return null; + return trimmed.length > 800 ? `${trimmed.slice(0, 800)}...` : trimmed; + } + async function registerProposedChange( filePath: string, toolUseId: string, @@ -193,6 +233,14 @@ export function useClaudeEvents() { log.info( `[${tabId}] ${elapsed(tabId)} result cost=$${msg.cost_usd} api=${msg.duration_api_ms}ms total=${msg.duration_ms}ms`, ); + if ( + msg.is_error && + msg.subtype !== "cancelled" && + typeof msg.result === "string" && + msg.result.trim() + ) { + setUserVisibleError(tabId, msg.result.trim()); + } } // Extract session_id from system:init @@ -306,21 +354,27 @@ export function useClaudeEvents() { if ( !success && !tab.error && + !lastErrorRef.current.get(tabId) && !cancelledForAskRef.current.get(tabId) && !chatStore._cancelledByUser ) { + const isDirectProvider = directProviderTabRef.current.get(tabId); if (count === 0) { const isWindows = navigator.userAgent.includes("Windows"); chatStore._setError( tabId, - isWindows - ? "Claude process failed to start. Check that Claude Code CLI is installed and git-bash is available." - : "Claude process failed to start. Check that Claude Code CLI is installed.", + isDirectProvider + ? "AI provider request failed to start. Check the provider API key, Base URL, model name, and model access." + : isWindows + ? "Claude process failed to start. Check that Claude Code CLI is installed and git-bash is available." + : "Claude process failed to start. Check that Claude Code CLI is installed.", ); } else { chatStore._setError( tabId, - "Claude process exited unexpectedly. This may be due to rate limiting or an API error.", + isDirectProvider + ? "AI provider request stopped unexpectedly. Check the provider API key, model access, Base URL, tool-call support, or rate limits." + : "Claude process exited unexpectedly. This may be due to rate limiting or an API error.", ); } } @@ -329,6 +383,8 @@ export function useClaudeEvents() { pendingToolUsesRef.current.delete(tabId); hasTexChangesRef.current.delete(tabId); cancelledForAskRef.current.delete(tabId); + lastErrorRef.current.delete(tabId); + directProviderTabRef.current.delete(tabId); chatStore._setStreaming(tabId, false); @@ -428,6 +484,14 @@ export function useClaudeEvents() { ) { log.error(`[${tabId}] CRITICAL: ${payload}`); } + const isDirectProvider = directProviderTabRef.current.get(tabId); + const providerMessage = + isDirectProvider || providerErrorMessage(payload) + ? providerErrorMessage(payload) || payload.trim() + : null; + if (providerMessage) { + setUserVisibleError(tabId, providerMessage); + } // Surface critical stderr messages to the user UI (only if no error is already set) if ( (payload.includes("git-bash") || From b84007b46c6db3d7aab381d5167358a4394d7f42 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 13:41:49 +0800 Subject: [PATCH 047/118] Force final answer after direct provider tool loops --- apps/desktop/src-tauri/src/claude.rs | 115 +++++++++++++++++++++++---- 1 file changed, 99 insertions(+), 16 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 1ad2a82..1d481b3 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -66,6 +66,8 @@ struct DirectTask { const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; +const DIRECT_PROVIDER_MAX_TOOL_TURNS: u64 = 12; +const DIRECT_PROVIDER_CONVERGE_TURN: u64 = 10; const DIRECT_PROVIDER_TOOL_NAMES: &[&str] = &[ "Read", "Write", @@ -6518,27 +6520,108 @@ async fn execute_openai_compatible_provider( let final_content: String; let mut final_usage = json!({ "input_tokens": 0, "output_tokens": 0 }); let mut turns = 0_u64; + let mut convergence_nudged = false; let client = reqwest::Client::new(); loop { turns += 1; - if turns > 12 { - let message = "Provider stopped because it used tools too many times without producing a final answer."; - emit_direct_error(&window, &tab_id, message); - cache_direct_provider_messages(&state, &session_id, &messages).await; - let result = json!({ - "type": "result", - "subtype": "error", - "is_error": true, - "result": message, - "duration_ms": started.elapsed().as_millis() as u64, - "duration_api_ms": started.elapsed().as_millis() as u64, - "num_turns": turns, - "usage": final_usage, + if turns == DIRECT_PROVIDER_CONVERGE_TURN && !convergence_nudged { + request_messages.push(json!({ + "role": "user", + "content": "You have already used many tools. Prefer stopping tool use now: synthesize the findings, explain any uncertainty, and provide the final answer unless one more tool call is absolutely necessary.", + })); + convergence_nudged = true; + } + if turns > DIRECT_PROVIDER_MAX_TOOL_TURNS { + let mut final_request_messages = request_messages.clone(); + final_request_messages.push(json!({ + "role": "user", + "content": "Stop using tools now. Based on all gathered context and tool results above, provide the best final answer. If anything remains incomplete, say exactly what is missing and what the user should do next.", + })); + let response = match send_openai_compatible_without_tools( + &client, + &credential, + &final_request_messages, + &window, + &tab_id, + &state, + &process_key, + ) + .await + { + Ok(value) => value, + Err(err) => { + let message = format!( + "Provider kept requesting tools and ClaudePrism could not force a final answer: {}", + err + ); + emit_direct_error(&window, &tab_id, message.clone()); + cache_direct_provider_messages(&state, &session_id, &messages).await; + let result = json!({ + "type": "result", + "subtype": "error", + "is_error": true, + "result": message, + "duration_ms": started.elapsed().as_millis() as u64, + "duration_api_ms": started.elapsed().as_millis() as u64, + "num_turns": turns, + "usage": final_usage, + }); + emit_and_persist_direct_output( + &window, + &project_path, + &session_id, + &tab_id, + &result, + ); + emit_direct_complete(&window, &tab_id, false); + return Ok(()); + } + }; + + final_usage = response.usage.clone(); + let final_text = if response.content.trim().is_empty() { + if response.reasoning.trim().is_empty() { + "I used several tools but the provider did not produce a final text answer. Please ask me to continue with a narrower instruction.".to_string() + } else { + response.reasoning.trim().to_string() + } + } else { + response.content.trim().to_string() + }; + let mut content_blocks = Vec::new(); + if !response.reasoning.trim().is_empty() && response.reasoning.trim() != final_text { + content_blocks.push(json!({ + "type": "thinking", + "thinking": response.reasoning, + })); + } + content_blocks.push(json!({ "type": "text", "text": final_text.clone() })); + let mut assistant_event = json!({ + "type": "assistant", + "message": { + "content": content_blocks, + "usage": final_usage.clone(), + }, }); - emit_and_persist_direct_output(&window, &project_path, &session_id, &tab_id, &result); - emit_direct_complete(&window, &tab_id, false); - return Ok(()); + if response.streamed_text { + if let Some(object) = assistant_event.as_object_mut() { + object.insert("subtype".to_string(), json!("streaming_final")); + } + } + emit_and_persist_direct_output( + &window, + &project_path, + &session_id, + &tab_id, + &assistant_event, + ); + messages.push(json!({ + "role": "assistant", + "content": final_text.clone(), + })); + final_content = final_text; + break; } if direct_provider_cancelled(&state, &process_key).await { From 7464106fdbd82edc857cf16e4f0520ce1a1436c5 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 20:19:18 +0800 Subject: [PATCH 048/118] feat: add OpenAI-compatible provider support and polish desktop UX - Add project-level OpenAI-compatible provider configuration for Qwen, DeepSeek, GLM, Gemini, Moonshot, and OpenAI - Support provider/model switching inside the chat composer - Preserve chat continuity when switching between direct providers - Bridge direct-provider conversation context when switching back to Claude Code - Improve direct-provider tool compatibility, Python/uv context, skills behavior, and PDF text extraction - Replace app icons with the new ClaudePrism prism icon - Improve project naming, rename handling, recent project/session migration, and session deletion UX - Polish provider icons, chat error spacing, uv dialog layout, and light-mode native title bar --- apps/desktop/public/favicon.ico | Bin 5238 -> 62649 bytes apps/desktop/public/icon-192.png | Bin 13521 -> 40764 bytes apps/desktop/src-tauri/icons/128x128.png | Bin 8228 -> 15510 bytes apps/desktop/src-tauri/icons/128x128@2x.png | Bin 17467 -> 49727 bytes apps/desktop/src-tauri/icons/256x256.png | Bin 17467 -> 69896 bytes apps/desktop/src-tauri/icons/32x32.png | Bin 1708 -> 1853 bytes apps/desktop/src-tauri/icons/64x64.png | Bin 0 -> 5475 bytes .../src-tauri/icons/Square107x107Logo.png | Bin 0 -> 11763 bytes .../src-tauri/icons/Square142x142Logo.png | Bin 0 -> 18210 bytes .../src-tauri/icons/Square150x150Logo.png | Bin 0 -> 19690 bytes .../src-tauri/icons/Square284x284Logo.png | Bin 0 -> 60202 bytes .../src-tauri/icons/Square30x30Logo.png | Bin 0 -> 1737 bytes .../src-tauri/icons/Square310x310Logo.png | Bin 0 -> 71467 bytes .../src-tauri/icons/Square44x44Logo.png | Bin 0 -> 3088 bytes .../src-tauri/icons/Square71x71Logo.png | Bin 0 -> 6367 bytes .../src-tauri/icons/Square89x89Logo.png | Bin 0 -> 8943 bytes apps/desktop/src-tauri/icons/StoreLogo.png | Bin 0 -> 3656 bytes .../icons/android/mipmap-hdpi/ic_launcher.png | Bin 0 -> 3167 bytes .../mipmap-hdpi/ic_launcher_foreground.png | Bin 0 -> 22340 bytes .../android/mipmap-hdpi/ic_launcher_round.png | Bin 0 -> 2956 bytes .../icons/android/mipmap-mdpi/ic_launcher.png | Bin 0 -> 3128 bytes .../mipmap-mdpi/ic_launcher_foreground.png | Bin 0 -> 11922 bytes .../android/mipmap-mdpi/ic_launcher_round.png | Bin 0 -> 2835 bytes .../android/mipmap-xhdpi/ic_launcher.png | Bin 0 -> 8859 bytes .../mipmap-xhdpi/ic_launcher_foreground.png | Bin 0 -> 36106 bytes .../mipmap-xhdpi/ic_launcher_round.png | Bin 0 -> 8470 bytes .../android/mipmap-xxhdpi/ic_launcher.png | Bin 0 -> 15812 bytes .../mipmap-xxhdpi/ic_launcher_foreground.png | Bin 0 -> 78154 bytes .../mipmap-xxhdpi/ic_launcher_round.png | Bin 0 -> 15625 bytes .../android/mipmap-xxxhdpi/ic_launcher.png | Bin 0 -> 24950 bytes .../mipmap-xxxhdpi/ic_launcher_foreground.png | Bin 0 -> 141923 bytes .../mipmap-xxxhdpi/ic_launcher_round.png | Bin 0 -> 24729 bytes apps/desktop/src-tauri/icons/icon.icns | Bin 339179 -> 1338430 bytes apps/desktop/src-tauri/icons/icon.ico | Bin 117510 -> 62649 bytes apps/desktop/src-tauri/icons/icon.png | Bin 42886 -> 200476 bytes .../src-tauri/icons/ios/AppIcon-20x20@1x.png | Bin 0 -> 957 bytes .../icons/ios/AppIcon-20x20@2x-1.png | Bin 0 -> 2527 bytes .../src-tauri/icons/ios/AppIcon-20x20@2x.png | Bin 0 -> 2527 bytes .../src-tauri/icons/ios/AppIcon-20x20@3x.png | Bin 0 -> 4574 bytes .../src-tauri/icons/ios/AppIcon-29x29@1x.png | Bin 0 -> 1542 bytes .../icons/ios/AppIcon-29x29@2x-1.png | Bin 0 -> 4328 bytes .../src-tauri/icons/ios/AppIcon-29x29@2x.png | Bin 0 -> 4328 bytes .../src-tauri/icons/ios/AppIcon-29x29@3x.png | Bin 0 -> 8054 bytes .../src-tauri/icons/ios/AppIcon-40x40@1x.png | Bin 0 -> 2527 bytes .../icons/ios/AppIcon-40x40@2x-1.png | Bin 0 -> 7044 bytes .../src-tauri/icons/ios/AppIcon-40x40@2x.png | Bin 0 -> 7044 bytes .../src-tauri/icons/ios/AppIcon-40x40@3x.png | Bin 0 -> 13172 bytes .../src-tauri/icons/ios/AppIcon-512@2x.png | Bin 0 -> 796589 bytes .../src-tauri/icons/ios/AppIcon-60x60@2x.png | Bin 0 -> 13172 bytes .../src-tauri/icons/ios/AppIcon-60x60@3x.png | Bin 0 -> 25443 bytes .../src-tauri/icons/ios/AppIcon-76x76@1x.png | Bin 0 -> 6519 bytes .../src-tauri/icons/ios/AppIcon-76x76@2x.png | Bin 0 -> 19151 bytes .../icons/ios/AppIcon-83.5x83.5@2x.png | Bin 0 -> 22506 bytes apps/desktop/src-tauri/src/claude.rs | 467 ++++++++++++++++-- apps/desktop/src-tauri/src/lib.rs | 3 + apps/desktop/src-tauri/tauri.conf.json | 1 + apps/desktop/src/App.tsx | 43 +- .../stores/claude-chat-send-prompt.test.ts | 73 +++ .../stores/claude-chat-store.test.ts | 43 +- .../__tests__/stores/document-store.test.ts | 74 +++ .../__tests__/stores/multi-tab-merge.test.ts | 1 + .../__tests__/stores/project-store.test.ts | 46 ++ .../components/claude-chat/chat-messages.tsx | 12 +- .../components/claude-chat/chat-tab-bar.tsx | 4 +- .../claude-chat/claude-chat-drawer.tsx | 2 +- .../claude-chat/session-selector.tsx | 227 ++++++--- .../desktop/src/components/project-picker.tsx | 16 +- .../desktop/src/components/project-wizard.tsx | 101 ++-- .../template-gallery/template-preview.tsx | 106 ++-- apps/desktop/src/components/uv-setup.tsx | 7 +- .../src/components/workspace/sidebar.tsx | 98 +++- apps/desktop/src/lib/mupdf/pdf-doc-cache.ts | 12 +- apps/desktop/src/lib/project-name.ts | 15 + apps/desktop/src/stores/claude-chat-store.ts | 196 +++++++- apps/desktop/src/stores/document-store.ts | 174 ++++++- apps/desktop/src/stores/project-store.ts | 45 +- 76 files changed, 1510 insertions(+), 256 deletions(-) create mode 100644 apps/desktop/src-tauri/icons/64x64.png create mode 100644 apps/desktop/src-tauri/icons/Square107x107Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square142x142Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square150x150Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square284x284Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square30x30Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square310x310Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square44x44Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square71x71Logo.png create mode 100644 apps/desktop/src-tauri/icons/Square89x89Logo.png create mode 100644 apps/desktop/src-tauri/icons/StoreLogo.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_foreground.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_foreground.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-mdpi/ic_launcher_round.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_round.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png create mode 100644 apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_round.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-20x20@2x-1.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-29x29@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-29x29@3x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-40x40@1x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-40x40@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-40x40@3x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-512@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-60x60@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-76x76@1x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png create mode 100644 apps/desktop/src-tauri/icons/ios/AppIcon-83.5x83.5@2x.png create mode 100644 apps/desktop/src/lib/project-name.ts diff --git a/apps/desktop/public/favicon.ico b/apps/desktop/public/favicon.ico index 1e5c3eb8c6ad90c8b1abeb682471763faad55fb5..fa2a6d7ca5355c254d122b633c915ecf55a5cf6c 100644 GIT binary patch literal 62649 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 literal 5238 zcmb_fdskFd6u-6l0Dc7iYWXqz1pSu+nyxepdo7DsA`zh_DM~9!OohzCg#wC(FHosO z$sUA?X{iju48y<-Gr+uHU}m>}XJ$`#F89tux@(?6kScMrRnWzQs+q{tPJmbJzXKHbQUg3(H2Ssco80 zUrFFq9C8xco+Fd=+enD^9iOBPOk?EJ{}-0q=+ezO+TZG?(gO}EZ*b5%pN`YD!TB`X zfk$sYy$qZm@V@Vvq1wYPwnvC|e&$$#YsC*)JL>E-I2@$Ae}}1&&rvU5#>(&52jt(_ z@BU(fI(q#p^cFg~3-T{Ld@wb(uotl99zl-MMaKtz*xJh8f-N%SE{IKx@?;)&T+f3z zQNV2-H^dY5A#mjRL9VnEmSI0)6IoX}G9UJ0wx4V&2%gAYZ4Z5N)k9%h?C<~3Bh%hj zD?e9$Gab~K<+<;o3X|BIiwuLW;%su&UFhEaBoTWWPfk&>Sq{jihfarl_g=&Ccw#C_ z@i@_PEKa}P57G9Itn-=ZoYp7tbKQF(=co5M?w-Hlr-j8h4gD3SU^u466Vp+e3oO$S z&LMAnY`2UpY4~g(_(3lC#eB|?ZFen_%dQ8hNoax(sV`yDjQxd?Wb^|p&Xn)F1K-jK1a zW-PTPG^#hjM_#CFo}|IM!IW=ReLi7&roexVW#8s}h#E#OyOQ&J@9lY7jK- zs%%WuO?qsM&9H@LkZXfLFh*aVnpS7s+2>O^|FL~RoyovZfP8bygxcpVjs?(9Z|AKa zj**M!x_Mn>=F_9D#2MfmjkRhy*L)|sy)-+&tZV?e!;ivrnd>8|5juN)(%A*d{mw(4)?TJ+`txG=4Wl;f0v0b#YHbUZ!63Hqul#O{my%@1HPj z*`4mkn|399KzJrOHlUt{&WIJbld`s&{&4#=McI!ovLB=77ForW>G-W&SBE(UEiA@3 z7L2Fpg#KB3*d9KPxO57S#2!|1WM1tZIe>M~ zwc*Wy*fjDuqV|a#0H1ikd1v@hC@-IT7JTSg&F=@q#_PY#s~FS8K9Bphr7Hb?WZhE^ z`Oi!S-m1qsy~@|1$IR@qvbz~=ra7sJGtpSB;VpNb-_!W;rqjn>D<0!~3O`RD(93!F zG(z?Ke$~(AGRE0U9h|KOfjq1DsMa#P=d5&*z2~EYm8@*~8Ts^k7ku=3x=j1k(<$s^ zJz$)-`qyI`$Ldbz5DySz^vwz@ZJzzih-dbXv&mJDH2GF~C-1o#R;D@Vfd>DCKGLi( OQ|n1Q@MV&ZwSNJ*W}3|a diff --git a/apps/desktop/public/icon-192.png b/apps/desktop/public/icon-192.png index 8891ff8c71292a9c6cacbd53b46d0406765db1bc..c0cb9ba718fe4fcc5efb7bb2e022d9e99f899e90 100644 GIT binary patch literal 40764 zcmb4q^;=ub^LBvXE-mhswrFv8Et0lRixk&V+@0W3EJ%^!P@pXi#odD!DZ$-6Xn+vD zeBS@yz0S2~_MG#}?mctQ%(+Yvg>~h59jIrZpi`nNnp6Y zQ&R*~jx+2(JpgSLv=sn=nnXgBIrh^tzKgnnI{-k^`@e=U=={?P0LY!xP*(WQ$K>b% z8_GEJoeyukgLZLwK2yxnzO})=;oia9X7_kh_8|A9Rt$eceEnY(;Iu=m~}baKe@s(V^RN_ng3Sv9Iu$5;*fsdOTQ|fEQUWwf{tYC z>P72$^R8)+rBvQdQK`_DfQE%t-l92!A2p9I9<`aj7NYX%aWp?rZP#;Xkf6L!w!X0B zqZI4rcW+aLo<4qqMLcRVK6OaCp0lNp)D&2}#h+A8{?Ofkd`apPLeK6(}_$eRVhY z?_2lOI9DIiZywwvo1np4%d`5o?@TZl!sWIlH=^`5b%IL8S2=o~PSUO@4k_((o)!8x zrt1EaWH@ES_MIb{RGRLqyBosFX^2KkQ@rQo#Kyq#6h!vQGZZ8Tht@f_LL_JAH`K^` zDk620R#^%irB^)GwO%5EkfQ6;pB6x}r%g?5uW|`p`-9ecFT==^U%i;(W=lk;NLv}0 z{2r#qG;oZzClA)xQa4)4%Ov%Tm%j1|;O?6sbIqAHwe8@h@hpPNeYocT_zqLtjm@W;?EzoT5I% z%JUUnv@6`gs8v|>?>*~taxLL8)3=`TwqX`esOu$}K29<{*^|4<+m87DADaKRCLIDl zQJe=!7pP1TpqI4FjhWAOXMGNu|0SN{$ruNy&5u$j+8!R#Os-DV6s}f5XWQ9C7EHr!5SZb{!iJT00u3*r7Nkw z&wLa=InQwv`Z!XSBka1hMi+@nf13rQ5U1 zR{A(oqMJyVBlImLWt55I?$n?YQ_mn)n5$YyfD;=XZ=T?jBJt&Zwt}d$s zv=bwnEEouRw&&!_>GO6%^7d`V7cQTS_wAGMro%cP^P{eXZ;AyE?8U~t)gOQS zp_u-z6YV^AVbP=?nbBC!u-FC}|HJQ9zHP)ADtYI=D@W~R9lie0Pky*SdU;=ecT=bT zY-DTV%3d&DJD|h#xT@lTEv*}#nOnwYCe;1NaegK@r+_!F_R5Bn27<*fxiR{jH+vO> zobDwbpKT?|3Z0gd-`H)q^QpiSirh*w7COJF`&%CouOIHVv7j6`cpn?Y5OmJeA8>hB16C9OVvg;*6mYV^2OP9fDD2>RO7DojN0F zeeDntsCl}ODC6cd=}T0FJ+Ol*ZG1E4%$>!n)|ko5+U17#?#6#C#93}-;zXJxttGZj z?a{|RS1}vCvG6ZT;SEA@f2k@W~zGvoXE*&NT?U~H{ zq3Ff%o5x?`0a9gfMM(cQTFchh?|3#}+fdvRdsqYpT-q;hn}-(&y4%RH0_fQJn4Qwq z0>bp^C;4(RqKumuH>M3Gq1@r>U!>0V?}U6EE*fW(I-QGj9=5wfbnj=~AT~i%Y0{9$ z#|ezpli5S0^s^oy**mIj$n)FV6;ef*!t@EXy0xIhAA-U5bvw1%##_YRgf5WUChpEc z!ov8jEG!=1LXBfGG4V!puAf@c2nc!nZ7QuX+H_EEHc%fX(oU|YpZCD<69M@xjq$J~ zw90Ie(ZJ-xa(>bNKT=|`hF9PC`P2@^cUa&W;9C>JD~SuDefubJ$aF&XhThXTGi1>>tDNQl@a~Q3c$M{o1uK zLEL5%Gvp1(qU2XOotIyMJ;&nI`G6C5H_O--pUvUG3WFfj#-)aAVw~nPGs8nt{hhO7U z7?}Uq#qKhtf3|~d(M)?dwzyhNQxbUre<^shF(5{?$|`vz#oiHw*yC>h=v>q5dr8fA zcj)`oI(om4_Q28ZKFVw2VPSq&RJ4oSgnzMZcDldx!=~Y(W8@*iSFehBRZMzf^!$Zb zjFt%&vNIO-pvLTx6*G@EwD#FpjA3z#B%@Pypeb74BksrNl&zTm>m@+{jX!K+(9iMi zD$hB9@u&xRU$bLfQXgxn_O-E82%mqa_}<{~=Wg+??TUXupoc|_wc$w3tLcqF(jeCx zjs|Pgn%%EggB9X}F8NV~phFcjx`^bC-5NlhaobD&Nu^D~iadOUEG_HZLqCr2UuUH@ zPGYz|B8O8n)$zR(dQ$V2-#F zThza?T*qO(Mcp5&F|5dM!_*0LEuAt_0Ne)~?gn zW)yK2@sOBXz@VYVo!3vqC2I7=w@2g9xzD0-quv4C5xO}44XIJIi85OZeAcbpI%a>g zw&KQeNys~I)(v@2HSNBh<}Y?pvt!O^b=edUINCOP_vwPV_vip-ym&rD1V2=ONV97s z=b<_Dwh&daPfCV|LqYexMe1(jAIuq_ZT4QeAa){1YQirNWAqJP)mKJwy_D=7NfrA@ zmp3^+`X?iPa?WK@CM8URC$dL}7V-RP*3IysjfK_5pvsU#DIs1{+~e&282;(<^aU<2 za~s+KRM5s}Pr(PIdSLQ^GxGkFLf z@IBeA`x~V?`wDWR8hz)fDH;l}*ay7HAmi|y!+_)OfxmiwwjS8B z<^@dzFs1oL!`Yf7U3P!ZcQ^imlEO`%%gKx+oNUUWT!{SusMHhPM>cR zUOl^i*&+M8vw@6{!WUIWs`7UHHO86MuExaebk?ycARvrTtVcEk=AA4uipfseIzWzX z26uV5U%WNw{^l5BoUvouyo(<1N7dWwC|hJ0>Y=~u+D?l;uXPbvSkfxmElW2~D~^b@ z+c>Ykjv?o38IXYESahWMW!^Y7^Ydv@$|t}!O+BByA%rb_W-wD;PVgXBK-Cki%DYCt zf-WIGV|Oyjwb_h~9*N?gxLz2@uI?k3Li6T0#n{Hvn?};;b?OS`7zdQenU?Hu&xUcQ z7eo5a`%&SS78&|ZMg~T?t~Z4w`Liuwmuf~<9jN_awWx96*#thT%#+{ko*)`&&-l`&iz+2Zb6ZmoZ4uR*Ps zOAE)F)*y$I7#Vhq-HJY|y5~)K8l&1NZe8`?)Eexkm*R`M4S4A5Y;Rz`)OzzjCkt^pkopPA{yS7bf z{^U}_JGnfb^^{rq9klT8k@kd)h8+m0mm9tTGRkryq&4HBcK6NvB8fpKV|?*Gj;yWU zO^(zy7k++{Ua7~oBA1_w+#_m;HLovhuo9Uic!2g(tU3t1HwtJ&s#b@oqmko(zDc;$6U}nYu#<-S2_z;EOXltjB1=EAV==;$T z3iwHfFGe)t`26pbi{pKeEkG3wq6{Xe6I46l&M_(qH1mzd}5$~PJQfa2{FAm^~NDP zjUuHqW|!+2^?7V+GNPT8-Q0XoUXE+Z1~mOq?Qni$k1uxdck#M?6d;Z8sHL~ZB%F`1 z#fYT2Owz9?S2sJX7ofvmyJ!@~QtmM7@jh@vJnWo*+qw?^) zKXZQcARl>$dGttW)tq;}Is9)z0&}ktXEO!yl!uc|UHG2e3>>hgmJO~CZ(Rs#OJZ1{ z&{NT_8+SUouNtBxn%dyBU1TA$gr9exPc4q(p@=iLKG5rHy$bC_AO%9!{J1~S3FQ9# zVtL^z5vmVlHF39&wl>(%m(pmw->;E;LHf8+HEyxgCcq?HDtpJn@?-aOnM=zd3n{GV zuYbM`V@y{K&iGhvYP7t0_)?J>bV)mA;bnMWdG-EY=80GHSM7LREE2XWXB>@r#NwaX zs-fx2*`mkz&WQ)Rg?T=Xc02`dXY31VF71oLB2*haxR_TDoWHYO=Tv&*ggvjUGwm+V$6Nxp(m69L{0AX7c#j*aRvV{soe91g z=2}KS%$#37{E51Qbfg8u-LGHF#F$f$!}ILvJ315t>WszH6WJS*^n)Otlp||*OA9uB znW7v2&i~<32z3~w`6Qld1OBkMua_mQ=u;7r^>_7d3}z{PR2(e!C*&z=n`HT-wEvXF zjwG2L62<0CW(Fv^=Ztuh@Y7Uk2_?J$_!)If#z7FyRqLxL#B20j(M3kb%kbtHf|5$; zTd=0elfDkeSHtwF1uHpa^YX@I4jj#Xwfb}_-hcI6Ta+)aW84@%OIra>XJG;hfjO)zeH+_YmUuCtBWal_JM4Bh@#6@ z5g?N{6*Ey=)Z^_998vY?LJPSVdKS>h6)u5KP*Rm#?Uxk}R*&SlQsVhEcwlOl zT)aK>E%Tf~!@EGbZQhkk4W9e9h>^kFMboyOi$6&GZF*lqi|MIOISkNmd@IJQ3Prqm z{1EPr90BE|&texBK$a3;sY~%45XkGd%h>(Ar^8b7H{lk2k44Dz_&b!`v(?=$n}hBoRkmQ7Cu67;jHeH15)3Wwt#SDBqQS08Rkp7gYcghQG_ zJ0C7z+EfvmUmJ!R*mI5=v77H0(jMn{ROIhCQ%q^%SpK(rX!fg9-?^aDP?B(c^PC*j zCw*n#{uDOYbHsmM>WQIEnpzC{SeL>kAvSaVQ~=IuO{cKWPq8tgKrxY8j1ZLypt;K< zzQn1U$xr&YdFr(3EZ3g+c(u8R6oa%y zJ`GON<}C&X*{BJ9?-CIIz25L#Iv-!OXY}?t-00TNxX+*Bw4(EJDNw&B&VLIPk2=op zuPaL|b}}>yGTX4_Xmz{)l_I;=#*Oh)xjI8E%`*fP>GO6kT&yyp|8+ZSS`~=k4THbJ z9`Vb&82FbWJ71S=Ln#$UFni9VMu3_N+0=giV1@rNk{Nw1i@u(YLT2gy1e~m`qW0;6 zZsrp+a`N%ba{7P*Vs8ghp8E0SJ@F{M8sT zbypS{`tl58HNUMBucLt1+Rk^tGl6M!kF1q^=p|rTnzfdwQ!a91ux+68ZjBs$%}+&o zCdRzl-}$hHgGOI0W)$O_k#Isn!+m333x$1jOd%(l;%7LsAlKoGm*l) z!tF3(jc4T94}WrHUv^#Xn(Wg`$?`~dM`FnPIIsop;2O0=5@bF%m}_bd$dAvt%{%j(PD25MFP<694x!n5NaOC2vHA{S^S&G&0gKg*y8S7o|S zJA6tA)~0cvusm6>LI)5&26bVL8ZZwqa0S!sRHO^TGTO9y{J_6iPtm9?9x4u+QJ~%o^Lss~jU6vif0{qoV@AiT7jE(SQ z*WgqQfYTf{o3xB)i7vz|hyTVC-k2xXPrPWbUwJnD6|Nef;}UQyw`tk=5fTWT#qNr* z&rv!?m+S!0JJZz2tWN3PRS232ax-tq1!y5b9wwe{FyqJ!l!xQlRHX=Vvwm&Hf6Eno z`SH1&S&e9XgoXN|p8jti~I#g@3ja&e$G665Q%#He-zOIa*N%LjY<&)DEpv)4S= zm7&gMakp5L+NcmXuide173$xv*q!iBrFHTuB#-j?+Hl-#=E;fPW;R({h1_Cx-lJXw z-P}^5mQ9(~Pk+*04h5ou&WuOj5SZ^ss$^jlX5`WIqLlFo#ndxu-VFrZh3gm81*>x< z33wrYouM}jVr-EHuvf`T9tNLW;Hpg0>&NH98~EGrr>1SGQZHvl5!fsuVv0c*3|n`; z&_7`;Q4JvsbHG|TZ1F$%m50>m7r?*F8`xyE$W9dig9b6i8Jex;IG<2C);YDeRP6kC zkcbk-r+E5#GSTa`Os$Fd8UN!tHae)w9u?H}3iUuefoPqmJ8PZDUGs+cMni7zTlHIo z(q$fsbwhT`i(2LX0}Ar!GxzrN(WG&VWV9P929b}w=it@-j~+6Ks*dO0xp;mSzKj2* zX3{s>I=YbjJfSRBHQ>tz?2d^AnzBuUzE&8B|MoY?$h(gHU~{sh`Vr~u4$U(9&xo>NjBle3|!@= zND};FD1lxcoJT$ci#@e;slpljv~Q*;0078SOW1%k|DC3 zk2v_TDI7d+l4@Mqo`m~jsho7*`o*Q(G9aQ4Y{0(Wx=pdesjd$N37zw6 zr`1TS3=GFpJTFgky$LxB*9XBBQR0i=ZxY4kH_pkYW48Bw4VY#SYZ1kR+uHQ;djWJ` zHq=v*GY#o1SC@*z6A=LjVHmoC5XDEw)M}@?xNvPC{t!h=ixub+zee39tVuLn!~|z6+L?CjR=A{WfKuI& zOrL04!})y&7nNWK0vda=1*VJwB=h4nx6qxpGqWQf3%sAGYrVpHi zy0Le2dlM&uG}io`zHJm~9D@S3@!`c96dy~#=Wph!RaDPyXv=1Y#objGpV!ANaLs=X z^pLw+V)(_2xo)fj;_|(93HjRwK)NJd4m8J`&FLhBW?xgzMr%W7ZpZ0glIz>Eqn zr;Hj({6f9Gii|}p^0(F2J6l9gs7F~RFtoZEb3}^ z8)>G@Da&AzKpOdr4Y>)$d{QnSdYQYb+Cn$y%dq}Q&UYO_X!|6JK-Bf9mkF5}IR?(BGEo0q71 zkHgbsgB>ymIjv<=$1VySG6}6mw9E!?T#RMVC)oK5muxZElzX;4EdnKba*2)ccdAXq z5}Pao|As|WecGi3b8URo8ZfOfTtWfnP@KShj^g~@i1JTMO ze`b`zjwR&o3{{2`PwI_E_e< zj11n20S=Q9j4 z(r4JubgUBC7z{O6zq*2+t^g&fi8<_keOW2bA@tqWf|YgP8eGY2J)2hesD)*qA!yux zaH=pn9}@23FX|Is_iXeyl2K2*WDtE5ZAVixa}#KELW2|Z zDN!!r=fGf58DjG1OO)>quF$v7kjvElG=i-}=xX4LFS8@>AlhUe3IXWa@ZwjT4oe{O zdoFx`u{YvPFCy9LEyY!BLsCJ~ffRUx*!gf%Dj-BB#%^|*VeHm}YjmRdZ2$6pmb%8Z zRes<(7nyq#%dU-*Yzm35JtqA&J|}8;KkkTVq*F*9^ieCKJf!@N#OhcW+Gocyv>M{@ z9kcf86O_?3>?jB5_L&VfiGb?HMP$q3Y|VTI*$x8I)w-{?WbnJ@;BdTORT#>9Ij@pU zbnOTB)dV69iV1b7GqjB=E;8R#Jxza_`;{pgN+eQNZ<#Y>d6 zBBLzhr!d{8!UFODVNGMgr!3z>dfa=`n`$gGF0E{L=%4mim35cCYP*zh?V;D#4rwlC zMVjcD__x_hG)g<)K_69saRI;Q8w#j+lt(FSYoXkZ< zl!9Dvw_r>ljS-frZ0uSOx~<~(A9#vRsK~xrzgI}p4ry~BfDt@9A0A?{=L+KpB1}FP zfz4{Lv~qd-oNh4I8tH& zyf4L+Tb3VFgjtqJ%@4icQ>++WN~y_`JelNb{_$X63IZIS8D_Mr5T^h*rj$KXTzm zy|)lgqUaw=1&x;~yNYney*gCfD^E};(2eeITOrrN(6=QCoUtV>|D#f|b*;cR8WkXl zHGB<(en`DswadV)MSgF>|Ro!`N|E-g5j)0e$%m`PT{9JA?(4&3Pn&Q6Vk?n^Z z47v&HR&K!E_iS;fMo}DBTVp`gHSQd#lSNJ53(VGgKSG|8c$>Rw$YLrLIJ36j$6jh{ z@J1nM4y!guaI1J)K27I?M&}+qG{RJ9BPGH#geMzVi+lwwHVxx>q_gVhfd1Q5n2pDt z7r+@FNCJDs0p_Ksw*Hzy*|8Mf;XZ*uv^~QDvc*x75Tn^bkwFQSXj9+x((HdLW6w9D z$JoBZTN@W>GVQR$*wYQYk6;RE#g`K5JZ5-R>F&V|Ptei$uQ=O+l6nS&b>R zmoUECsW`vtkr2;AssAaWV66gos9p5 zgr&F4?K%J09U(j4EdU7$e;jc6tWA|U^fp_!WGiuPFqMpn1NTgLK8*X-(q{-05aTVr zz0!vG=k05HJyL21|2rkhh7_g8$W+OjicP0q zf*I^8Yq;_ERDvunr@yjgK9UQJGJn|t7ir=A80Ui-B+4foVQJ_S`ObU9BUcqnUe60V z{>-fVoUDoLr&LHw#5It3ZgmWT_N}vI;e;I_DTY@j6i9*yw)fP)Q?jAS2y)m^VnOyT zaJX5wAp4PMYlE649XHsB7SGL-ER{Y?!HEQ;S%hk9TmW>VD(@>!FuXYl&P@n8431lh`y)Z62+_U3S8pH#@4!(P`sGOS;qNRvskX?f4*(o}9yt z%Q!i)?6!VWWG`s;g}oztDVV>rVvu@uW;3?x5Yex9g}f&hY05jCe%@hWtkrEW&f62O zkZgH&t=W`IHIR6S)zsOY$W7noQ{NrGM65%_c~#)?fm*UsoORlu>pb$efh~G$E-zFe zpd~^hMwhzY^NK}}Utzuh!|Ixy zPc7^$zTjo=oL!I9u!?sUEOk();>KLQ6g(F^q@=!aymhG_B{9G2dZVc3P1S27x;b)6 zCt&5rj-%_`mw!qpX!iAGIE2O|9$RW5KUko39;DYCX;JUMMO7=|TQRLstz|Y^r2{eg^xEaQLB@9HlV-8qaEXm*rj#Ljpw(t067; z5s1fmfdx%r4$ejchBKe=x+mM}iDF5Y4RzbLgdXOFqL8$(9Dex|(%|#YWUy&gunAGv zxu1AyHaYlQP2mL-RTd-23%9&o241lp#owD}OOB^Vg*n|yjJt@HA;VIFl0>Gc zq?zc6C_Bs=G6RmJZ(6F73Hk>M3Sz~hO$f3JAr*NIMYTuX!TYoBa2%q%f6?ZvViutO zI4+{hm2iyJ+0D8a^*`-MYa*)j#X58laD?mrPn`!huiG<=Z@9iOe5nq5O52f6Gn@@Y z)=GqudLli6Kb|FPnf51e-zpgKM+{mazH;&7I4IcCBLQ^o>c&QK}fdOxLMTDMB7MQ@RXd{4?Ug0pA@-C zXe{UjbEpv-Z}?xLyi*X-_P8zhB#>l#lA6W9RMA(EZ0pJlx>Udt(OZz35dKb(K=a>c zkf&vVa6;77YYfdr<$Ozu)XJ*hlPZi=u`@3Q*z;yoSpp;#ApCxa=3Bgd{d)t3&H3OK z7MtBr0MX}(XP5S`3@QXRXb#Ehm|XknkePjA`AJbHt?B>51zc1AzvI>DG)tM8L94l=o6>l8_Jh@{40J5p2+xFIh~bacg6o%*Qbd&@!;EwBWtz`QrBl zd-vCGIx)=IWsG477zIC8WvPZ&_&-eV%;h~979jan4OEK8+aAr!&wfbJL=rN~H(x%T z_dp`uHYdPNPmH{I4H>*pFLb|KU4ENY&c@T>(v(9OW%4mh_NqE^ z&w7_(pSaMCV>Y_G^!?^Vr^p%}$5;6#QM`$yw{l{R=RTP4YX3TFXe8Ho_;ce-eCeC( zAET+OrY+hPv)o$ZBFbA1pXjXU)hjbxCoNljqBtDCivKS$2A=g-#Fb0S*+(nkT$dsT z4Qe_uj{@Fb#K!dB*R*~|@&Cdp@Z64e4qi}G+@~QfwkJwGsR8>9DD2ac7N=Was;??TJ2aq- zFUjagy-$J2zIfhXcG+eV@VXcyk#Mi7P5tq> zC}~lA_nZ^C>}6I z>7VK=-w&`JWCT~cQ-qFJt$AyQ!$ru~&-BF^xcBTEA90f=I+1&(06O0nlM-@-`;aui zWq`*|_;a>_+g}{J7u6JS0?*6Mh=KvV=@`4s2P=)x5z5{f&tsa_KhI37zF4wlH2uM* zOn=+>4677w`48i+4a%on!C|}Iw_N9Ys%n7ZF^`@pr#7bWKau=f|AVQL_~mUc{V*#h zb(q5_)_gK??G^S9FMhV#o}eI&33;6k6NKY2fjK)a)^m2ZvT`o-e4sUo` zSGWg)!};hA>d#YpaZjOnB@ZGFD-b3PnUbW^ya$7FdhOD%mc$5H2Wfx|n`@pr!HW_YI&h!M7Own78I0qTn9o;QiYeX{k}#m~H6st; ztn>eIUI}pN2+kU(tjYweyu=iYCuqPS+sIVjw!zq`BJ2vXiKa(vG6f-k)YxRFYHF91 zdPX!g)z99~)|(G6cxjm|COGRgZXQ0XplNKPWv3P?X!zD~Q2t#Oal^=uS;H_5oI1!a z7VO!V5(}Ye`*gVe=|hamI|+-Se(3vidC^Xcc{C=+zAP+4+GcTD@0&#hBa~?cSE81A zc&DC)J}s1k&%)Vq_;9cFT1b9Y8%yImLG89ZsFhn@LYQJ0!OB8w8k&7ew1qO2=L^Dg zyR{^1dEi*g3U;(a#f}1h z1yhq4sZ!6Dl?pD2u=Z(jnr%TAfxYCeaq@p9FoOoweR7J{JQ5VE?1d$bE&m?S#d6*F z%=mK^&I)0C%f$y>X~`#fW1hEBCLL!52Us%@_}_GFs<>nWHt@>`gK>%LnhNESZA1`v zE;92B4Z8o><_Xt#yLA9udpbJC?lez0Zr=aU3CNoX*^fESXvi(ZdOzD>es;w51HJe0 z2Gu;7<;?zmbjc=Ie32#`-g8A8Qbn0#?siXR_%2vqlXXkGnI+3K!~sH5dyfyxy=TEa z4Yr~VHtN8u<;5P3+-4aXDR3|(;q=8<-;jn9*C~hwlGZvB_}9I=HIKWi9Q&ofV%rI5 zM$)Fff?zaX)579AgO~0I7mHbM9x>1N-h(E7KA6$H}v#SsGt=X^Jdb6rnh-eEZoeQ8mY( z=;g8{_<%N6aYB5{Z(u#%R@%gmdn419jme*Dt-~AB>7HvtZ53#A6W^U$ z8k-60-b)Gy{bCeKkreRNrnhn44_|cdIB-a_|0;ww870r{OdzB_9P@IvQm5U9inWEd z9dp7eZCU)8!;U%$Z`ZV;y>R)29IHM(5Tda%yw(>VmWB=X8jq^=#(@<$=VxaCwr6Od z?!EGSM3IVlO(qYR!&ejeOLq*z?GyRZD2Cx_{`@u+g(k^z4lSVA1CTl#0zU9~Z-bY5 z%_=`gCePkBB}1cmN(Kv5V!0w#m=UBR-z5VYDXn=DhfRwx$egTy_9j+Ku@^sB?tOdA z81wp6oyu304K78;A7}~PW{i!>t!dh2jQZ5!+H}GgHS#33a)RAg5aP#-Q7J13^_zIL z@6OUXVD+N2>Qfi&r@v6PF8F0PfM=8(AK+NuY2uI!7|6_!&IHO35n|Iy!Sf5DFa^oO zBeR}3`bH@ZJaw^xJ?>%mk+7#qcicDLH)e=&CZ3hau!zO~SV!mQVyfT`>-e9L!{rGU zCcgns)tmoJh1_TSYY3@xY3!?fqV_FjX(QVnIJX>Ak)#SF%UBWtl;@KpP+cQ{geUoM zOgp%NH@w!FJhit@Awd^w2=#pUHU`WWkKO#5V(U&FB$ohe79rXi2ZKl>9;1I6j*i&qMwuZb1@3R21Lf}4z# zCJ*T%b#7e#_(m3V3laTWSqELjD~EVn`;4(3r!?7T3Ei%%;tW^ugQQQ`Ze>P?t;C40<%9>WXv`gEhA-zvaIb^ks0{qv(Kf?ukRZ_wxMySFxd}3W3>{M;F z#mZO3Dja`KM~8z(p}dA^%i=jKx0OZBIgFu`B-xLa;{p?wDa5j?8;bJ58J_24DeVk# zyZr=$cVITlKHnOw0iVQ2otsI+HeJEF@lT5phSa5+gXw?gli)9d@^*As#hz4u1u6Cz zx}y_v%^gBC{i2i(=p$WL!NBa^b=P?1Jb$31aqr{-Q-a@w%YV&LMSVhwoGsoQx%aAT zH4v(kJGG4x2(S_vxmoDUF^;Rc`3EBW`k@HA!yHeEo)kZzk5}rb5nrQEY+u2j+suhJ ze!_72p18rkqg(W*ac<-LSKi9~xvlRBRB#Ut30s!QTNzPh+f5_g11S@%&zN}Eb&bq& zLVc7bmvzZ`+z}$$kM>b{SbV0ABf@;6ssNA6iD5#EV^-XE2~yC2nGnw?zf8Q3N5@aW zzqy(IpSC&3ji zBrLw82VI#e*r5qNX954{0wuZS_vuKB{fV|#CZnf}X?8(Kqo=qMuiWTQWhhewKBbKz zm;h1TtFljsY0{6WZG=ELobJ^&S|A*JPa+$_p>r3-zAVSUjbe8hm19r~V0VFu(cz*j zYgXkj`~y>}N2Ktj+ES{=?ukYHxh#wP3Emm43c6K!k1B_{i&8MSS2sBGeZ1l8J6P%0 zpKqla@lQ85ICbOMH;(D={s7yPzDe*7!5fXJ_*_C$1R1r!jA3*(U?3#4_CL3WW5}!q zu_WuZ&0dffjN!1|?k{G^1PUI>ZVrsU=X03wuyFrQIW)+q4+$se4!K?QcfIaN$5&xk z-W;Q?mk!(^x5XQ=5GxVrsheEcS1E6!n96xF*Mwk)d7@fY3@b}aSi%*Uq%!h+^95+P zGT2C**ln8%7Ec8IWCwn7ZRcxvskXFWw~rxhbc7P8^q}okgF^=Dd zBn*KiJ42SPhzn&_yH@X?Wd~AD9%n~?yaCQM4;J+ZF{!M$`fM_WmF74 z8B%wHL@C3GR8Q&?=Jhu-Vm~Bc>rXb~jrgUTX-vH4IWP%{SbkNLZ~yGMM^$fVu8g)A94M!$>F$kcNhG3D3Zr@!J_vsF6w_Tp|T!=X4HlE8qQS33trAQE8 zb5UcRO#IaU%`(ENGG<#K+&bKfMOn@7?!YyXvL>5N-Ih;brJ0mNkXBQZBK26~>8vmq zRgJ@8`6BgAY{60n*7mhDs8L6;`8&q8mn5wHKWNlofwU~a_C71f09W3vLE%>xP&fcr z7()7IB6LcEesVk$&qF7w)t}DKucWBnS@KKHH2C2ASEC!Mwo9!6%L%cj-3L0cHq-TF zZ|QNr!L=XGL{n{+u1iuRYCm~TvVsGj=)av4e0-uYw}Hl?UrtHdK$B>k?5lfBD2K)- z`#;$$ZC4eWlQ4;8{EX?Ga0%lV8Ou+&wuo-tk2_|})=<7* z^tSl2$fxDF7=BHLiH(CQsH&#b3?_2Ms9Nfl~zuNPOitk$HSdxFd;>!Hkp2Kf|dtx-$i5ewat=+K&xt{+H8bVc?em z;v*#Aj2=$xIY_a%%3-FRAW&?&oJ)*NM2Y*aM#X(HVQAgyFL=Y`Ahq99W6yN`8{?A? z;qAhS{AAPXxf5;ucVzn)Y=&Um{R2v9SgAaPw}L?y(E1Gx%oZV13GuvqwSLfck|liTTG%VFw6 z3QO+11J*Y;;=9@LTDv?yByBe{?D>LR_`5J}Fps==yGY=e4z7HPUoG(|?$gX2S6`MN z7>8NQ;Oj5tgkvw$3wHX`?|7c}Wmn2%%-1kaOOdR%UbAOR1u?u|m=4nLop0r)ReOZ}WYeLqKFw{DfdF zf>Twrtp|1or+IsW(`#QR*v5y;esC^OSPAI0C!|%Kd1kI`j2{V4GY6??)8f?sv$PK! zgQ#PCwh395P#eyp2+33pQ?Nm2QwAqheY-?hP+h}+0oW*_If{yfBGsB%rHAo1W@7=B z*0-+f1*;jvUfGEJ-!Cx#db|HYdBR6^6+x*3IrD7b@m1PMwVFvovF>j5TK(l4Q=hyNt=CG(3=gnIx*u2fq;nWeW!K)`waErqwyxJ3< z)=IPL#=QBR*+T2WGVV)ZU-6H?2=aJmfm%UacKQo}!U90=VXQ!TB~Z!!jo^<42Bj~r z1pYJ-D1G@Y_@e|Ttju2EXUp@jvO|HU$U>&DFLVOcE#zUp=>?m9lZU;^5@`BO8&+m0 z&{Rts_VU+aPi549jTSB+=yCKK%)uX|a6Wpi#j1*l{%dIW$A|{jcR5q&a@2hL`_i13 zqj+7kBuPWxT-myW98z)jR%j&J`9`*RS(G3xYcUKfG8AwPV+vKZUL&aDF~83a_oihV7d~m!GIKEw%`J_6KNOrR(k7VK69f*XK}zrxpRwgLph zfar3M_mfK~MzD4``bAdJnV2c|zKScG7|6Jjj{E(p57t5v_w!Y6b&DHOMOhzo;S15P zitfJ)l22lAZNZP|w_{(|0vA!aV|Um0{{zK9I=@y7tZBo*>UIpEM6Bw>0E)^kd|5%! zjR6%s7*Ns6@MXD*0p-0ISkZ@p&Mu->m?M3{|6x&w1B~$Hli3g#|1f2QIEbe0FUe z?cbI!FEUY3{8t(1FSoiK66#tbsBMX$tS*d#sxV%agz-2xggdXO5CZV}W00g6f>bb3 zYBtG;xFU!&xDkHUg7C#+M2|j!wC57!1L+{ChoD^A1?Apmkf%wAYTTxS*f#H?y7*nmG zvICDLGK73K^W%!)A^jZZC`;wij{$G~(F`(FwFN^*7qR5ZWHGEm<$AH2B zb9D?Tq6lDMQ2>K9mtwGnL4^T)Q3Y(Q=y|sSpzi{)PhzmYtI0DeA@iVkhPoJ20=X4`cG&$SkS=N_Idg+zX{}A9LvpKn0)_ z?*U4;<5+$nhCGd7!c!l{WqC1!tlk5u!)x{zI+wNfY%WWcpb)YEVbs=nP+Z)D-0W5q zx1-j2Ol-PrrM4?FI=u2^%j-NVyWjD+(t)}E8F_G}ER zPpepSCWdwAV$6Tl841fz#jxmf6!R|v?G;%->28ps{UC+=R21z4DLx349)P3=JF!W9gLnv-XG2~7ZL+{2g>|PW@A4D;P;$aj+AI323 zQ53_U#4zGXjJbne0bBAN?^XbmC-fssKM6XT#)!p_j2D-0c$PY?m>6yNp@eB+T3G3thg^M6AN1?4HNI*0+pQ0*yG`oC zmA+_3%^<>T|F*6un&~gD+9RlMjWE-vu$ry`LTph?A7-&1kkemUX)meiKa^L$lWBg@ zjUlEXs=il5KYcDq5_`%_e=f=VwU5lwdW2~meKGjl5P+c8E zX=x0FMKR>$#qj*4gvVJD?%kJg`;LrTw`5$qN^tQk!Lj2&!|NQNY%fUhagd^;AcaRD z=N|#dKMbYd07%JhT+i%4<__TaHVFr}O4v(3!M<5yU!+b>k+6P~jMXVJRwT>p5BnA* z$(Wx+FgKZCb`rtNWEtNl%a}%yBx70%VfZdtW|)#fFgZoWj~ISX|hu#EW0#8sLc;M`(?Vab)Gg)aM2IE{_RodOfbW zJ!-}=wn(|%Ai4uY1we_|>ylB`6h&2I1m*P+6xW6s@$)Lw1@NQXFdR-wcAGM_g}Giw zqaLsQRS{T7REE2DdkcK4%P_JrWvP zC6w1l?4Kvgs$-CAuR&qtKMIn61ajU{$hk*A@{R%}2jS1YhTJ0xa`zBq@0RgumyD-7 zWjx*~;rJN;r}%;XtyC-AOVwCra3m5X0Ja5>_TiSe77TQG$#G z2{PuclQCmYk(-S4kNR%;SgN*4LWK2tx@Li&WsfiM%Y>+TDS;o|j z1XDN3n6i;V!sJaVrfillWvh%S+hk1HE@Sd`f^T=oDt1ZucDIbldt^-6OYq$x;D;OU zPyqB*2qIAdSP9BTeH-G&K~E>7e;ZU{nZ#x!;|NE?0+#sH<06`bwSG=VZeKt` zK~;q9_E5sph3@N8b^G&iUI=$yhfrD@g&gH(5bmD!Em*UBk?h>HaW8_O7*E);wU4iE z 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 diff --git a/apps/desktop/src-tauri/icons/128x128@2x.png b/apps/desktop/src-tauri/icons/128x128@2x.png index 6b02b9c6570abb3c1b42d4820b4010d53166f55b..4065ae0638fc1e0da4fc2b84eb509558beba8bbf 100644 GIT binary patch literal 49727 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 z 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 diff --git a/apps/desktop/src-tauri/icons/256x256.png b/apps/desktop/src-tauri/icons/256x256.png index 6b02b9c6570abb3c1b42d4820b4010d53166f55b..69342c89582c5b609800cc850da431d4bad18153 100644 GIT binary patch literal 69896 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%0D(FT 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 literal 17467 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 diff --git a/apps/desktop/src-tauri/icons/32x32.png b/apps/desktop/src-tauri/icons/32x32.png index 90a89752ab1ff1dc585a31fc2120b842d2b138f3..3647d0b534a444a06c3a1debb421e79d2dbab5a5 100644 GIT binary patch delta 1839 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 diff --git a/apps/desktop/src-tauri/icons/64x64.png b/apps/desktop/src-tauri/icons/64x64.png new file mode 100644 index 0000000000000000000000000000000000000000..631b87b355d3c02a1119f9989f947187110a9bd2 GIT binary patch literal 5475 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 Z{s*4?4lpp7>CgZG002ovPDHLkV1oW&Z7Bc% literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/Square107x107Logo.png b/apps/desktop/src-tauri/icons/Square107x107Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..ff75477caac8dc3099d610823047c863f37d2f9b GIT binary patch literal 11763 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 Vd9%6qk)8km002ovPDHLkV1jG)v?Blj literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/Square142x142Logo.png b/apps/desktop/src-tauri/icons/Square142x142Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..9fe0c4e6b317485b7d99a49979739d25134636d1 GIT binary patch literal 18210 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 z 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 Z{{`P}w)xAiwXFaE002ovPDHLkV1lUb`?&xB literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/Square150x150Logo.png b/apps/desktop/src-tauri/icons/Square150x150Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..eae93d610cf1b36515b32acf88c9f87d60e2137d GIT binary patch literal 19690 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

n*}?F&xF{kqS5kHVI%Y(q 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

ia6IP5ywe~EGJch*uTOH<3z4u6(m7^SI^_yLE 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png b/apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..23597e043c19a9d2df8c5e7f4cce5674906b8b14 GIT binary patch literal 15625 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png b/apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..f508848586b962786f3083fc95107e5b3e960d9c GIT binary patch literal 24950 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png b/apps/desktop/src-tauri/icons/android/mipmap-xxxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..181dd88a40441a2887f6ffcaf5b74570eaddf54e GIT binary patch literal 141923 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 z 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

{Z8kb1!qN=VJvc5it;}I+jG(>q60rsW=&Z_WMBw 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/icon.icns b/apps/desktop/src-tauri/icons/icon.icns index 5c2bac8687bffa2588d7d5f6b72c5fd839388b70..d23adba1d82a647c8d77585662f87ae62c732696 100644 GIT binary patch literal 1338430 zcmdqHcT^Nj-z_>MLCKOO2LS~n=V%})prC>h1tdul$vFp!f*_K!3P@0poDqZUAI=x(A~T0SHG^=yLNTc4%RO2AbKYi2WxQ&5QxF? z{S!S+%4;{Sfj}TiZLJ3e_`hnGAF?a>?=lCs6?~=J+7IqN^I4cSdHLOJ+td7TwVUO* zwXVuhhmF-*k%lWmjb)-Cfh>`}M1;LikmMHo)ZPC3oC^;F?eowxhJj^eb@v`VdtR1# zUAk76Zc2*h&j(^MxzEgOF$oFcKD~2olZ|#s<*N$-$LRd-lH z6k0IW>)ur*Z0Rmr-z~`F6k>snx!>1Hln;$J+nSJFL5QaU43J?S92n&_>~W1+)`rC_e^L$r?g>!0Z}3*_&K zQJm|GZE}v_bUh6Ka2PxG8pr!@z@?^R2Rm zA?HKm+~lj0={qac;*}8kp#~k{-~$XUUBe+$p>;#!t&2+Hq^NH$v{CNi^IyECp2Ao3 zxXQDYWJ%kN|IlLvP(=X@N$!{-uZ^vGGqiPDwIrgZIu7WpIKKoAe;W}=0OlYM_J8AFJ(upf-2r7 zTROFK+w|x>xbOH~4i_0M0HgkVhK8DeA%%=KTi{eml5Y$=E) zq}qVsqF5zbx(4xz@gD-Te?%G#?4WW#czI{_LSOxmny8w!OBa8&+NNauaKG+?VDdv0 z+9z3h`tcV+Ysx%F&7a4oK9o-~UdhdK&qj!FmNojxknn753Fpq=)~=L-t$TthNtAjR zl0AKzKK1Wfzi87lIA3VI2b$>0ZF+SBF}1T2@I48*5El)3@6&M1OUAWxbwkj6M()#( zS1!8IU-TGq=Ma?KrlsNqJsz*aR$aeonW%9|-8B7JCzt+p|(1 zjy>2FaOe=docG^|G_)4ic+v<@>0OmX!Ule6W?uUP4*fv(IHv4|<-XiHZ7@0 zdjNM)MLlWMM(appVIA^}za{rY=3=G$B=MJ2(V?wx#=XS`yG8Msg@bMD8@GOWy!)+#6nbcyeCr06gna1@?t$+lrW5C~bb)WX?YQ#BBg-0CSSCw11DG&|nq^h;p8}co54NmHZ>T7D-B#asN>gqnUvskX& z-1}k*M!^>vYxqcWzdZe__sb|E^Vs}hTM~(!#7&WJrLJb51;0IM-yJ&?AUzia+z2{$ zCytkun=I2c`^+Ej`HzYRp7TC{G)LWv*BJiP7Z^nF0ro+WmuotnG^H*#QPhk_1xHtC zElStwsgN~Qs(MlL>!B6HHMeDS3FGABYbb$NhBAa5#|6PnAUd%vFNJeb3nU1#dbY35>?*Vzbet!tRNAe;J zoq%dQd~~nR+Anu6rI)3!Y&FkquXOj*{(C#pv4=^=nBN-c#^$QdEnf8R<)~a$K@YUx zczG4gvQL~<*y}Li=gm}Fk#9=gr+LlR2l%p11fev4i?Vb1Z4&>mh2}oqxOMuZe4cxJ zsJioUeJkImN0|cKHjx@{8Ju+A^<=O}yrH;ffjh7fF&RHM8nm zP3~i}pvTtLf}Cbbhr31^Z1r0cw!e=y{C=Bhu}$B0KN378SLMQ;-YtB@B&l0;M=L8_ ze&{>R=mS1wF-MJ}s>c22>wa7xOL^Q|w`8q88dx(Yg;uRpRaU54?^$q~6&pR)_I^8cri8pY=J|7W!pKAoyIX0^FRAuLE#M{nMwmEnNNRNM zFD@b8mFN#EO`pfwmFu*Y?@Yp-+0hrGqfg}`wrU$<7Ky%LhP}lrIKsefEc$0d66*CM zbfeZ2+*ii?iKL|SHlMnt$dfs=pRkRqhh&oXyL2co8dmrr?rCwRdOQa!YjMzx=}KFD zOdKz9mJamP9MH19BElomf9J8D+?!)H=(UQ8An*^N+Uxe9*Lw(#C7qhUFKOGg^igeH zulQxb?t9>1j)^bZHWH7+K3Ft!lqDt`5=lf;-QRdjF#Lns^3eTiKgW_Jc^BrP+~@oU z2+JFiT(wmZ<+2^1+()IM>>J+KS-$$Wm60`0n&^5iyf&^?y7D>W;666!ol>zKHFfE# ztVf@SSrcN!T%*Oxh-LL|Z9i85E`iFoUJ|8h%n$iZ@-Uy)W1EtO`iUZ`G=fpPuG`w_ znwBk*)tvO`y;gs-mZ2XM9Z}cssOQUuV80(kd2@}V{CVX2A!=V)e>&T(s?6=v@C%Kf zV_lZpTW{0C1bl|ANu#8~`-d$H^MD@8jI6r+myc@J3YoPkMJR$@ld>ltrNTe`VG9v5 z@uRA1x#z)j!b2o2W@C6$naGM(j@##&S;6z{8?TmZoYY8VbY~^S=S@cBWDq_v-MZ!A}rJiIr&P-!%f6F8mrUppvp&iv~h9qV3K1TA}igg$yn>q@M~n_*1O^=?F(^7YOd z@O)C%lg^l#Yj59EaL-(`8{8}@&91>78+9i`{eEkGtw&rV_p8MSFk#(CMT4fc;M5?M zwg&>{*#&gFl_m6j)_vPYw@(4ndXhtR&F%yw)`DX4)dW>QE z+CfNKxsRxo@aL3ohc$O-+F_woFe11jH{*c+|4*)e?-<}vw; z&h8Gma*$XFw|TXDd4Zzq??*&gI%%hLCK`<5G_&P-rqaB{OF{!A^sdX1FJ6&aMLvC< z$YnSeL{tLJNEw79hGSG5=Ob*MqBo4s*iAaky!pc~!SulmSVzl{ zp@f=y8sH~WGN@%o*KzvwSn6eksB>ybNv>pqlll^?FfNUH&y^pv^t zO09_X=RM-R$rk^^{9nFgYxm&!OJO-o^2_=fP?l4^Zkb6 zjyBb4bez-x+ZRhhx@LCWeJ1GBMXE7PT(9JZC&j-swKyHXVp=ud^nX3rH9ESfs%KfW zH?a`-M*M!9qMzP%jMI;oU24QmLb#LRC$g!vwTUNY_MKw26t~}}Cm%n5bW`!r7fMVs zRHiEtN;~!9v>;-Ly8;U#y44!Q=pbr3hxO0!YO!GHc8@Tk=gd7rq0DJHlK_Xe@MRYn%I}y+eRNUtxaGCad*4uc?%TFB(4Oa(;-`+T8y-?Z54n$B0ZeOgK7{8xG@|=K3x8isMPP=Y8U&ZAFfVHA|6? zNyA0VeYA~#GEIr3p+CSNT7eG}fe4$FEPcs2IZcY-^4C{q6}n7&WF-prHuXk;(s4Ex z5;e}7$9;MC2&^p`rgQ4|H(qHaWiQ4^u2*v731q zIjc}X^5VJPbQ?s5#6_99<9=;gp(E|%nNQ7Qko#3s`|GZ`1to*7+{WYuXB-ms&#(DO zPLaxaet053kNG&Xl}f;G{eZFYJ{k$08>m`)Av!SJ zU1G-7-NB$ar+luxli1U>&`p&;$zX~xwZIOYsr^&8aLUF(6hyYW6*Lo;^IFI4-Q!}v z4-Q(L6ed4Go&1B0>_bZ`n`^Q%8U=J*gBn@f4pEs)ZqAeUOCa&nUc!Q(It(X7JlC5N zY_*)ZXXlJT4tK7Nr^v)synL$R4v^h_LICI2^y2m0xHWkNn?w6qlG{4!Z4X6GPRTQkY90&qWk2N z6)Z8mQEQM{_duX7<=)W~^%km;FFM~M2G{C;g(L@q4J_48pOcJ;QX6(bD;?{$y(DH1 zewu*&$c9InIv@){NGwHZEkkGwoNDY`zx?`Aps|a?d?zaBeEmI@{J;6Fi z#$72Aw;n}KT0y*L%p<}!?M{Hb%~!R!-KvgG5t-(j32blKTg6K~0sj>sEZ*TOo7 zbR11W6EmcQ7`UbHnRNXOeipR}!hqbJ?+TNQ>HNl(lPKHLAQ(DKUeV znb{b8%#1>m3XP|yN0BPzj4Tfdm20~=+mx68A^J&CrS$2x#s>}Pw<+eQNHy~o{IhQkK1f|bVs_Q|5wM9Q+dFPDwC&AI%-nv z{If|FdgN~(Fh;@+dzR-k^R6F$#N8HX>uReL)wmMAmeraIJTj{M9>v_nn= zh~wGN($9C%CLB+UDj#Xf&YaRMEtF43D}Um>Qc=1_>l?70fs436Oc58pId}r&P68*~JZi zOFmp@N^-n=b=Wj=d1$jI1MNNmpVqF(uH<~_RegOZvf1P%)%8Bg%As`TthW~_tt^gn$3WdZZpovizI1ms5A_71F>LYL! zjRxWOKqxd2j!ZyZ18|o|AT)qNN1)=+geU+V0wTl!$Y>M^8ihim&><)SG&&S@1;AWZ zL&RJj#-PZM02%~B0tjRjiUEYH~|BvmBcdrfgv^6!go|ycFA`nO< z0(Cxh2-#Vg>Tj6DRi#GzI9i#$w6Ft#-~cq_oDFu4s;Ec9k?0EmKw|(b{Agvkx$JA^ z-#Coq4ENh_9~pK|3q6NpP;ev)1&6@#Pr>29SqPK_26p~|Jqd+gIftE}BQFpkFj6@D zazx-j$k`PLt{@15LWQD(QAh+FhQS~ZaQOMn_ zpfDIdJLEq&1ai2uJk~!jIyJw%zQcD2IY*$-XcQ8OPXHeP4nQDBduy{3lQRn|8{7Nf z6DSP-3$o$+hyIlS_80=*-&$E%SXy1*-a7=JoSnl$;Z(45D1ZRrKv3Wqe6X__vUYW2 zd-vez7;*|d4}npi<6#({(;(C-27I`;6S8%6dw1{P2n;zn#g7;D*%=Q0H>FQc0RW2$ zMH6DMxEO%w9Cb;1l6DXddUhHP2{{dchMg1R$MRAif9oU!^k0f0`CBoeXb>_CO^!sP zkw`T1f6)%=AMK!kNIYpn@K<*YfdH_VXYtI5MiQVMsQ$(vW0`zeNK_L?MX~ zC=?^IJ zZko)9NUrRg+t>%rE@5csIVFlJxXAFR_~eq}%g|?GP+~-TF9H^VkU%0a zQ$5G4!}Wz9qvPZLLeHV+XXvqv1Na&A48NV9luhAK7f8tZ%AZU8G~|rr9Fo+Df`p#3 zpPfOF1F1)6c*emmr-*al6n_d+pM5#Q;U_o~Bm#l@^bK`pOw$V+JNy5@aNzj(=u#;2a|t4Pch^xv_=(AV%7 z-n#xWvQT_$Vti#3CK^rpuan`I*MbJ-PqFx}Fk$FRE5dh$29Qx`V(eM-IW`<`e#pxd z*8Vz;ia;}=aI*vW%eah%!~(d*(m4Elfo~FtX1X|=IK|=tBnkk|+9NHVTiE{vh2ZIQ z1K(n8=K=*k#sI)tp`E&#hORN*9`G$uVQ3Z<2C{}gVt~z+u{c9D)%%){o|rlOg@&V8 z(5QoR00*5Z%eU6leyD3;WMS(YehH$&(Lxv$^lYUyJ31*Vp|Yl_dvIcI3A*(c_|HI~ zkY|TS=NMq?(?KLaig$&}E|HfR!Qm+M#Rc9CfVQt_ykFv-{gO*~Lk~p}qLHu={4_+0 zzy9;QaR3o=>DqtUECPv#@g@*~q=DlmilC^=dFpR}#y2FwFAwl}kzz0xz^`r`Ua439 z!9q|<81Oz6?Twk7>o*W-&`Aae62LzcMj}1}_zC{faES4SgF+--&h7t`IGp619YG*sG7tzv zg#Y~8@;5*PB6*pTla>9ilJnP2PO1^XUoDA1q6@&kEz{EY3Pd1@%Vo#EDQEzYyNoan z;5qy63JRFPr*#*=v-aN?4DbL1diS4jPY@{Zzrh3kzl?ism6@Baq>@7m+X=Rd~( zf4lwvY5f1w{PF$&M}FY(|HvWb>22;jNvNL*J`nR zrZx6J{Q+OdRk9xsZbrm}sy(=qtQHZG-|O@K2KQ-{>2;n5;$^u&lN~! z-Pr%$j0oQTvxh(a|JeZpX!i6}dB(G+@4N(D6=x9v!JY^ZF}n02w%vooM<;`vM7^;Q zrtkb(PkGU1L+zY-r)b(BtwDi3Npx2071b1f+n0=WhsfVcTlhe8TbPadRkg)-k=@x@ zmZr<$e7xXSS7CN|icp`eJESlp>F^BKGRl_i3F`hc44vkz(erlYH+KmRnuH@CEp9?h ztbYXjK?H5Wkw9Ia#cCU(A90or+1=(`-~jsI$ft|YR)n}ZA$$}u4@YV*Zb~j5;<`CE zXBR9WaE0I{_^!pG`5_d1DC%SZOhdqS@ICKVKiGjl3v@(r^;aM^m}7U_q`of>jKF4q zM_m^=g3o#VAQ%X)4vfWBalTUyzOD#h18^U}qj^nOY?4!wYBLtQEV|*@;Cd0PE)%qP zPB-3iEvy`bl=4J?m*$*d-0kl$n^{RckjKZeJzfD={EhBn0)`x}?f{G@jsJrB`3Fp& zHkr4r`zf>|+!r^)vDiRPQ~yK#fQxDHY5HPdHq1=~1b2tR`W!DL@z+vTg>bCzgMv>F zkQk_FmtW{6svRzv(gu|iRYf+Kvbbw$Hg{{KueSQp!qr%Y(MyPHwl3A)>pN!!nZA!a2LUCUk^7uO-VWg+%_#%s@H?T zaO7EQ+_FmyXDb#3;anbVW5!YU**1EsSp??vN3$<_Qd;zR1|X7JX?)ITah2`W$~fey zV(^B3$i;i`DYcX1s>SL|s{rY})7cuXh9{xrARk8=EZ7RbC+11|!vXR+_zaF5?h9TK zI)iw7aBlm+kL2@|e7msS#=h+WGIJimBVg~fI?A(dl`ZU|+!d-hTvA_O-jLEC)#G;h z`rUTy7+l(lbSJ^+S)KKakduF_nqnIh+PP0?9V?`ko3l&ad)kyV>jBv05XUUWWf_qu z1ufljK5|XP0*B6>LDzfzn_8DQmCn;;OB8;>WaBpb;NB6N-V$w`ZW{x#%OmUH;kAn~ z@t_7k7DMZ6fu6VQ1%F)ScHM`g&H`c=1Aq$nO?cZQ+`%JT^FOw@So+&=&gg`7W z$oiV2vH`DL>jk?nRnjVvr|jrl!Cfohu*uACP@9l=bha>E>1_Xt<9kz}56D&VZL0F_ z^KTB^@j;*8ayguAc?(P$#4D|~0qIV`xOuQ0o~fwWI#mF|9C{;fO`(!-&ANXgNq%+` zd=J;Z*n`!qS8cb(d|j=!SR##Y?{-`jkjv4xtCVGxzENULw;U`W!{w;pI3ocY(@DBFEs5Rj`aUP$J?j}bJY0VGw(-X zcOkuVRC}z#{99feyB=*@7=uCFGGe+WU7z_T!*)R8brAS;Vz?=^A2Htc$vs%{tB=&V zvh3MDdhjeWC0@0yEjS1{wmJ`*&rY%vnY9(EwQUD*=-pk%mMaU=#&Op*L~d7AJ&TYW z??$p)*KEx(7v#mR@FvAR6gg&|hWoG>$iN@JKV$P!X4@@XB^g5S8_~mBPZhH$B3d|fs4@5at`|6zGhlA;&F6`&;?svhv zI=uDPmh6pzCQ-@>%LEv~L{U5}iK_9$PeLu~=yjdCA)8 zP2U#gKaO&;l&cTyvo^B6knM)as2V{Xx&uD;d<)(B#V+98TJ z%|Uz8JmHyt%Y)ZnfxXO9*Fsz+v}r!inxHT>q3jM#j*tH4iadE&4Remg*tYKgOzjp! zXanQxr_Q+W0H0P>r1ENxP)N<;%iM@q0Uv^Qz{NUZddqtb#*h%T3Yd4n^NQ#v`|6#C zhk6-bxK>$xF*-QrK`y=cIERSHDdC~=Zh!;PNAbwYTYl?6Rb&+3GUo^^q_kEkURUDEYt1v zUZX+g7esrXiEAgjL!xg`u+83?`LVMD+##EMPrS4`>Q^4Ec;{W4k@~|Co-aT>^bpnn z58Rw^SC`N71LtZ@qx_HU>)~tGQz`bn?<r(JU`5eN@ssA-n!&81+|z)4q8F zyP-sp27FfZ+DaOELsW$2&oan5Sa%lq7LXWtG{o6awPEe;usZ+yZQ4A6`8n+~@^wZyv zN?g|`V|+#kLT9&(H$SG2vDmF`a~R2o&xN5SbK(L;o3^kB@t)3QImK#%Va(!IzpL1v z#lbR`GKnAysqIxt&4P$}29W{=k;5%?I)a<^l@Kp``;|dyD`{yf3eOh1)0swz+)Vg98aoOJ#9g5Lnwd{)!Npln+auP>WwxZI3V+gbejj(PgxbeYz746!+Q(-z zluyl$tE_A+r24M>L?-695U^^OD!pZVe5+Vncc~Crjcd zFeHN{1n>Q%5Yg02g1EmGrXon<980iTNyE&rx5RDA*W@ze-Jrh?pf&2jn|+=Z3hn}f@s1D2N$<|-MQ9>};GV1`CXGg5$uwQo@75n`s*^De zI`rJUOxyHQm<)G52NIuM%Dr7OR%w_l9|BMls+ALa9gmQ)QQbatCRxxV!EE|`GUI9T z#F)*Ky1~g}Cy^$g0v}g-x{P_Hnz~Iw4 zrRrzn0xfYrm|^OEIYTj;v#kWLRYX->?nHj}&c2p@?)3>?o$WFbZgN;&KrA`$VF zHC2%c?s6)tFjJ+who1_HsC|!XUaae@C3f9rG~-@-Db5$?xnK9%+K-odge;t>yn2+2 z+#sNVk7z&&qIkaWI5y!6e-7~S!#Uy(Zv~<2A4t1JoC;HY7wtpJimfre+S^tIc4VDh z^%gsss`K3J?u5j}(Wil(}L z#}fxagDnL*&iJl!onkijbvMA{$wo`$e7tNSqA7vmkHNrg2=T6<+M7v|&iT)|5o>Bv zW`njxpvD!u$QXK}z;pT~os&e~o4|KQB*gL&O*zVV0My6iALYjJpxsu@!)@}y7P=^{M(1Pj#Z7CDem^L*&0x-UR<=94h|}!;9CfgmcA3!CCX>qMr3NaUy!K|k zSYF)pc1cq8W*{^oIBDHSd#AT?)|+XyufNI*atTLze{QEk8(2+?UbJz2*Bdz`pTYK? zvJ$z*4^9q$aH~ONn5iWOD&<4XzX*~k5bEl9ISrgNmWB^l8!>MQhBjH#uR(0YvQ4<} zm6gU1vNPxnN0#;T=iUhX<->Axq4^X|?aSWh|1t^Mro%s$5wCdc<(<0{f{;OA+b-;7MOo@jR zh1VZ^R#a+hTJ|*9uM=>3VG#5P;)pO*b z7R|~ka^#_tk1p5U`GGONA)3y?7olDP@K%5CO@FWYaRvY1b7H!fGCsMwy>~6;His%+ zM64o1-(~GvS*pD~`~^DgxXL^n)ubimDJ&?=@8nC~F6Fq}M3*szd`{$dq}x0kK8mQD zx^91R&Tsl>{(BuIG}E1kA-#pwEg?V{^dWJCsgKlFvTvt0o22XZ9zhmsRrVl*@#ocN zB~c??m~5CwP;qymuT_gVJdXMca<|2Jjz2J(dfPP3ZgI&^-PY8*F{P zD(sXr%o(;^A#k-cAtyn6@(P3QvpKNs>t^Q%%mzQ*^$*%NO}`rzA)%qk84C$A)>(F% z;mKd!?^SupqN0M@LWyA&&9xcqBy7p*`K~T{zAB3SeOJVbn)d@Oud|pinjeNYMvDft z(h-pNYp+{kE)qxFwN9@ngh=^W=X~ShdVVvFC5)G*&FjHKvMr)wZdpVsNtw*jHM#+^ zuaeq!4XS$n^VgD8>5=c7I=E~QS(3lM+g~jAkMhNkG?uO^Dlzvm6cMY?FK&lOr%cW6 zK@sn-_faOF` zaKEoS_Nz1S*v~_<_uW_KuKZEi$0oBbreXT}dDSJJ8PxHIiYzBb@a?GReatd9NM!0- zG=IiS;6&3Jw4Xd)nUhk6fxX%DO$p`LQ7n;eOkuqI>{NnAx?`Z#GM{d+Xq@CYd8E45 z=Uok*`G{9JtZ)1Xy6v@he;fO=K$kQ8S{Lb1FQnU9W;avRZ6_V6R`jjo^)&Rsw)!FE z;x4O?#O3@##3AL?aze6F6!m+h*zdj(1^wVTuL-;eKpHeoy^t!v?+`P5#8 zNGeiO(WXhFvfu`DPfLp|lfu1qHkick$l+{2sy<`}T{S#dN=kuKBO7&(8Ogbk&31cB zG*Y|WYl{Jf(U;@fwQF$vVd2^)l!qGfAN;bk&_{&7p~hMKsMuZgv>~Txfjw1)s^Xe7 zr-RzDe&~x`)%NCdt8}RH%iQdlH1=MJ?v%|g3!8P-d5Dx3$M96RX7y;uXYm-t2>WA) zPjbs4lng;dEOBhIx3@;0;vy`?$I@whljL%GMj&cPD5qez-v!P_G=g~k1(~CY-fJsu zS?p8UQSrl~VM@{wUyL8aUXyDt1!F^3$s@bxtFo@lZnW6WP1_geA8&6BbHuzZdZXv; z;*#?tpCZr_%zE%bX7tb|w3+0N1eI~3E@RU=c|SPd;q{wxF$SRTyK;ABmR{o^7M1n0 zwM+dKBrdymHR$Ep_eaBQ*Ol#l)Z4qwd$hRGS26RlmL-9nJ9iO&w|nR=BUq;&SlTMb3byfy(tO zJ!dL1X*%>D<(B*2`XAQm5`AJCwP+1OSv~f4X}8DV00)0F)j&=nw%j|9MTys*9`Dtg z(EwX@n?P^HCQyKpZeDWsi=NkfB;r`p$d*RhQFDhQqA0L{%`E3FL73(6`)O(qaiuuY z!}#ZmYy^BA0mRMC6uCWdjzpxavLz-NdSCcTR&GUfK1}A}7h;Z-n+lzKa=qcV>eG3r zUq|W-?>@qnQ_#)dB@&_^Hl(zH6g0zkoIY0uY$%J3hfz;;^1ib5yRh2fUDqD??QXxU zxS-!6?1JN2K#JdpeZ)KMW+|8;Z?zex1$Rl~w%^h9 zJCUbk+=KOKLkeD3=my+bdT63LDz47jlNrUj-P6Flyw| zjKK;N3B*Az(|qdMZ!#EV=UN!1%zl%&B=W@mJ<`X;Jh1x^ZS&V>PaI#(NUcA{Qk%}YHgM> z$h{G}6v|ot2jiaXIw=01{fsVdl-xP))?a&i`SumXBxukvn%8u;%_*3)ACKs8MhAHx z3##3Iq%go^4mi_TxGQaDTj*O##V(dWHS&q|p8{X{{_y#4EIARh8%b^4eMbK!eNFA| zPAdH4e!tnB7WSJf2IEnI;FbgubJ0BPksZ7Wn5x6SZ36ZM z${!2Kg7Rbnft=y!*~MrqZ(T5Yw7#$2+6G_+qaG6%Wxmi@6QUWq~$sgDn9iPj{#Ly`_-Bx7D4qFSK9lP2$Wwya?NxR6 z0<}TyU*iZuXs`9nT-%hbtsae{Zzp1)tqfNns=F=y?B)}7&}#mT57{49K2#giV_+P% z#@LBCos`u3dTY8LpAj-NDUiNs`AD4Pc(^*>hA?tUYHvy+_Uh?)4r;OaqC$WI!oZMr zTMUNU4<5ODs6n;gl*^-T_i>~N{l0|GsN59w(`|%Zty_li`PCv0!rm|w1X}&wF!R3M z%}?n+8)B0#u97>>db$X|YSh*h{ByTsAW}$SuQR;so$P!1Z^sHgPspW&pXn5Tj*un&;N4}^_8!y zDWu*ZKhan8oU(zCd{=riBrclc?pX|J9*J#MHU~i~Ip3EjO{;MO(k#+NLYn*%wI1Jc z0&J=C+xzwtsROwAed8@npMOl7P_pyWFWyy=KlUAxS)H5eLHqYYKHIU|i+?v<;AJ2G z-Z4xmC;WZ5`!2Zw{WEtdJ7XUb2cv|9sVu8j?n-(wv`aqy|}4Zmxr-{^Sny3 z2c+UjPHydAjDB0GTEd|n>r{jLhkFsI!PzXU^Y`60esog_z7$YTeZP;rFJlx*e^eNu zZ*I)`s!=$Kev3kl^GLZ39f+3)(!MM2atY6JS0B(|*H$?wsZ@aD8I=alVyR(LV9yysrAy+lR6x1}!p?fabTPOmh zY$jhd?&HoX>%209r#UFWsRt~DIr~L_Y{pxmZj4aA3ig^W*U6;NbyXyGMKu?LH)xAms}+Q*HXGU- z^@%NlcO>(Co4|CVvH?gtr=`?Y#22N{_$Q~YhcT;*n>_WZ_$TmeQG6OU_){M4c;-h$v=X?R^Hsw7VFw^2jCw@9>5jKbl6BE{f71Hy3&t$fx-q6`o&d2B zk&v%%Iw_ePQ{FO;F7GwHAi)Rl{6}u^Y-1Y4+*PR6RM_Wx#J1q<@d{$ zogT`F? zuPu3P8HGX;bJI-Jwpnkhf|kh`YhymM*9bv7>a}*YCZ0Ale_#`Urp#mu$E}~`+bleI z&2s~mtRo9;7Uh5VWyn%gZ+^SR&YXmE&VjrDCM*{DpkB)8g84Du8?Hd2-sgM83mJ;~ z>=g|;zr6RWpK0A3LMfmAQEbU0{YbC*f<@xC5Lun&6vHQ7jc2uqCN1pOVQ;>(CFv8R z%R7f$kPqU0jCsZ#?@Pa;vuCRNa$k-eA=`{11v|VNY=*SC<9@dPEbR`OWW0NExMH{p zYU#-WW}Pj70`MWHoB7dbUh9i`YIn;AEmT^@^Y}Mgwd)$rO_E8nt7n@gl+am*h%)Eg zNO$I~S*M_-Yad@p5G*HCzF9inzg2waEwxNIpU@dG&t9U1_L&uV8CSLf-~2)GKp`{V z{n#{NVe?w;%#0CiLvNv-uEerqzUx+PXeSNBD+NF1>ngCT`P!Ya{ubpEde(uX(=SSB zZrt(I)U24_U;f@Y{1Q&*p3k$IIlMt`(aCT-+rGB>+Q!iZh7BQg%(BNqYhbJ_yZdEH zp67;li(#|%WTgN4OPQ@5ezOEi6EmTGDtRN~f&NBaaLHqvdjn3x&z|HvJ?FG1h*uzd zI&XO#m#XogkGU*mZ#Q>7tfLv>;Z>aH`baoCpMA4MIPtdIL_%King^9qvNrc?Dn)*W zCa&F&EDs{?QK^r{KBZNiB3#>SMgeAv7C;gB zl-El$Z+XPKCSp#9JNJ$^OO6X4Z)}RZs)$!Q)%#_|S1`%hm~ob(wzm^P^5C~&sr3OJB-CO7bj9-5zp_()NC*0MWE*!3bzu- zk|LZ9TCPpZMiun0J@07Xw-)v8{%PLvNF3redOytG`WLh79G{aH@Pg=+%jV3+0i6b)F61+|o90l_WGZK!#f!`0Gfk7ca$Y+n9u zR)YSvzQQF_vi!cBq(*UDcSC=*U85#pnHkCc#i}&sX6nqt7}k3~Dx;msbuX}Vq9)Pb z>S!|T?|9zMIe5TYMw{Hj-~&r~iPVXU%?mfndtL99SZ%o(!x+d@N?Y*bWKxn!&zd!X z<;x#RR$dYI{xYWhTvWTJwk40#uBQO$T{BM3?K#I|0^^%?IeDwv3r;C5a>5xbRDog{ zWiO0l?>Sa7x+!OtNtaQpqm~}~^!DmL#5ry_aI5p$uR^}X_!G(96nMt*(uKEn--F4H5N|W1h6T%kxCq(dNSTQ-=uI zfY0hvbJyA3feNyYAAJ|3i|)Wu_uZ3CzeNvqwC28XnDDA1!n%;y+CmIluU1Qt93s ztv!y@ZefI#x?~R{qHvr<>KUVmatAAK$hG=nn_ai9ntdSZD7hvp$F&9?DKR^*_l*?T zHsc_^_uhN2w>{?R_Vd4P`}0>GoPhR8F9Prub^bqL`}#lGzW%0{FJG=3^1tjp{Js7J=ws978^@n#GSI*qpW}BQ12Us>2H!&F%_hQk#ZpRrQ zYLE}Zv%fiH4~5@ay6;tJ-@}D`bkdaImWzG5i52)-3W=Mgtaky$W5DLJ7%7a4A}B&k zDg^CJC~`Nr&T7sXv-k4Nv55(J-lTGh*aY*LsraA~1wpaiRj$R9Jhu)zYK)L0cZ|#! zT6ewV#6%|VJ!hw@xf6=4)ulA-7R@KIaIWKT;zZJQtOy1TFs*%Qn z1BxHqg5d4;x>L?wm`9ndbYsqw%%n&!0?Ne;Yf+>rq0j2={)`kuWZXHb=8|nz5Vs~Z;!8h`Qin)Sm=9*k1ar`h9smDvSzZY7TQ%#2xD>gLaNbWBnLA! zLAb6dOz1j%hJ3{YWg>~vncgh!wAn`H`Q1v!NtSyp0Q&vD1Z&*1z9DUD$A$`I$UsFv zT6FMeb!78k;X#*Adc-fq2K9_T1~cvM+gVg1=}%5!#t$1`Iw3OLCRNUt zj#SQ%kn3oYcx-+Ekw)pNiZ|%H^>S*Cj1+s`skcNHovUpw&bgEBzD+DG=#29g9P}(4 zhWGx&;=$&@@?KIE)Hoq{Hj9V`#lqP>xzVZffeUjM7o9Yiw&2o+k4?QzHtOn?V?O@P zM?a7?fJx*9Y7RyES>*JO^UZT>G`?eUMt=HI;I=^aiy z6xOE0=K6gQ-7i`V1AzK$+vY@Dbb2N>v;Io1z#!cW*e*28v!EE;fR>RuCUL*IBciE< zSXvpab~0dvArT8qnd**bGw>z8pLN|rx&*R}UHW+iO|b7)jy}do&3XBV+psZISaYTU zzi)iYfE6(}bL*tGTMS8Eq3xPN?h-?z3|5bR7Kb(zqGDR;7IPwn(<@)Hr||WpyOt5Q zzTqj*qbdO>)Jf`IOIO6`+T{FDI{KETdr0=U6EXX3s2&CueT>1NFA`Cd0xFp{h$0pt z5Yj}!er>>W0#1dAF3f1Hl3{xqCmj7~o;RQs*058i1d`DgJ;<1)doMJzh-L{L5*0%m z>730{ME&*Q%(CE_CP+)G9EqEYL@+lWOIS>^EHt(rVQlEybc`TFS=)za>+cW7r0?>xh%<(aYZ)*i&l{RCkfm%mi1{nK9Z`8cjmk}>zW(pNz`LYu zu=6o2?R8^UuLGNFhIgVlqWSry1Qs=w*NH3M0>p?2zBWR*A-W+bdwY`L2Hk{v#57}5 z#KS~LhIV__NkRx)e%@W%&DpbSBH^qM5ow)y#J8Z?W5D1F*U>Dc<$nmuevoBHByeg& z822fB)*n{WMLm%c-Nn(zCegR!o>-m3+ltwr-^=0Xc^0?KU?vR2#dr-p>KB4u-Cx@x zE(m(=DSjZ(8=qMa!>;lB?^tAP2TMP!g_Vmsva|4Lv?StsjIxh=15xUq?fI$u{dm3? zM9MdA_xZ9H0n4*z&({00iGN{x{$Kw|M$_?0h5fhV2W%(*k8EFm%ZnE;ZZrQa`}u&} zf-X8vIy~W(r3>+~&yb&qrI8ddVa|jIF5%p%&la+D3rq=TdM0T8 zfDCUJaUjgOhJ6kio}`6<#73KxaTYtzyk@JC2LlI+iU&zK8Zm>pF{*; zXZydmLooa1zn%0=v-$cC`%~mwI@_g7ipIjqAf*h`o4^gCB4janDOsd+a*(aBXcO;v zgwJ_}gA)?-1_7Pm*5|d6!gni;7F8g)SBAOf<7@QLi?Y`Lx6xt+`HQ{&IIi<-7eN>@Ibc3a@ zp78_ypz#?Hra$-do~n^}WsvJOpl~3hq`KLomK1EPG!EnyI-pmS(o_kNE$ny$o+o7F zfSkA4y{lsYHk1h38R>IuP6}(OpM$(t$OgtXwVpjCm}Rv=6a=a~m_g-QL=s^q-MTsf zN^JJ&UfF2dp;j7hnM&;mG!i*Nif|n*qCv@cU>{kjq9`U$9=ja&>9>Dd6lvwe##il) zqfiH}uz+PCC~84d7okObw&s+`t6T2m^5ugMJ~+SgU)_H0TldX>F9NOt;EUJ&?-kY# zy*%F@-@gCbvkyLa{S;4dgRnZ=mP3Lg7QAF6*%2Q1*-oejqhraR(Q6}qHUSmLCaDf! zO^95~32hgUi<93mw!pCiQ~d?h(h?3`51UizoamiiN_{Ac{CxvjLNC8K-=N<_l+ct| zJSdu9w3d^7M`Pr6hZiI+MS_LCbU068$lPd8HL{%wQ8tvteMqk~Rm^srCXResM7Gqh z!#f`N+Ek0#)UNDiD(2B23l&TWAoI;Oo5>Csn5rYUi48;F9SVU=K8!IJIp)rt8zX)Q ztpW>`hzGeIW%ldbf*ARheK%v0X$g+BL7V1S2-BWbD-S0h$VRTCD*t^D#l)NNSF}li zA$}abbTbq)8N8)@1P)m*1Il{}iF|r5P;(!o2((^lJ^qj58bhLM90dU;P?nxi zM+P*}F*pXov*0XEu#K2vT|=Y_?Y}Pzv;99mxuMN%*-YkMZ-4!kZT$S>4_?|{1T0qp z@Wmnh?I-t#Zyn)J-!7@`oWI^ahezst&Ehzj!P7Nq9XH+Kd}v)sC#Vfl zAWnbul~dIpIbG>&COFPS%$z#`(xsgl%Q6;ubwQlbF2g51X6EN2g6t60#jY&%nqcOg zek%(~m>khr=s=sq;~uqv6&#ZkMXJe_EQDl44_D3lKv^)E8BT~RI%n?=Z1HlWC=YXh zz6rQZckoa2lg|4(7=f4&8<^}aDoLyr4oM3;WIW6mjLjoF4^;fwGeK6)rI1>b6hq9= zonnR-24^L_K-f7!v?Y#o0%dOcDg}g|Bee++U#kH&U~JA4PYEx<5@j9cRx>1(dY@n* zKcG5avPcnG)>S1skNb9bLXGw0HUik5_UY4i+r~P7^8Ce%Emii(Z`<~!e`8Oa{UnhB z@d?8HcWVES-5&qx_V~uF^4k6ho$*hJAgzR?W~4XQe72f27FpUOI(Cupl~(M6OM%d% zcg4U5C^NSrQ9OUj# z4;HdcoD*`>z`FHyVV*A<**n!hX*#acK$<=p@-oLqz!6Iv7R)w#hu9AiP9{i$^jQKP z+!`k5kyWyqX?_@^2xiN&M_BB@Cj~AvFe(&AEK1Nyd*B#(TH#2vRJr#|1qOS_1*%#0<%<> z*!a(D6T?NVcits%iuRg$z_?>Z${>l#y(H}!MMZEsr*MNFo&QSAi`9*Th$pOew&>1V zk?PgN!axBMLZ37b$qvuK72-K;^M|{lk?b(G(KeL;tYnpq|20Ab4W;6?JPk~PQp-+O*}dYx#eM9KE;4V7h4V{jj!($ z=6H8UlR%&`LR)MM05!rmBtX@)kHZ+IjqsT>pTHL~+WebBIzyNXaW=o5Y+$ZO_Ia!J zXu28FIlv<_kO!wiJsO(HEKlA@leE8Sy@~-7teRKRn_Lvm%pi&eu~A`U z==qhYzscyuc@ax&is!DiHqJ)c_CUtkOuq~Xs7b-$$nWMDePz8h-W2m126a^9I88u2a3lJc}kV1vRW`s@M5If(- z%)$Jb*JV0x?3V znkcVQmTjar0y zkIpoXe&~;4*a>O~lNOKToDZ?R`Sy#Be{8yt%$2&?s}Ba#(}FDbUfPvUGaML+my}S| z%qHL%(e8g=U%zTk-+kxh=1KF;_PxJj+r$3FoxirdztPPSrd9E9xJYF!ge|On>!U(ut&5Q(rvGMdBE2XDT@m0#h>yNp%aHvG!S%_ACp!D+|I=kFWqEhhn@f7y`K# z5dK7x7O?q%c4%xV+j!`~A{3Hko{eM)Td@Y;oZXF29p}n3Im!^5zim!^6g87aDfi&c zJ81!jq7^ovb2a<9ylpT0S^MVyaUBILA9Lvc8@5;Y z&HEQSzv3qMJIywVTNGo_!zdJNgGH50wKga57#x-G`3QjN@-+-HozJJm$nspIL>30Z z2yNOKu*J<(whWldY-{*F#Mug53>6h=~a^gSppX%;Vv?_AZ8toeo3RdUn~p zlQipJ4xbLrZIK}{#!%-ynbX^5BE&$b6ii>Kb*>W`C*8*RlwXoL-u4uAIkTub6 zKxEFu>Dp+h|1`{14XlgKd_!fQ^^fq2lhAl}hAQql&PT_SzEEFlxY#SaGz|Q;WyiyV2~@Cx>Sk86!)BYrjF#C2QE2) zR(6vb3KhiZrJ=c%dLyYnR%{}THWd>Tr+*Q**8RNF8%#ib(VHAm@ufKMc#QT2e3oo&* zXc;FBi^rZxPmQ<;@eyD%#yn3{A-DyjVAFFvqN9@`-ex)ShU?JdhELNTwD8MdAXF3e zYVn6?BhD5K(&F5zVdmxG{Es@y8^!X0p>l%Pu|=MUz_Gg{7UnPXq=tf2@6Le zq?zLijX6$!1)^psG0>wL?MQNP6?zjCwa0qO z{clF%IT4t~Fe-9SP)X_%kgaqBOJPD34@A1RqIUKp5ljk`aB(7YQ{^<9{4^UecQ7X%^?<(3qz>cNhxJRzr2@cwc11UKKL{APm@2Ax>%Y6_NI_hvS$ zP6RwW0$5Uq4P7&2D?%VNQrV<(2GzrS|JjiKFM`74ts_v2z;)lld*3f?^HpFi8ffquyL z__nRV{p>XY`0$j!Z`uC(-|cggXV0GV>1OqdrG*EzXU4YSF-#VU%Y=6(P^*@JBuFyDVsBM7rP;+TSG5oRFyIm7&N9aE z^o3B@*xG{d&PN~s^f9A&?Nf^hRLkkKW9DSD=t?5A39Cbic<8?$h8QT^&#F#H0;zF# zT35*ETI?~$Ek+?i(^TJx$p4@g<~VjaJ9V(fay#E_{a8&X;1m%4M`W13WdoT-u;pH?k;6Z^C#Ia8zcjBJ#)vYhC6A+unJpDd#+$i1zLqg@)>J$W-5n;*Qs1Q_cMM%wmA){L7qL#s@?zPLM_j#Eh^5ah6ky>1wX$ z86+&kOB-K94WnQ&Q< z1B;E5G)5-Lm{E_tk+bthHM@Y3rMr9)?l`#@0UH4F^0*HQs0dZ)3?Ix92MV0v>k-Kvm(_^2b`!30;=t{ykf+GFbC59 z;9fzlqYFD5xdn|A2$vK0x8C6d^g6;nfy%tqrVaaZw*doidrQNw%UPpF=g;V8y)Qr?>u8U!g!(WfY|-+MZor<{f6zIKKJV7t8GJl(&Oc!nplohDk?M+y#^peA0{j<+H{Ds9W+EW zmP>@LzF(`0Y(xjcd!>&GdTc7puYhqKGHgV1w#~3SO~affY-L3o)bu20laykb!f((H zb`8oP0fXWpcA6;O?DSb*Sg6kCkml%ddN?R_ZGPiI*lUB}8N-z0{K>1D=)BF@e?lr$ zgyE4)YA8inE&2QV2m}k#X)iFvgmoVng^7Cr(2^6ye!YZSwIe?R6pb`J@BX$~$OfX0 zcghJ-k|oNhZ0>81UihU*R{RKV=Wa2;UK#E^ivlcGx#my@w~6Kia>68)5oG{$a%&ui za7v56R;T?6gPkr!MyLZg9YQ4mP<=IAWPn7WB-f&o8O>m-$^5@nyJ}``Mk}9%!S-y9 z&}po26C!4-xl|RsNBL~ci%{*#Clw2`0i19ueBC+={l$|YCEsPlq$}G-t&~~lHcxJ& z0G@m8&)J^$Yd$Wrz>m`i;G4D+`&0HWUc7v{-tv~!vMG|jbiU-U09|Ve9k5D9xruIT zkWim90w$Y5*j(ze0wdaqC%2?)!H6X&SuMJ_`|Yq6hcQa%NXa0Ggt}pz!anPV%$GZx zQe;YlYvEo1kWi%2q^4p3HA5X4fD|#D8l!8&Zi=fHEW{~s=^<$^P7dYu4DuISu4cM{ z$o^-3y~xPhv+GYEdt}B>c%kYqSQ$=jth#Bo%7TyC6p-OQ-j$3IL%2yYnX+nUEikM| z6ZybqyTINYSrXZCS%(M=vzQ6jLN7j(70R^_fqC5|3gz-swFYD@pePH#i6pj0Z5rv8 z(n|E42PMnFtaw#`|)bmOAX?7N*8(SQ?1P>C z|6{hF`NhZiT0YeUzyba5j(=aXos2)U{nHQq;DhJfy8lICpA$+(^97iggy5J#4o%lw z1E1W9&q6%tDQJz6lm?6Ni5c6Nf1lwZ&Mt)AZ$OnO4`;esBv|eMecsnh!|FbN(7=`u z6OPnCnk(-><_9qm>a<4h%+Ez_CGG5-aw;XYDe=$)k<`w}3x##EyFf-iYUJby3!UsH zv&8;02!kP!YEj`_l;E&tp$it0Ba52GLQgoVmN%i91aOr}Nja0^Rt=q2{b4!xvmAO( z$WsorqD^e3`kbDuGAbB7wN>(4d{*lFpB=lUxN-II4p26uVb(<%AGEORJ>+9_wFw%% z7!{XKld7SG7NHf=C_|QP(zuvDrrB5DY;4rY8tg<%Q|fXxMteQ>8MgWd`i9dS#<7-Z+ep%pBqQ}z(fLhj+G_={hc%1`aN)HZ%2jW`yby-bo43cMPyY z9gqMq=?V}TlUU-IC=JwcOe%t&jAvb0lc-$X#8SHoCzI*#Z8IC*{YKZ$3N`5tK~STx z#9K+)gTbO*qG&}_Gw*zq^k7P|q=5nE?01d=43;-@E;VXW<%E;obOz2);Aq;W4>&3z z4rv%8-T@4wN(A2sYM7&H9-@|4n42?nPe`z^lKZ#_zUdl|L)W>8c9K)QHNJQFwaFXL=xdYNC7c_i5?^BPZ2)VR{m{Zy#j_$mlrKu*8W(aQ(G* zZU?)2ow?a*$cyf>A~Dk(c?Fwj!Z&(mxh)WAN$u#f_*=&1#4JUMV4_VnBh78+6d_8N z%DEy9#xA#-S&^eQ2$|z^XCcvQh>Y1{Yes>Pw-DL9-S>beCqg2b8A^vvs$`oQ1ET~` zgsY~r^ow~vYKYUY{MPBX#`U`WHB}OtvI`&-1#PPHqiN3_7B|5YAo`j>tr&&NDv`|k zS+PxG)H$NCWyEUEqHxcRZWa{x^!fS-R__9`#yXo&VBCC2C(q__+ASRwd*iW|W=spN z^Ifb;pe>sPBNf&oD=GWO*5%%j?fWSB%nA5g-+AYqANi%;hri?nz;=Ru)Aq+VY_`c8 zCGyGA5}xfYax*d%4K|x`%h>g+aN9{k;S|ZqtrH8`8n%a z$zmAXCUZq|)60sxc&CpJy@mM&<^6i4%0kB-q`~Tu&6yfuZDOOU3wD^o=zFCDplSD; zhD2lhvU;bc?uOBYH>L{Mb<(Y&v6!EX?1)TzvspS&R%=N6g6QJcH0oug%4H+CZA>Tfb70+R7=W&>up{AM!!~fpp3kJyHxewjYqHk4_ zF4ZJT{VE>0#81d`CxS`xjRwi1Gv+YSntf(vL^?YD@m_~NiWbEt(+sY^atd06I;pb4 zU)oWCb^|C>^`!FAn8}>YvrmrKeG~!bqV{XIfBQLKN)%xEQo{d7^55O^_vK4MiE=UL zOLIF5OM%Lw){(FVROY8>n>98!2Aw|HkFE;|tI|VdR7@1hm&Ao8w~!DIFQ2fJCa8bTnY+$nOFzwhRsRC;^>k7{xLeOcnIBt zK*@Y??+2#=icNNEn{>33vwXTxln2)oVwgoG%8G~jL%~eug6KGp?mh@NfC&?^7N06@ z4T%`euy5|;9qd6tcitO+{FibsUcOYD|8{)E_Vw@F{^{Fazups+o;+C=3<(ME`O4tL ztVfyk$Hlvb)Q1cWbY|Aj7uKQEO;$bAvc349qsU5RJR#A=ExO8ie2rQFw-ONyizJ0R z@>w)7B^mF`36PMKmL#F{%cmI{nH=N?4f4Ta? z4=ndWY}b!!i)f>+gzi>VE3?) zeoj`>#eapMs9E=E{f)AzOjZ0s$TM^h>cKUU(&a~`8nq(}LC*O*ZgaC6|k!aIk$%)jAr?+?n=Qz2Q zgX3|#p^=ry#7w1G;1A&=4L2GZ<;x(p=D01zup-rhJG5zj72t}H;t?M>G8vNCqY)s> zAkay*$Wh+ZEZ)#Z6oYV2?Ns6-(I&hDiKZ^_PRIjeglsa&F#{TRTqpp{kjeD;r=7i9 zL@(lZFp#08j8KumKC6$&0%&g&Dy}I>5Dg6vNvQrc3T^G0W`aiS=2P1Bj91y4+4%7;ZJfP1q@u)^r^7**t2`G!-al}#BXq+w8(iJdbP+1oxqBa*2P9gPbEQB;E zu&jV&6Fg#6xZ4}`m1q$N^>&zyf)278d#I3*_O$z=bdRfa(wwm0n=srV84`dc6b>V! z(6ZA}FUu=ef|$zqisOQCA52n-FidjpVwqyl-yEXzvd>Knil}M_byrNOwj}c{Ha0@H za@Edw*h)7E8mf&!h5D25S|N5xioGE>C{B8lX-Riq#9+%$I7iE&<7e72ht@xR9;WfV zq?nG0)H(>pQ=cIFEbzu`c`I&_oRFMXYSD%0B~bH1IPQ@e&c}xcr@cC6MN$zFucs}L zyJTCKWD;WyRU&!kLfm(~+y49N)vLessUQK0@z3A6{q+xSj~}vGB=5|Bi#emtD2=o- zGl-!T%5Lxz%*^hI@A8~(XG^!aY$2vnH!w^%#}w$^(z`OcloQ>&Io%74&2U~17O{l| z$$(caIJ<;qy)R135%7cJ(#H{i<#)Sx@@s&|sOH7q@v$swoSX;5>>E(lZ)UP%>Wrwy zB1{X@nmg)|$Ow2{0zW84+<^Zm`xb+kIyTAsMkJ1Kn2?@d>o=sfhl!@ zga$;%w;VYgobix@JQ+ZF-k_ntnt17w>4~R;6$^qU2YbT1Tz?;6@46DDz-j~ zA4wlQj0IBLpIe6z%oE=cs7tp$iLY*H*f&>cy5O96lDcm z@laN3#{G0QKdX;qao7uYHPM|6$akK;gKhKwb5EZ>{qK)`fp2vIfYClZ-5y`HC;q*D z{pyI_Ru}%kYOZV!_{(LSxs&}-Hh+K2r$BPLh8)FQ~L1?oSXS?qqRikxtYD!nVIOg7nVFJ5kHU48 zL1bY_AQUZ6p-}zY%}_0QS!wi%Tv1K3EIG1uV<0C`RYb@ZNID@41xlwu!!$DQns?IF z%@EDWx~DP&c7M98lcp7wVF)Jk{+2{cdSS>ax2v|q5@=(5h71fAD`1Mvc`6|wa@ufB ztcKlmBQUlS4eZSr!-d`D#L(o;#PGX$*WeX7;)|Z$GWar84QBD`aDN4@%;>X+S=AC! z!$9ybK_I1CJ!Pw8Rb=%BVQq>uFCTpHjN9h__1j3gcJ=hCZi6&1yi#u$^pgGBYgJmLssEJ&vCg(+_e& zFY7Qdq(h?--dx=<&d17CHVR=fd(@s?$10`a$+Mtq$f;pMtk$xFt?ta`7A7#5clasvAYK_14 zVrZ#rMetsVJT{4%aBX=Dw@4ZRaf}@`GB~pvI?p{|?|*O{UaldJ>G^!u08pyh3#B z1}l+5=zc>b_uHiC^iZAieGt(Nm00Wv<^VO=89_V-mg;7PHsDc)0ZEG(1X)baj#{&S zv}?AAXHJ|B$8^+4J|v3WYm;E7K5uQ#w2n&AJQp0MpT!wgVj@ba;3!zsMG_kCdz$K% zO%;81YkKY=C#me!C!d%|-%)1RMrcb_0Ty%6w2Xyf%gZUJTw7ij>KyNFIo|8)QM?dx zCe-Ot6&+^kGcg081Uo$vjKypl7TVLoX1pflnXpkcmuaj8w4nXPeXr8q>URR2ZUPfh zQu-TAJaJ1CBiCjSm&rPUGF>xWo$*ZMxDf{o}u3K;oa!k2=)=d9? zC8D56`Ia%(268`^`LOGMm4pV-(!%0$eU5EJ8T!TtfdwD|J!&z^=-!ZMOXSo5-dzKc zlTa2RDf|GlQC8!Rp&D?RSRWaoVxKr&`E-t76#bLItMU%|wX)8`rVe?f+1YZWyIJ+G z_WsQUASp%c7N-)VUCnXCBDOo)$%c*NdbgPC(C;_%%Ak2wSQPX5y-Oqtrv0l*!DP&$vA#xB zRo7CctzVPkd!RGpes5y+eOmg`1Fl%J7O2KwB2ykbDzqwd(h+8GPTbYM1T(8&fPJuh zK0X#D0A@KzN7hxUIPi*h&p`5oKiYu8=--=1J}E9f@9b^#l+ zzuMRq7>B_>FSd{zGbb~JsrmHxyKD()3bmoqi$Q`bYVb&e(HQer81j%CQ#ux;y)gA+ zJhsC1OroQx55t1Zyb{8Y%m_1?fEMV7!e&%k+PZ!atcE#AcmA{(jnAL6SdSm=;En>ic8cp&;YueR7!W0tULBnzRg z<+TkZlA$ofdtt8D%XANjBCFJ}tri+IcW!`lJ{kQt^naDR#t z7=@N@-%aDLTXJWZ*;~V?rz1HG^Q^h+$6dW4YLKHFSwsCmE5cxG*^b1e8Bz;w1MLns z1F>GnEQ`c#C%ayQ)G{p0b1O91#}XkWy|iSmxc+I3M7u%P7=wBYGMrXWtb={bfad7# zQ1H0)QpX)&GgiN2CXo)Rjh928emxz3d-C)NPP32gxqr;DN4|dB5PMc!>QvV(RTU9S%IQp#r|s;?%4gNb=(0U>ty#%$$|5Bu z>}nJXo8Idp(@@eNX`;LDFnx11ff*#hJCX9koaKF$cw`17n0jX=Zx%MN<#QvIydDp2 zkT6XTZT$yfP_n5z7-TBAlex{W0U@8sd|3k*R_`Pf2b z+7(QEB}!EpBrq07KV)2`jyC9Iz=7tm#3LJ1A0yJ5wpmq~D`v@aJPUsx{UNth}} z=l+1l@M@Z1N8ilS)+GxkayrG+$VeVUATM4)pcL9D{wzbeRi!FDzCG7Du~A0R_-Q~{ zIA4QPsi$9W69-3Cm!J2{0x#M}G4y1;ljMHU_TPTX5t6sOO$ETQzTtn~-rS$KOV(G8 z%AGOilDScAW_?^Ri=Ryii*{5Rj|pYTtGP@oX;ub(DZE$=LaMP4PdgqA%mHeI(wsb! z8#!cwV|tN?C8xeOz`HyeV^uCp$c+6Y>70-%!t0MMV0MWoMx}QlK1;BoHtY;;)(%@b zLbe*h(YX-ea0c022bm8ZryJ%?jvNU2vqRSIM%kZXjRF>7f@8VpzCres$i8^2rY-XMy#s<|i&|6aNdd4W?OBdstBvB6>f<5u!HHun(fxu`&fI(9|`U zA$(D^H5Mr&F&XzT%oti;E-IU2$m*0-$dVC)LusIil{`n8VOIukFpJ8Ic`d4AVZP{8^a_?vjEz#@J)L*v{v-6q&pj^4_`^@ z>(^v1CrxvwI=ped%OX{f@3~X>~qsuNdr6(NMW1HDg}q z(#ObwFu!~A&Y+_i-O$GDmsKJ-{NYI-`XFj7?hwr`37uM#)khNtH z=Bx^0@^G@Kff+t2R}0W6?g-#&**r4x7+g}_FFFQ!6wT$(6D~uOreOc;Zh^mciE(=t zlKD?|0dPVY+n?XKy{BKkfBkwlq=AxtJQEudmcf`^kK&(ZgwrH#YOEcL<-C^>G>1V+ zli3mxZf7T~q>CM5_b?51Dr=o?*3jlNL4hC%?^3f#MvN9RPJURn#<;>9*61S-(ja)m z=3*3axYu=d@gwPu{u(o-44kl+!;_$4D#B1JQ4@lY-jy+8QG?Ne-25S*XT%MkW-OyS zix3jH`H?9v*h)?XMC;yI8}z)Apzd|%P6!|GtPy)061SmHSi|DhAy7BQ;!wKW9i@hi zu*u@2(}EJF+9Xsdg#QXX6H$9p9KGEG<3z;}v9zc4Z41ZGF{gKphDB|kg%cS*BpgLF zTCuy<`+eTcS5O$d^x4}EQZYKlInzcl(8W__oPj+2B)L5 zC0<=#@p6BGhxi9Sb33>H)GnF-DAWKSwG8m{_hR66vAWd?QD;(W5`qby)i+C&kXN5M z&PE2uW0A!k=LVt~^X6KWT5e1XVO)jKCN6oU>NmykFpL>_2ouPVfzvTJF?c{qbU!>h z@UBZm@hMmD>=UNOL0&5Mt;Xngt^|aIuB5GgbFTBO1tu9u<%ISb`GV?&#w_<;It3uS z4p`@T_0v)N2v4gd%cgA|M9bh4cgN#|5j}hw)~0EPxs6b`Ax?ILFIIuFkYSPASiP?M zA}O8`z?7sbf)f9nnkx!Ci89QZ%x*Qi?*X+YBjp@7oE={huUcemlnjeSI1U(cJ_{XE zv{D=fIkBNGp8AZUMn@MT`!_fo2owmddTK>@5mIjG=29qjxdWLQW5lJYE&J4}!glxI zLzRpWw3*{^CvS6*o6X^JU41;EF#iL2=Q##lImw~!%ScY}DbAlrzOtjr`aKZ2vBo&4 zm?OdnBYYZLle{Mces#Os@yiHP2Iox`}sg{mtldwrddK~;SL4B7>(HTi( zA?}0gtgWO4no7Y9=Pk2}*qalYGyx zpP7*VF@bE?x_K$9-Hav?uH-Dy(+LF=p^NLIQMhjdgEg*;@!^(dJ9Ku4VESUUR7#9Z zZ;X)GWb{yc8sHW!@HnX+c;wOx>Fft77AC0(!rg5?3}e z;#!JHWOz%P@pGNS)PQ=T5)?lSi-% z+;b49R+_r6sAn2VTK>)M)dxHVW)*+>Fj@#vsHAnuNm28|cmeFDM!8 z5d*C-Ato$5K`%)FML@d0#F&BgvuP*DHLw-O{%En>54BH+~{fCn<#u(-*_>}twoflg+X$lHb!N%M#ILdbne9o zeRrcNHDn8Q0t#zh*HbhEkD_xx3Y>#UHpM9P0Y_IL4ZenIC(s3gb*C}R+6*)a_Pta6-_ z5M^qQVH)0QIdYyGu?1yoW+@~UySeD4;VWAWV*xCjrrYl#t%4_r5L^`tA+sUmYoim5 zOo|{kvBd_|Fu5)t=TNXErzJhy#h0K5p}50VCJfrvPXuH;6h1HuXcp{r%(2mD^zOZ| z_D~jRa$`w!qsTL1A>fUXN6$CSH{+cm@=Gu_3iWGXe6}SPIYuQANMFsU#w`UgMAN^! zY14hNT_bB`k#Rh`ESsR2Vo{V-`wjx2pri=z6J@?~Zu_Vfs5z}Q1mTdYX~Jp! z9A_E8MjFab0^$nBR;`~`rhd_1OZQCgM4e_??9A-&^F3kQfa}e-UXZ9sri39Irwb#s zK!ODg4aF4Ad}$3!*|V#0yO0PsVKp@|#nHN!jfkyH66sXGy^6-Z6~%!<U zbjKJJquA!oysQe%(@JUi!}|^p{N#&@HyT5-L(Qty?Lg` zd7#xA9s4Lu-F=eb$x%&(F)`@rWS_2NVycoIqO?e$Faeod(~G6SXRYn6=APm>w;y(9cdT zKoH(fegS9Xo6ZA)_zqC!x0A?C8}2$*3Y7MHN_KyaQHpYAxyp5W9rpqw<4FLEaGCy zq%(-Zet`2bbQVUkY$Y1u-S^Cu5$vY#2@{LwF=y9BSRr9G=V^vKw(3Txs)W>QBFvpS zgB*^=F?df@N!uXEF_F&wK5g_6B@TGo=JZfgp5uKkumZfJDwHn2SW6$M=$Z0)=v+Z} zm1MwmoJ6RjYvX0Jwc)&!g~)Whj2m~Keg|N5xC!@?<}6=CEj{m_*%Fx$)Z7?J3}m8Y zrchAynjsnAKFimyJ27c{zQ6Id83ElT4P1;NX<0UZgszym z@Y%tkW(sIEE$}Sh-t@j$qtGXm1?a4B3{5dHnZ?JPnlpVhClrarz5AP6-;R#L&7_z< z_KHAsi69Ee&~5#5F&avNEIbjjN|hk0s)2D`AV*6@!I8X1?FK6es($jmv8j^7-|sBZ z(tX`?^abNVXab(ZD0j6+%Z`#@Dby1QfLZ4vbgw=-KylQo%7Qi= zKWCmDoV#lx#xjfuWl^^qC!*UpW1wk}jh@RGlYxQU(M`DBr`k6%3<`K?swrSyn2NN;j zvT-1vRD(7(_^G&VIIF!&rVIQpq|Z$7q6At&i;l_{Ih_rm5ye3Ba9vJ#K-HstO@S&f z2{VL~gEhOsN;3{G|FamRY;IcAALC0T6CX~{MKKBUln|shN0_l_G*ZKa!(--VL&MR8h@SvM#dUBJcL=P#GC9{c~ zZ5XXMtJs;{h}ZupU6T$0(dYaQvFUk0Gf!Jae5%apFd+%T3}#d#i&&r`#Y{NZ(YX{& zl?{wpawMKnyxd#aex2nl;lM#oY^KdWJE-pXXBKehqO_RD0E^il>S8a9VsmoStq8t1 zKxX!5*G>%E;PAc+7J0LoFEme7h-YRm+7T_4YqIcN%$!K9btxU65zS_{bZjN?q^DOl z5Bo7?4H-#xC?-w4BZ8;)wJ_@fBhZG;LUjyjpfcL4%7N{O6OF}Uv9UJyo z%equ?W}+mS0ce(F$#4W6V-t-tcK-xqth0`c6g@IPk%G1~H>C=t1P-G!wb?~N@)VL@ zDHM&4_?VYqxd@{GIStu#&G8nF9i8RGay3y#J=fG^&ePLH6aCEdz&Rb35RMk8#7rZs zGG!WaM+B*O89o&%Nj>-dZSQ<~5CHj!9s%s>M%x?t@*4s0^=mkpR?aSb(@1$*$xl6R zc`zJgX+`{iM;DvdF*d?;phC>GR ztR?rvDiYJe1Q9tx{Wplue-Nw?9D|Ay`UdZzAQs|1AncN8#$w7tL^6O8(A4g=nViTB zhS;1t0g*MD-@qtT_2-R`fmA`%Ym^fIN|C0D)`6oH`|lpeGnt(iDJ^HHXQYkF_{cT%@PMG6P$-2N znyEd&VJ24Gm@4gJD*a7yt-82kN^s^;xFrfyo140pvYd8=sL-pb& zhee!Td=S6?krUqBVpZAc;oaZ**Z`K!2eAsa0z#07j5Y4?x9|b9NO1k_sDha@PjkLQ ztCPGeZuERDp=RL3Jx;vd&F#-6f5kW9>{N}!CDzh8_l3{r5#}aqhhNtqoE2S$sU9d+ z#tbQaF^#fyZ9P7tNfD#hJrlYdqch{?Kt@JDnJ2R)m&2oS8E793rE0}Dz-5ku3xV=v zuw+mFOu~g0J}>U~%9^or6I`2PBkj^=%ZOo3=1#8#diK1HiY6rLoIQJ}6$i84lE@+` z3nk0ioGY`zAz3#>rV~}Ov7xPn6Up(pFD!ND>j)95&r2Us7CuFee1-di)F7gG`ZsZs zES41(I%aW%rb6ng=&H-(Kp_0{zWV_@ee&e>ah|{8t%(D^Ei^X@fZC^0Ik^%F5|Nx{ z2`W+^pwD}5GALG(%A;;H8R@!tPz*9m=vLVMn82qnB9Litkz^?~W2w*EnY>(E$!487 zWF6;jrKbx@GOcLR+0hBzQt>D+7ETK^_p*sj|B>-YwLta-zjr+{7tV|w2*FJwJW)31 znC)rEPgx&MUwaRr@sWVXJP$HN5;Ub`g>0f)Mq=hoE=5J(T@m)^9#KolvoQXYUVD*F z#ul!1;q^}oc7f+>F!E1Y7zwe88zl{it{Kp#Ds8bDWVRW?Caipp zFdQbAB6vhobX3nh;N(lR7==1vTbr$Bg?1~chZGq&#Vg@#&!LHp+N>#}Kvt4;+CeDt zf;zhP``#;8+gC8whSL#n&jWaytbi@8Pg&mxn_84j0y4L;LacP>&=R6%y#fdVk*B#~rd3xUJu>f+ z=7P<2^%Pe<)3C!c;~P1t>1!rCB`I+cna=q;8QXW9Y$-+&aVCYy}ueyn|>wAR&h=M$rew|+0&6s-D{DQ@AKno)%=~L{uo8{Lx z2{3~%GCEESRYx`_Uif%GROcwQp;k!We!cgmpoH)?NSo%k0;L6tNh7)s!y=RU!A6M; zDdUV!;`I!iG@WW2m0z+=;*>b}8H$b_Jf$V2gKR+{b``}umXU4%1iE`G*-E^Y<-9XS zsjY@zg#q1-18|Q9Zf}JXV4+OxAI^dz0dk=g3K>TYEQUkCY1RSjkl~Se$MY}6`ztfy zn;OeZOsFS`^`Zhm;WXULDA9`cwN2z#q|d$687#|TeJ%=-hR%zXn;0FAhw&QeJfdSl(lLX%JzU}#b5=~V81&hehQb71lbCv% zpwYu@)KdXLPFX#C75g}?*W#C0t6{5NL;N= zln?G+Wl&)jM$qSkfV|ALAv&Pe*_z;_eqw& zo|_?Qk>p$91MqT;9MOwYGkKsJz%Wc2sDUFwK(T0Qgkm{B5ztn~&(t4L-- zU1*iaH1Yv3PcxjlmZ5R==F%4BvaMv96b2?Hy&A9}lBbbx`xw8tDc6{rEAjFF=k8sDbzAeQzW1!hR6q(* zTWG@_d#;j$j|oZ~kvcdgU1fM9Et*z8$EHtV;EI`%9}c8K z`D7>yubyMTK@*6{>MwxB#-|8$icL3_w~-TxiU}BUuTNFLBr&B=GuRwLUYxKZ0kf@D z895w~OSTuet2k$dnCv_|>z6hMU_X2Dwo7B(M_sr8q<4`@4|3^5E)3%K+(8LX?-jV8|;4=6q+`3K&o*oU(HFP;?fqVCZ5l5n4uHiyYf8 zjrdVRJ|(3S<)lKBWW)}M@=W=L9!*e+*!;TYfwsOlKGJpe;F5#fnub@?^%&=>dSLMH zTcJyj?AE^&QS1A4G!Y;?RoheKWNb=#_l)Mzm^I?OQ29(2tG-Si#c`=v@8q1(A)=^a z_Eix>hN8`?M(WmJ`p$m=Y7hx~#j?0o2p>LKIGSMZ>?7)Xmm=;Fb zel8GuXHQBL3%CNOs1t)o1*NWKefnfY))cDtOQ-&;lV3ckH3CiX@VbetbHG+USY#=%T88J$O zy)2rz1{+PcBOxvgAKAjZ1O0&QyXujqSC$s&sb?aXvVGqXaoZ2>j%;NdOq$Uie1A&$ z83LtJq^mwNJHjkMN0~Z^%26auRA6%z))16r&Isg^*~hP0z?D6>)~fX)m6)pBp&WP< z4ff}m0k28lxcb>KfRsm^4JUb2iAB~)gRPBp3_SypSvZ+HfDl&GRwOZhHi8x=V>HgD zdQXe23Y%>h)`X=Bt@24n#|npNbpqEJ_@WH$6|n~qA*hQw%wSmY$0*|zG*=L3(|wU- zSXg+Ptg4sA&#~BdfiRX$#WY9P&d>>D>3ZPxyYyer6~O6xd-n7!;$|_X9dHuktDGBsec9rFag|VydShFJ8hlF!2fwUZL$rn85bY-=Z!~PHv74u zo_l)4uurLk(Ln}W$}f2pP17W)lYEto)dJ^zRV%3J7~jJs23_Mtx6hhJi$i0Z6QFd+ zZ0WoNuovz_#L6D>+AK-6ac6Hxwc*M0WASW3!Ckw6^t?l*IM|> zDPO=UQtbxNJm`$rRGTi8SBtQUGW?}*O1SN@Cd$@K6^F9pIobm*FDK+P;TYi3Mpbfw zto`uI>4JvubmRbrKweCUs3eB&6Gfx5!BCg<3SBx#ixmL_#YAVE12MX*h-j@w*=ij= zFqzi-h#KT#;Ebx;&$_lp6E3mY@Ln2NwyA<>H?#30RJDjI*>azNH5#4%lGkm6K$#Za49&EJWZ zWk2ccZ5bZZKeb7M3F0YXdSHGLNpZBO!)THsuAxk8tz&Kol%VQA(>9p|One3*@*RLJ zGA1@5YGZ|)ND$eI%|=V`Or~*7*CU74rrQhk427v0n>zy(As&a6!bx<2JmxgULJwC` zZE2s+QvW`grV0De37EQKpzFb|zp!<)I4+jgaSHHyWC38P|1jT09tzx*BFdm|W_9$~ zs$(4bg0+h{P{xUGOmxN=VeJ*(g2@O52WnCh-55SuxsVC5*-6;-i<|__pdp}V z>gC+^bBfZNq&)8zH*T3o&?hW#E(MjUMvhxXC{}o_!U%3aSYfDM;t8m!$6d3+Nj@su z&4({tPp)y8p|U#uG@yF#1TB$HM1wUWBRWi_O>>Ut|3E4$OQ0mDV!+RKJFoHeMfYRo zR>^w@F%f!VxM;hD*M)pZ10_%lL=!9U)?;NMVP6<6{;j)R4O#`==WE1o3W@0fJJ>78 z$g%O^YRz3pstYh%DYG+&ksJXn-Z{F36bmnxurpvdrwVG!y8@PE4eOyjHN>*lWadL7 zFJ_`doQFnVgyb8P6Y8XZrP*tJ{cOu3yuNFI*DnrOJHbr$hC?Izh?Ik63F50gA0F^b z=|x3Lbj!@B77lTXEy5;gXcS&SbgQ#vAq6v95r=88m6NcA85QXn_Pu)!D_-nF``DNs z)FLCbvH+wpSr4J+hLN;r1h`|QrBf3d=1x7z=odOiSWv9(rKl38fmGr8LSYaj)+BTX zQt)uNj9XWP@c0V07~%Ub)m{jG9ui?|jn(-VX&93_0`z~&e5-cZQ;IF=DxgI6hmeP$mW#npkz)&{!A(Z_zw=AgsP+Dvjo)Utl9`Y$-pH^Wvo4GVa+$%1{H$5*KwShaOtZYhwG@n81$xl~ zi4Ls_@t-D-9jf5f6EI<+B#Q+E6+QB`;D)P;)GSMFKYtyI;DBN71WZPNBqkw1HBIrV zTmFe%60z@P+9T1Y8>UvzUPE%=`w9&1_8b1(U|Y||>ljhaGzPthZUYCa(|=}uyphoM z$&9JyX&!KuQcS!5!?qd;jL@CDLaWZQ1lnardJxj=hc;wq?p%*n5H#DYL#FcmGomC% zd#6E#AS3GIkUy*&r%rbu0J;^pH3&M6ChT%wnO9wxtE&Lod50nn6oI8BiDssSOn+ca z0DXO+`5YEFgzla>>rV7X%ZT6ZZF3LBse!e?qj;oiL)iGboencPLSP!CV$fYfv!rK@ zmJiH3==gP{Id4L|Av=M9HwiC4sUakeCe6aiP?rT{S1hfRfDjgr-y`%&}op zZI3*pY$`@NLankm9+jQ`6G22Lvrp~T*l~M`8hvbx{w#yIC3o_Ox9%x$kToJB-g|V0 zFCog6F*N5H9{&8oS1dLPQV@DgJL5L}K)zq$s^6__1Y*Yu$KZx)K2!djR7&sARZkQ; z6~zr7nweGBs|K7}1-J$un`5f}(RZj$ru@^2RX47Ap?nmvJs$4>{ z2KqU$EU+~<*m>P{V&nC`_J1)@z;V!dg32N&j!1<|ge&QSG0MKKh2L~h3j&3EXbNVT z*G$9qZKE|HBI6l084k7-)O=6fF6xZop`VVw;MFc^X0mv?N8DRn+35Kua|p9V^2fT z-2`XY|2s5$mzht3|Io(!i;7j9l`#4;7<5Do83mUkj^^O07=_O!=j|Lprr5=^C;R4Q zpU{mIx|*c;r9D`MxxGuqP|l)>KOLvNdU~T|tC(#QDq@U;$8x+nlMG7P>F>^hBiT+- z)*8%l+>1+U5RPe>OaqRPoO$s$YHkWKM}heD?f%frnHoiirh$M2diB+iBIF$#?m!2BmE!7Lbm)$yqcWuX=z zNWQhEwfP=(ytp_7%8@QsDkP$$gAYn=q z#sXt(%}QpuhK_KsV5{h`hmAliWpXHl-D}vBoAQ{09m~2M4VeiW)^UloIAs}8_wB<- zIa6$O4>0LKAe4s9Kw^P+e>ZEMFA!tTI=uW$G%QS9M@s{|?98Arof(X225~>^Oz1*2 zhPaaIorV|8>n=1I)flRa$gq?ef>~-LDmYsokvcg&lwo-mMg*HuZTxcO5E*^T0Zy3X z$t`lm)9sDY!03qZEJWy$UcxA`>QZj)#i|rt6K2Y$8gvms(G4d~h72ozA|Aa?6?%qZ z67E3kr-`o978pOmH9xTvJDL*94nT;XVKduRIzMBRNDD;E19ls$+CUrNPD8H>H606~ z?7p~@8i2u*Y&M+zU|c!Iox!72yAqpYIy@ud@<956V$thLZyo0iq9Cp@dgml7e*e=o z93x)GL-@rSQ|q{o(>UmwAQnH2x$G_IMcB zKP+~(S@@3XC=~k|KRbw^EyZ0uz8gy48`}D@FtC(tSpyy5$^eu5zWi%5F#IkD&R(-EZv_$3!)RDgjHv40S-psT< zguy$>^Udj@naSXiM~u`{J-c;^kkP~Jp=jpIS9gFMq=yp)3M*<8DkpF<0C6=V8ZHTN zxpON3MrS6zd}@TTCI zKJGsXg*Dt8zVfGcJgV;iTQCWOVndGh$eOV;Ih2U5F=@gsxZp8tzDyzEz@*SvY$=Qw zV&35Mo9hHM#7!Gj(RlOluP>fP<7of^CF@Ugf|)u-2A`Re86ssQ zkI$B|(A4@a>NSCMu74%P(;Og~C!x=a#gU5}iZ#(=+({82tu16+-bc6&7$FVN17Vfa zAdEt_P<6X#9B~=2jZfWEy?VE1dDt0Nqfta9-v`EvUDgR4VRh#1N2_3$NsJyRZ+)+* zb+U4K$d>Nu4F>;GJyN+l9|9V)YILVSat3?9zc?sQ;X51#6?yL6hrQ1ZqQgIfn$$cc zDToBd75{|faQ;pa%3JhKBrTjJ-M)+O;B0yO(-*sUM&&(a9p>qU1Scc-j6l|6WTH-s z84UszP4!tzdxlVscf>5MXsh9SQ`Pn&KYPy|P*NTT{A({z8R1w7>PeyHurbxg+w>t5 zEl9)}a}q_X!9PQOLm{+AGg~R0v0wpGeY)k!@(u|%2&armbS6310ZVzg329cnPE+Hu4A2id{G{WBRGl<9&M3%fiG$3Q44Ewa}qOP-eTLhX;KG!`>=( zsl#vBoE||6gj?AlLOWQ2B%ePbTA1FlGcMjz{mmZQIA!QVNBkiK)pgLK_*oU~a`HSR z=&6Pf8zx@1*^!S>s(xlI#6Z$(x|)b7c2V;T+rv;V2J|?Q+gS|D7h;;4HVL7x+U$7^ z%@0;r{ir)+7g(o_)j&%uJO4^@3V{Ahsxm(UIo<9m=aNoNnrJhCU9&iEM8rA7s?9iq zVeY4{<>}KZjKOE@mQu=}!4VdEw^jg*4?9OEh==;HMwuZCv>oE80>Px}>mBF1*J=9*3mtVm0J@%F)m%Kf_Zm69IXb8P z=d!YU=v6bY5`%EkE@P$XAw+xV0>C`4=rg|5>zKx^N0%7{+UIH+(P%1j2S%t<>hkz7g>w&gbhK5Y+3>zzKi=I@? zfC`|)$ugA)!lc55+Z5arF{~2aL%~}r1YA|5x%5duhH?=XSIO~xE`YI;6di4EKH}_eNrM=)TjZG4a@01f zhE=r*=ib%{GFzv2TDWq^+Th*f08q^qWE+=ROe#gy(sIGII_+xvMK4((vd#U_Kvb;E z{9USLZ54Y9A{|{063cC`>F8QEukQJmxdtdJk)!At_Lwx+Lf0S$lf5J#C+ zP(6|q6e-oSeY_yY;TtCzOrQkwVB1Rp@x>FvVW}5~bv4H`vFccVk?(Im5F@9dPeJTc zYX=Ke^wgLTG)Gn|3~Q1&#}ce89I-EWSc6^5rJ6bCX2aBdIN)5qVeG6<7rFSvN_!k| zH|r^$8}`1jX8`|$Nv2rTD+)`{1Mk!G2~f23)S{B>O~wK|<+RB%<|Xoc(tr&>VJ zwxEb)_dj$R>YEwB#;A+it&DT(21g1wZi>~Z;A{~HW$p?po@0p@$u%(iP5X0Ka+GRN zbUuO`CP&%_rKoR>k}z8|W}c)qLggB8dG9&qHmGK#>CZk3thgA z#l5)7dZ&&pWfTm}Ac0|#SIcbgg2{_=J%L8YLBG0+mqC7P#X_icTLrz^=Rh|gnNJ;r z$?%Q|423Z<0EvKM$KO=d<l{4G)WVqS+YhDnCfI`7C}!FM4LpZ#~P~Xkc;ur z!<%~i@vHiq|Mw5oU-|kUs`q}+6ZPO>wMl@HD>2uaSXy9>)=tVQ4p!vRlOIb`{1T!R zfiO@;!|C0}dXx5n`tFN?WEc&rXDt+WlqVg7gxVx!pK zdP?XLE}!EOSfKPgfB0>6AgJ=R{lUO!JWtdhqnJhQ(?@OqJ)5HGGmhc_@DFm$;`}Hq z;BFFiOvoe^xXt0P7f#SA_h%(Y+#L}h1JPJ|bivv#A;uy0Yphw6Esiw6VTZS*`&OuQ zHSD)2ihqwzMH~kE0lufYfnfubOB7-~>r8zFi4Hr}OGQx;;0EWr<0z<3EU?k6?{TlY zT9?fNw)7gz@SvhnXW&ifF{hMWsP43jt6A>M4a5vxaqqCP84lID6a`$mm{CWgz2k;w z2}m3##m+~j|D4vbX3jgQ`t74b=;PM*Bok(Zsv-3dt+2ZM?BKeE12|6aejgs3BDmLplyEx*5I0 zWDV|}ivaKPAuLO{6Oi^Zhch5ULLj&@*tJ7#K%S^0@7Iu@HipY8wWj%+S ziZx<(S6|bJ4ya!sDKGagx@o2C@GS7EC( z>$9v)(D&F>5K;Si(AKS{>v`P`fWKH_KtV`qfD2WH9sr!S>&3vEK8}f&+ko=ia}l|n zrwL1t)Q&wk(NgwKRpjMSUd-u^6+DBDS(Xl3txMiLJ-8xpK&+UZmE% zEj6kqsMBKSt*4dA$@zO}js_*hIpk%L5oYl7B&a&E)gKc9(@nH|4-XSFNj z7t`Ynb~9yvEWI#aYD}suje~CI9HybuNAV5|-04Yr$Jb06rK~VPQM9xC>=Igoxp34l zk|!X`M}wFnjdtNElA?P#o<)Sf79NbIx*wgswB0`faj1fJc~0=U_y4bR0YJ^KuSjTY z7p;!eMQOW>tkiFN{LB`Vq=J>B9-GA<4zo;UE_F&tqs9^Rz}^s(UP4v+p0!8U!n$>{ z424o=B#A;sg)r>#QNh>HrAlEmypZgpc+%9gZP!oAxU!33y7*AB%D%_zBS`^0iS>pu z)i7nhUcf62TMW}jRM&(MLwBxF9oFhC!i1OL2QZtlWGKjgYKBHtsM?dtc?2BMVMox^MYuktb?$7_sdRL#wMrbcz>-wb zgTPYLrx$&ckD;5Bt(rI@*r#D|?K!{*rGfmunHbu&MVIe;u^fX=s-vN)yIx9!eCE{i z^;HS0qlfURro&fWtMXSEqTV5#sLa}|HtDW|fjz5h^^4Fa9*5<0Y0ujl)0XopW})Rj zz}#M{(&u2GLPm|&gngku0})NLdeWr1ZRqjIJ)eZ(R!U9T7kcd*(7>3uNZ2-quw(@y@1ae;9=}Sh5o*#vWjbu^iIw`k{k0`h9u~a7IOXKEi4q z?s2Reet1V*xOj&Z02o^2Zc}TMmP+RZ6J&qfFG3X}HP*s#vC^U~k5M0t;{;m;`AdlX zVx%R((LF#FsJC&J0svp=K0MBkC|I4BL=!W%{&spk&KZ^RkAGp~Cff!?T zMHo2j))}P6x&_^O{QWv6<`EP8H~r7n=;9urL;Lw-;EvLZJhcm|_H;O@(Bj4WyCNEy zQhI4QHBRt+I%!aQtd~1zp;Fyzjvf&hg;=u;tMyW>c?>f-#YQ-wjHS@FvnLW3Ylu*{ z^t2ec*Fc#BL!T?pxE9aD#(Wq4jtCDq1?d4Qx>E33r+=N`Fx1EtqRxpx86#%+RYy@q zoq8n+7Vh;Q0_{W~jXS#n82zIw$8jQTM_z-X+zwFsm8jlZY8PK?kz>YmKRn&@UI?c$ zGz|-uqkXwkBev8$h?tVLRMghRUgZpe)|Djes@?@7l9RVL!teVR6HhJ zpdD-&at0PzeH=yGN*FS^b;FE8(?cM4hYM<;$J2+^9jOev%^+D7j~<;y|M%)W-~Q9} zcmLie>zBRbEp@#$|I6kCSguZg7VFJ#S?X_XtAN*DV?Fj*d6cZW_C?gm49me13VhE2 zI3`-FU{pP%2EDjEM855kSaz331jdUTKLD%PpM`VNX`CBYf(#vv(UWf}rLYziUp7_()H&pMn0EyG*9 zyoXp6kt7Ep1ZvdkF&*}$4_4qakz*Yo2^;Fe!&oA{&fBWYA`(EGl5j$k!r9nT6 zRc@aIqC+$lBU_@TI}P^2)U1}Ss5V0>BHa%<4@Bz2pu)V z{&_5BYb;xzDb%YYsB=cLnogu|vS5}~UAwh41SU**h#O>>YWC#G3VWOjjVDU>2@VsQ z&q3!@@L;9PAV47)Bz&5sQ!Px;+C4Hjbys2^*QP9#{2DFHQt=-LI_K%LUew+hLlQC~ z?=6!>aqyHvh_+(6gA)MSO4j0QNy$V}Bq$BlTjBjKiG{r={dF2}LGkrW0oc=}QJSck zUjt5OV_B3V&7mxl4Z){YWpG6qjHW+i^8Z68AD*g(u*>!2wKDEN7wZZR7)xXLdvFh& zfO{ZjwKLG_89r6;80LN`abnL~u#8c>vg@I)CbY6927Gj5a>%5Vp@N|8=be|{SP$B{ zuwsn7`g$8X`gBn7?vt3cq;p{NNo$Z0W)ZAJ)$AhBwO8eeLgrEWGYT;N_1X4!ul~5W%)bA7txuQnFIsQ^ITyI1E6|LJF!`u6W-{gWTQt|uSgM1wc|;?l#( z*S-->6$Pi-x!msAf40XetQgb{bz_|1V0#A0A}$ixN=Ttxxk4+8({?vK_r_!$#GIbW zsWOJetj85$TMi_I?0#inLOp`nzk2rYo^A_47NMLK(+herCet387lF#^aa&%ELdGRxpFxk9 z2P0_i5Pi4L4SRkG`l@>At_>9jIt+^9(8x)`oh$%g?EHR6EP<)LL{Vx7jf1)em}qa2 zuCwo$loq#094WgkM+GlA&J$ABkTZ=8!l3geTd+o__NkSRjojDOs8AbS_3r`tf*-=7 z#zbGb%|@+;_In=h^Wvc#q*VM4O(nO3)`?IV0GFo=Teh@B;2E$xFBkn>rom;e# zv*iL%5((Vr#MoaqE1gkox}Ea)9M%ZDQNDlM$ulMvN7z+#hcKpnPIbg$ zr_Zhh5vlc$w|w?G0YgNkP`+)-0*&$PLP)1&_U*BIrT^UM|IWDtzOp;+fz@PtdrUmt z#Z{4>$^n5LK(a_zV!U1H#zZt>?dy<|4H4qSCb!(t$g)OY`Lqw^1=ek0Lw7?2xF6C> z`DL!*A6?WE7e-Nl5U_9&GPukX#bt8hYjL)^kgO;qGLHtqu2f&oKYXUDk?s+9kMhzA zjy57g3j1Qb9|9|g`+;^TyQ07C|8^T!$)RAou<#Tsa+e3lM1Nm+*bg&@Ib%xH+gl!d zG2;{%&qywkMaO-V$&Da+8?&K}&%1@R0(IQRqoLC82wEQt_vmFvmyJn0^Yb+A z9dMvBi?RIv6bFYyWLKlZIVX8KqGB~h$}@zrcJR<$&YUnze6*CzRGN9+VY)x zaS#OdbMBaILnd_URFV~y!hi*&RLaRvw+EtI*C%_J6v(GQPtIf}=P@r}jd@NYrA(sK zcfY_wxAeKBcGxnh8J$706f_BiXU)KJX^zYoSxiHI&dRozpU*MvgJwrS#hZ0klf|hPK(cJs)!z9Koq3@#E4rv`Xx@uU_l}9f1V(<#WJ80vXXHgO9 zl`ephk?{Va68>V?2u&_i57@zw?GCx*6sgNXUk9AwI=w(qA2p#`h9$ag3o7>RL_=*D z<2+${!@@KoLKUj=i6W-y4Z2m+69NU^f(V_Gj@H=awr8iIO1l-3gC_C(jI8JfpnqT#A9~ z?Oj-pbnSf}`qsBD^`7sl`uXQ@UJ;OzZ2|hiiB6^SwU!Vt(U}M(c3r6dy*)ed)k2I% zF-aJ)a?}dti-oNHOf2b<6Je;U-?_6g$P5-^%=r;<;li#skg{NPBCpWnA`x>)qh+!~ z{8_Y4mX|4H`u7J%jF1iK8`{z&_KK0b&j&DZG^2g5J!pkBpASgqOM(BCyE>pNlne-? zU*Fh73MaZ^8`%>en$cY->AmiNrqV}s_*#H%e z6NIX`M~Tvuwxpxw4uaf)tCZWPbMDgz%Q8V$E0T!O>;`4dGfgc0dj!QhoxwCcK%_-{ z%Fh=P8(LDSE8jgwxHKWu1d1YS8pdznqIEQG!&(98P*%E3Gc;Opys^|t+z zt9zRk;K_^F>ThnYfD;?wk`th5E%QTE}cEYgu-BBcV{C-P0J*F6VgvVHeNfN=>cs}nQa| zp$vyrZuN3&U@!Z4*zF?Y2h7l*`=vpBwB4T%glBjSTq*6XC4C2m3i=Oc_#WrMAG>8n zAcls&=pvrQA!UmKeLrg3^J;_n@=(y0>~=HptTGTJ)Rl`e%m8jck-wu<_9`CsInYq> zk-r?A21wARtG{#SIK16%(U~Q_kow1Z$|Jg7fO4>?QoDy2%JkXS*aaLOU{d zOx2DZv3vRzC)?ls`&acBzwSrsM}Fd!dh?qf-voWz&VRXg7XMv7-0QO#@WDfF|4tlT z%jHZu)eP_dVAVhQ(554J@)8y_cjowPhC00|kI-$d4GbGJ4?xn;K_&ViSoxv+FL;lt zMfET}z|{6{oiYU@i}HAABRFFAUPWdCI&Bk{S0eG}GA(3_Z0=~|8k{wvdKYH{^+FVJ zAVj?nV_K{hs#Al#F!Cv=81t|$7DFJa(nz7eR%cfj(;{%l6uK!?FA;h|9Qo_?DPVwE zVzuOM9#GO(#jaas8&3PKI9)hWD6|1XFaX-m8L-J@@s4T$D3QA62!K<~stG#QHc9GE z_eH8kANA>8*3*~JqB>EChk&-4Z4_%b497$>^q{Q zRg%wm&t<}Zato!RXSHNe@P@(TOVF<6dq%=F4)k3*WEXguG_CG?PhWCHgf!fxLVDrU z5aw{^<9V8~6>?8(T>p=L{N?(ZKmQ~3dGC0(9&Vlf$?(6@<7-a^>zcU%>?-i5pI++g zzx8?x5W1uXGVs+J-?Ts11$pBkN^?$f!kpkVAUd_ zy9-vOIYm+Iozg1j=_>jW#^=8J`2T3sBsO>rOSU=}{NDG})Ee;9N-&jRwFM663cM5s zm>UK*3KVND+y_9LLKn3r9qCSr04*1K6ATAoJrSc z%yRaj^?ua7;@0t2##%ZUeR@^&(u}6G%$*eone-{)s^Yd z1`Q&ZNPnZM)@ST)8Hpl$a^Yh`*!`7)EH`P}F0tz&*dsP;Tr1GD2odB$`t%1izWfNw zUAiJn%rlOsF`VzQ|F@K%dFh;DC@5Eg`cv30gRNCx?prsZE>vW1SS)*UGZqrGyGO#$P$s8?8a>CKy7h%wa&hZsUo=wo&aBQyI>{CnHK z56W27_*X)hYqmd(zn2}BLr2v2_kI{xFQ#T9N%fhx3$zBsc2_YklXhY6_}FtA>b5_L z7``Wa!6D*MbAO112ts9qcL8lJlKaYC<yah*QT6AgKv2g>f8VBS|9(}(<-2oJE>@GWff@AjvxY>0Ids9p|$!sFbY8vl%zKx zM7wg?F{W7>>43@m8c5^8Cw@3AP9+LpVnHg12U_fk#aAY3kcpb+zo#{B!iyHGUgCN& zMkfa&!d6XE2sxHl0YN*F6=}9)H2ZMf0!G0Oql@m4F%Nl?SI+Ws+Gk5I@Hj~cGBV)= z&3MBlL$K%g^iOz&@|qEC8Q z3IY?(QD2xDkui4dhjRA})6-Q3)b6ahfKCSBL_62Vmh9bxm97OzLx)O2ly#yHD*PknRK>E%P*i1e-fa*&A7#&qEKHEWBJ#c3 zrJ})391cpuj7l1r?=UF>J(}-XlO`E<0;sr43lt=ctfJhDd{w1bbBTf?j+g=G!QrdLBGagE)n?dYS6hQYp^HtE(xt#Me1ZL*&;=$C+; zH`?I?6|rA6tkqhFt*f|c=mIP~a>!&sjpJ>tRH?4HcDIh)p;bT!?IL z^qCot`?(Xu8y~T8P8$-+d&B{JWLlE!(-9w*OiMX@R`5jF&{lF_&ECN{;EaAuT9bBD ziypk;ora8f8LWCmHfl#s^MYy^4g)zVAv3}pcRj;8bvURvhBmV7-Kcez@qjS8i{dC= zgD6i&UcDa_R_WSSWF5AnzGFrtr1{HECSk2ypye=59};ji+Z`e}Kt)acYobNWcV2+o z?38$xgvaiUj>?Crt~-#mlCQ4U5@EE)IlT)*JaFp>CD`TW-PewQeN9cD9tX8Np&Xz-yv|2Y`Gl4E^Naxc~DW^7;=4OR}chsSzX8Q{877!S4_lHsBM+=FxfkwA0gx^!xd;!dPM*sStmgPp>e!p*No?_QA3vq@p3{7= z-F|3eM0P8V6^@#nO{Z9q;TWKQ{kiv9wW@}W=_-~Hqk^82D-MYWtpP)-&L>8AMqrhz zlkG-u=D2cDp-T^kLBHS4XH3sC3m!Y+>ju>h=;hbRVp;6Di=x|)dJwXQdIrzE^uX+V ze%<3*k;zDVYhWJH3P@42pvMZMJ$DuO+c*^25499f;f8)W}-CK zJX%rgz{5qVqb~K}TXrxke+8D{2y+pbMK4kTxue#N8KM(W5s7w~*y{X?+cXZ06jr#I zk+X?Tipg!d?32Zn>qwJehy)SYR*{j}?XRA`wgAE*(J8GqPO!-xZ<|)#DG?w>7PE(` zcLgq#@f^(>m7ru1ikNz;H8S&1{ZoB`6=UA<7_kFSN9&U}umTJ=Tvol4rDIizp;E1B z4LQa}f|9F_G0WJ)^bpF}>dAaTw6G}zJu^T@-@@;tYRT%_#;PS$xa88%~xUX&ZcqBy3^=-icUa`&ndW24IDN3h4&F zye(f4?{P($l&oycwhLI{;{~7#4^f)aE!ha|d>PHLz&K4H^nQ4q zJ%F$G3INo=i5zctkzYr+!d3+O5-MU9C{Fq$2VoJIyV7LLDl(x3~~S|vvx z`66d$P#msQsS53gk@=9AmlUjFq{KaqmEM7^J*`Y%Knk7Ffi#k$mYKjxXX>4w|EA6MxArh93%%LDhPINq z*arLfmJ+Z-b7-8PLT`T4Qs4D{)K7k7vl>2mSrh2de-spYxKodr9QR7G$8?&A9%Enz zl)6aL5-DekiUF}!jMrq66p^vayaCP~E5p6rK{)e?gS&JT0dF%uD7iC}1YypG+awRD zMDvbfY!6QxIT-e(1tz%Zc48{2t`ct=VAGxyvo^Ff%Aa==PcGxCM`?f-vId{lYP${d zZ1h!Jb~#g$Y@m%e$WNd_DB!Yp9MTE zO&2Sg3(y}l3>A0DF1n@2^`&)#<#<&nTz0yGwZAQliDbV7Qri#DQnS5jSMtJwMNA-h zDDMy7NqagM6CJLk?cO_2-|;g=*JRu_oq~493CqwLfhli;Q3JjDOFw*>$D3yP>n}M{ zgP@j3_2SA6(rJH?5uKl$tWmr*7)y_006pL%ee-TSoMf{G3KlZK8au{IjPB{*{jsn3 zP(As~GiPDgvW@<+$L{tx*;Dw>)oz8VCi%ZvyNz;x$R!ZQFUnIm&=w$A-~66+7yc~+ zk3rXb2~ZuDo6_}R2=GxM?6@BQQerlPj#Wpl4(O6ykTMz(^%6FiLKA_2E>)a!4`>uHtIYInu`ZAC8;}` z1t8<7uCNU8iG0vdyAUce#m7{!(u=SOFqQ~1k&cv+ph?-0A8LF#cvLu2(!JAeH?a|YNR5IU$R^TOi2V!$;i|C$0)|ovNir<}leQotN`JR1>}#kH)#0{v1)BQ5 zzt5||U^4Qy?fkW)*A>9zg>kNdL{Bpk+X5cblhky5+DG|>NA|Xm7l~4ZfoNidV;>KF zS8G#{iI`i~B?^Q(h4(zM3IG1;H~fow{|7#^3IFb&#efidri=A@m(f1$Rf;FMb2Z%W ztpDHS1UK8ic=iodKlEc8CGa0_Q-CL`tr}w9+H)C!nEwR-f1>#Aop@04!urbq^Pn)= z$?Q^BVj#*N3-$jGkz9N8uo&pb%pet)zM!_zCX2L~YKC=qB?CMoSqhvO?QLRG4v)$q z8OD_?XR8~o!3Drb158EXkn$)VdQDqo+33C%@ybG|$)t42IO z-$$EAC7Mx`41yQhsJMpFQrlt5C>s%$okdK$WCD1iJFwwp0z?&j%lJRPfAk$Jb$2+p z6=+?lUi4OOWGas-<|P?yGAx9S*@H(<8}IglX?V;9*GWh|gT2I)03rSF#LsMqVrWt3 zkR#+nu&6ZpzeJalnx3uU7xu2u?nt0dAm zF~&otcR39f&Xfo$p(Dw(E00ns!sW0a96z+P*EQa3>VDX6p93eLfqsT$rQ4K9oc@zL z2?8R6PzM*`0An0t2QsL&PW%(BeA_&{MR!a|0~00yCqp(yf=k;+Qerxxqe2LbX4Dx!B{=x&zLP*E1!6q$I)l|u*$1a*y#H~acrUSD?`CPk=wI|+dhOkX9R90jgz`;{y2%}FA z%!RQ3VK>{J|FKPs_tjtX!}SZFVmz=1DE_ z5Ka|=4k@U-C2HZ8qK>vciqx#}+=A2oILVvo`XLO=2-S^I^A$AVGWYfaLpF*<)iV{W z&>3`|$$_+~(_Pg7XgU>3u&w2y9s6;q0va|(t5BfY8h~_Mscl|S4z(>w=^9z^UF;$q zH6lT*Mi7RM=*hsB+WCh_iqd}%7bgLuCgSibSD=LDSFY?G=_=jXO8rc<+d(DvNHY^m zh0Gc`@YbF8%8f!C%T}i~J!V(NlSpXPn2^?h zGQeatk;T_6C}T1V!K@_RF8}Suee&tY>O=qhQ}x%r`J?rYU-8C`_;+(guU;;z)t>l{ z*WL@Ib2oW47I;JaG{&UO?H}Dds(SMqQQ!Fwt3L9vjXwCq(QSs88k1)uY_vI09$;QW z5}kxiA-XVK?qbBlpt8uV5S<0=+PEG5-YN74w+Q}J;EO3207FBflSXGOuyvRj5w1nC z2PDz=-jm`5LE|Gi=v9WKML2{1AaSO?Pn(h1Gi^#p5gIx=dmX}ne9s6=?jzlKqpBpM z{@Ir)D-f9!dUk+w9KgPAW^u@g@L=QFW!RrzrZeeIY5=lKr;j+>j|skmWuP{7H`UqQ z0RjF&i6++o&apl6dk-H0)jX<)i0?bHShoH}xE(cV{b6h*VeRSN-g8c=nYGyoE)p&85LE^QI! zw?4d5by0|Q^b69@g*4bjz($gT(1R~-g@;5Yc&bcm&k}FgW0?>xkcj~X!Lr!aj1d|3 zp8Z8zXM4Y6pXY}#QG<$FXCbDxh6W||(t!w4mFD!!V{H65k15J$eM~qms1eW781C+OlNgUrlGaphj(Hd$HPh_y9Occ_d~ryVZEOO5~q ztyFCjJ*FEpx13_2&7mX3g2qlm(nDba%Nj2`{p`r#lk{mAG@nC%9hpIs zch8AO z4eJ5iKqtHNp>~GAGn*^mo8HTM;rXijkD)Q^0Y{FWI3q}FJ42(94t5cYE(ywQiv&SbEQ+?B~i%W@JJ z+$!hEGZ;slgOi=+Ro6~WQMp69<-{ZEsvh>89OF{c?jV%uq$_D5qDi}a!)oGxZtr3_ zD~Y2Ur>#iJtePN0faE?*2xU?CTQyE4Eo_N{BQ83X3ROE8<8zG+9UT+-f>RDVwG&cC zj6L$V2Z)fK?cTvB>}ugH?9>$+6==NxZ`&sEV4b+rQZuIpw$4T1*8Aj_(V#(s z&YakYL=bPG8+`PzPS%?BR88N_0$|jFlChebq#T2VMdH8h#u%>jf%YOW5Pm1e6lzx zo-nm*$zGSdg)ippS*3~P`Zsgphh4m=^C|m05B#VhzzE_`*1!}@cG)vo8d=^2q!yXC ztNu^Z8S|r;`=$GuhP}Jn&gQ3{yjLIosh8?6|Ba8<=bdeT+=YKjdwv(87s84&nQk4H zLm?Gnm_l$EdmhMumA&A&-Y~>(dQ;VRfB#7kxQP>=fHg2qoU8${YB?0;;YU3mVjrne zN4H^>ga)xpqVJANix|%$jA(2}-y@3bvHEa-NnApzGf+!sOrbR2KD9j5Uz5E5iq070 z=E)z^iPl2S#^K6Mg?^l`S+KKwx?=WPxTC}IkQ|7UkoSZz3f+*# z5LZ?3G7=K2E9+0=c5H>iSA6x4Y+d&Kdh8y`W1C=~MK#b8?eN0xC%;Sp?lody4eN~> z5-F^3lzV5{UWyYB;2Ym_(=n`xTH^?)>eHz;gnzUcX2ZEc!@9&q)c{c%LyU+47vkaW zhZ!MFuuh_{JW9Y%v5({2Am+-u?s~d>e~vkq=t-OS(YpJkzwhZSXALTR&jrB{RHWJ~ za|KKQTgZtH!yUj2%B<%#z?KyUzrm)Z;ADazAMGmdl41lgi(+8|xuM)`qyGzh6k0;@38%S$9Mf)ef$6WiTZ+H^_F`0;6W`I6Y?4ig*1%^aZJwE zb0LB4a6JhJEd+?dWN#A%*lNh&zPt=GPIbn!TUy|W5cm(ikM(bT5$d&9*K<)|lP$vH zTQ#483R>bkLjv-=s_y0DvXFPz7jkALb@V`<8I$5y^C;rNQrCrXEW`COsnAUz+P&k9 zK(D#$RignY54_V9XmM5RSTLr*;9@R%b8YDs4HRkTURcJ#n1}5A~ z_KX3!+#o4|DY&;zO*%d;CHiv&7ZVa5ahZ%08DS1Vg6NjV(o3tI%G7j#;UPT&d@5Ac zt;*3Q83Rc11fE=)QRBU=nI%nB1=Vq&j=7| zKb=YEU%Mav^6OR!9GR#?(8WWHcuz-5BdlDmN{8C7#B0AE8Vjf>s@k;UME5%(e*gD( z{aC&Et()-gWW?Wpkjq|7w$JC>O|KDxvKNPY0e%!sCw;)__oj^eHHGi=d#$Ek#-LX? zuD?@b^M+?p-}G&3{ia{P?5h9@&L48jjtU^RM^+;u?>H5R`p$b40A)Exb4FFXLnFI@dz?EIcPtD6(@;!$}!tfTe&0 zOt_xUoqaNJR=|10e{+4Z?$mO+@Lzkiu>Do9zFgcU0C@1=G6^^p0bYPlv~TF=7#*)B(n!6Ab|uG66m!m4Fq> zgbCV~*(DHp0c~u#fBt~@v3nhJ{fPC{*8Ts*ul>pT;U9lgzv|aKy`3W$#_;B+uQe!uFuPoTc#+ivQ= z{PKJC=sX1w9g19}P?re%w5jd;o6t0V(opd#h9Y0Bil#S+91(_?YnaB&U?7!%Fdy?n z1$^u~ZAJ>G^BsEe@B2Zz7Kj*OTbU(M?lMx_u*c>yFcYITYaQG&eF|b5f<4beACH`* z_Tn_MA2h)+&SmWDv!Zelf(g@JHMZ%%;QPdMInzEsAbNfH*9v)V6NY5#w?lijP3y2- z`lr9n7yE151^?=Hxo?;Ld9T0yeLdI;fo%$a(<)&93!4sro1OQ(_IUW}rEs`Y1wh8S z$AfFlrSQ_vlg%}h>bXC4TX4JRF5S^;KoXa&s3)0LVY}*-vP*Zdp#?t3=?PH-rzaf2 zA7~Hzk=&;t8j#dLB$NVyji-%Ptq9uxoVAIejEo>1!bHKVBU6rIL$*r+=GP}2$YbjZ zB`+dHH}Ss*y%vW#e;;?s=Y*vFdg0(*OLURP_mw&$O(L@-xw2wSlL^@ffv}A8{v0Tp zu73+BG2P>jFZHv(@M`^;zx45q`1fo*+76Cow|HJ)L~HYIGpuY7xRoNcFWa&8{4A_g zvUYz~p`u!3KK#-qBIjaay-XrbXVzQajQYF(V6A`Wi`M#;|MF$JdC~~@bQ+F@hVF&4 zD0CqmnmxFeq853aISMA*(v<`4EHQ|ZS|DlA$O-jwBBWa?E-vQsGQ=X*`vI5?Q8`>Fd&Y}!Rci^U*y|g+Xa7q@V84JFK?Ir%P(CDfb+P2 z>-ujVUM~1kL&BS_Xn3@B{_Ew1zbI?Z&C1=J0BDr0+OjAk?N-HW7vQn2#$LCVa`jO; zd~9BdwB-o9#(@8l6@Yfol0^;pF3zyD2usgAB)r$SvxrSq3g^=cIRM$=Mh%@D<~qQO zk4082E$(HLY;1`!Q}TMDq*gTS79BQe|ncdF`SKsh%)*t!r zu3GHy@h(#=oSZ`{X9Xu|JvI#G+BD- zBhI)k$fa57Ov^J_Gia!i12kc-t==Tiv@9L>&T-mPskzwy?9&Cli~7#v{MTN&jPkcm zpWENpD=%I4`lr$VHqz&*+utsJp7a2xi+_h)wL6B= zEp;k##6!S$dD!5Wq7JCZp>l?%_`y}!aGR58-zebUm(*=!q^2~7PsNUuwNuoehCp?O+Y>ew>%;*O&2gFg3aPTDHgp^RC$Q@ z7IvXq9-ytjAXUlHzu_wDyj%Z#+NX<9%}8((7u+vxIe-v5D5 z)!+KIPi)=)o3@GKYgW+mux`Vj%{J!O^g;F%yz`jz%m;X-o_YFFee$^{>#_Sc=ilo* zQD`0iA{V$m7nvE+yVg_V@}^A-@MHgi_4ohLT3_x>vTm18mtV?@z2khT`~uyG3rX9FcDd2Bg4@kOkqYGx;lk89p_lAc3P>5m^^4# zkDNa56CA(_hoR|==j+^^Ke|5e@6RH>(};h&>@OGoOT|+WaN6yk_Wk>a|8(h}GyzyI zm;QO(#xla?<*U3D&3AMH;5H1TZytVe^}RZ62fH35FJO{4h2F)|HTHnYHZTn$X+brM z?hxrfnPK~YiGVOzMB_Gfut>r2@Nt-}mu@Zg-59{KlB{JHE?N=PIwp*u9*7{1BA{un zJo=%us*pOcvPgl_Fjx!qJ{SiwBKIK<6VL^Yd#AUyOKwg?RY4Ql`a-R9(U+PYAkylV zvcQ}gIvdo$G_=Abgk17G9naq%|H_}(3V|oL|L2i0B`yWn)i!Rvk!~Mj7>&W6c3a(Y zf(mWIz3b=eOTXl%{?bSH|8~2imy?!Y6>v;&3N&zsifuOWAnUDfUFzN6c3uD4Z@`uw zc$s(t;-iBqJYE}-t>&)(cXSb@nk2o|*no-y!g_RLF%o`t)- zd*&MHQ`lDgYdMOHA|D?Eo7T-3{`6@`M?9~W4*k(-%>U}S(?9R@Uw&~L^S^kp^qso? z)209L;UzKaJm%-+|C%Lv?Zsmvny>aMn!KAUfU}LGse?HHT?%Pwp@~%(RkVX2jp2MTcTIb^{pHftfp(U8V4C%*jn^wZAAu215Rd&Dz6h^M5=HsT>=6b=$t)GhU?=lg}xttuYL_ zk7B!6(WenkO-rK*&Hg!CF`hrEwL%z4vpd<(rViWRCj5KqUj3D?|5*LNKYyjZ;8#Dn zH5)emUgtic{(BqG@KD`M7zx93B^`HIz$F_5m``JcUeWzVM>{)Hk zAD@>Mn5wlY@AmA)YZIxkyr~-|r*h?@J4WOKE%{JkW1RZi`-N7M&N)2!>@Xz2-L^Uf z^#Wt{ zrL2Y{xF&Y1C8NpX-@!(%y%IY8?fv^p{lX_+t9SkRpQ^XN^Xap%Z}zj0eDT-TTV2Uqoj|Lmq-dxW~TTr7PDr{b*r z5Pd{Qz`L#n9))@;V&3%DtNPv#JgP7LqMQ1H&)?Vpuepw--^0%R*ROw=ZxJ$)g0I@> z@6yo#kZ_f-`QF_|#z_A|=5GwUZRc!2ed0C^WO?qGJd4oIS2}mZ8VjSszdw|#FckD> z?wXn|lYsDfBU&qxDbYHkjTJ*qud+iHN?Ix_dsA= zET3}f1haDWD+1Ibg7{>|J6-xXjrU)A`8?jQ4cddf0644rPka57r~gzOoQQtw%`V_x zFBkaf|Bq=@TbbVd9v!>uWWT?+tEXE7cK|$ zGK=2D(uJMNPK;aNy!!1wet4R`J^7&i`~T)Qor{6%ttENtDb#=b@1Z{P{Muk;>bck0 z+oPadc7Y~#Jxc9`f{L$B&-T?u1Nz(Vy%|DZhKvL`kXr$sp(-MDqZnO>Vog>{?G0BJ zKSxTR?#!VR$B4f^f|W>r2i!3KC=K~96fS?pk?K^Uo!L$B zv{;H?CX}|1@?_zA^xEZ;-;lh^$2Th9M}K-_T>nJjr$4;?{ZDSRzK>RY@)xQ;^U2~i zMXP=Mf7SzR#Q?9jg5Y`={H>>5{>@p`cb*KaduM;Cu+P&4?En5$ES!EVZ!Z6Lt|t8@ zF9J+nLyV8$f)taesBcqCboMS6gTt3b9=m-8P`}eN%@ZJ3J{G3Ps zPv5H#{<9bAZ~mR<>m3{K|IxN@JYAyey7oV-I_eija$EKZ!9Hm?a}O>;zVmu<``cf5 z^@aL_f8g`$U;kI$wmFh+>hUeX@8QF>e#aLr^__qJrat`BOFjGaWp%+T{aoE;q2kxm za|10H){6-A)D*qpnT-&*MF#)F?_cYSf7?Y6c(uezgk6)P$m&@fYbkF-M!Ltesr~F# z{hx`OaS`M+PXSishzlyZ;@&KDnd_kmluEhNH3w>3u?ZAsjFrZqlOP$1TP{H2gq?3p z3$v+8v0-P>sAQrErkw@A!4EKT;kD5}En`EuDjAoI@{lap5->#E@HHK5vDC->cz99q z*NfZb|I&7;ZzKN8ZvUl=o$mzcISKx@%l$kdxH;mxG_HRCs$dLA`qa91N?jov#5Bxi|z{(30#8z^ZJMZ1pm*HHJurYiFvjO^;= zkXkZp-W2)a1_*I~?~2O>dOG3<#e0c9LS@b5hGQB8RqQmn9)h>rl>+;-i-1ERN*g7m zAhG8wUF1m^BGEVH57{)$A9}}UwT#l%b#BBsVA0g6>uZ_SP$wsj^qUz$$zK(m#pm0towspj+IkAyHE$pd{wW;ZSlTve_)WHLQGK@>##k{$wa9uC{ zD)a=jSU--)=o*pNL;1`2dc+3oDRpp@r4%*CS_eC?z%kYIrbjX7?Ky@CA)p`hUVM&W zXK>8*kz5&YFHE&g;sgmbfB$)xSyXuo#S{v0I(6ZvUHj?cKMDF?+=6&s*gE9e$B$b1s@ zY9EYaG7o;aajAFYsqyH`(sL)6-RL6$JLne(iAsx%rs&0>3}+MK>BM1?@f#)g#rN-J z-=7UM;<=@vj&=X(x!*^|Imhl`KrYh-kmYD)O@X@<1ozvf>3j(-#N_x=&<9iO}Zxd?HlAkP80Y~X=7km=0Rn+xE% zPoduToooF^zx&=c1>l(wNY&I(*Z?SduZQhBdn%`5pg~Tcc0Sp0A`zTSrUGQ#ZtFKj zK=}pJ1$(2FxEI~Z?vU?+0qvQ@3=dN+3B_WpGb|)XvoJg|vj=CjNx(QogDIF{7GBuo zCBR7&2nxeB)BXN2Vbb*(VdzFi5oi)bvc1t$zu67HQw{ig)J=ePLX=RbW8 z=HZFdcT(+do&E{xbAj?)eEEHqzt#{lT8A)r`@gHxV3ihln&iQ#qRJ%M?>XL48=%Lt zLK;a-BV~v4Iy}@3gds7K2T>1AkTR|X6k>yz9Q4%yjG|W}CK|va2>{Xw1EQH^#}w-* z8M{fl`JELpYR`ARpu4~O1k8!?BgPShgI@Sq%$f*F9lM%0JCe%bKpmpYnrD5>M8R;T zD;t(qzc^LQW;bdP!bobzc#wNWL3*Qol-bz$sEKff&O-v6an zZtAQ5?8oYJ-nOacAKq92v+#16^E?n(dbdRm*$U0_ii>jg-Zn*e?xk1jw|?>4>&t)V zFW+F{3AJ=VI2{l^k+ih9 zA?6v=%fC2@!uouF|fAePDyP8w?!MOX(2}*`CnQn^F9Kc~)GI7X|t>t9PJ9YDCQQvm)Zyi6k z&>fsE{%!1EufB8v`mB3e-+2^&v#;403mO{nQ1f6c@nUaMFaP-}tE<%-4JS78b%Ox? zB9QnVKu^Q0N*gG_M zr1J#FnH|}>2Sx$6Sfw*=^yoCtU)0(;^o#twkM9={GNJ!gWbb-Uzivr>m<1B8mjIsF zN$QsS%=>@lUi}|`=A-pfAG@w!^{ellCyx8@;Ih;Kdo1+vWS{^4dwZNv&=U9W>1z8; zuD7rEu{T%!Pyf}gt*1_f#%nj`~pJr-@lLg#`kg)Aa4KdL-zNF>f-UP ze>uW_|os=B)d;X)aZUcy|EPJT$Nz+^f_cLfFhy6wlqzcXl!24f8EHRz*wS#vK3S1AHpYTigN4lep4pTH>Oi#8#S6%9M}kjz$*BTMes%b$Jw56}DiWkd3E zOWZq+`Y+@D=g&L-GqLYb@z>f`1LxxSQ~+o*v1ABXf40!}`xnU8CDOh;=&nb1c3V1j z;8-gtb`<=bn*ij&ObC^+Cp`6WAct5^GQz1F*>7o=O>dMr&GhJOfJm*=ZjXK`n^GN_ zRu*uYnuOd8?PCgPE`Ro_c|oPQKtWIw`7B&|Al>S5z%4B++qmZp-GX!&%{#p6TExYY zo~SH)XgD+klg^oTct(O2k~D`oK!sC}X$^+>8oTz!a>$)y0GKQ}P!ZKKvIHh6X2-#} ziz=~uSTFV}&n!5-=TAI&RX_QWSL*Bj#>daXzmqj@x$5O{);dF{QB*`?yZ|(c^m!TyQ(#I#HXM0)nm&hW@dfqzk5|5_|T(z?$cN2 zfS;2yp~t3P%8f;*W9(k_1)arlAcB|OS@5PUGWehWDC&d%bgkd~n{ZhLEFJ=cA&*Di z5!A?n&{27aJ9T2!x@M+hojy^cBg97*y^}U=We3=}*C*}cd69r1UF#kC9Izw4)d@A^ zR@KN40V1~8G#iI)c|VI*DFng~nU}to?IR3(aKog#!^D5SmeqhJP}adZ;ixXWK19Yi z1Sjid#J{|DVey}1c3=3+<Yv3h>!tHQ)&(m)eQ=eC zY@1ZDYhKPT^^GBqXP?`JvBAsa_WZ8wm;S-^xT_!_6Lnye%h-o(END19sJh2jmA^=( zFuY#KxLw_2n`GxuunQ~$g@NM-L}3x53KG%P^VaDGB+;-p`S8hr2H}K2Zwc|D#aaej z;5@BW5J%*3i*Iuzh{3({&KscrTqO^{4k@7Gci%gR{-Lf?h`~fYFe_mqTD7g`VDD3w zL+%GSDbvQ?W&2tJEqd&rd8+UOScGtal&q(g?H2q~fA(kUrk>as0Hg$raJ%*;LrAVuWZQDFWB@1|LyPnm(GXT)fHNLT1&bSTiR({e}6lee*f>e zSMU12t~a31y%%L!%^VfscpU_>mD99A zJ>ACc5DR5<{)lyM38%}H zh09+5{MTu>e^T?G!+2h6Sl%;qXJ6f1{=oIJhTln;SgQ+Ol1yltt(}*!E+X{2*-zxX zJ>@FJ*lPTS9=vrp33xYcfF+}QePAf#cOB~^l-rapv~^kg#9+;IEn(ZX{U02R(uxDR zrH`zz!X01lT8j^zVx<5(v@AQIa#t=y) z8Icjo+x)~vH&n48eOGFiL_b{ZS!Fmj%(s6zgPz=of8X;DK3(7O-LKR;f5p?=`Sjp? zNt>8XqEava?7|DzpUdG-zm#=5YIJ*EU%rR>gJ1S5>TR3w@733?&tv&C#Fn`?xUEUo z`i;Nls=nwqZ}z<(TzyNB6nV(cd@Q^ZV2jsOO%$s_*)4*6;dV zSDW+d<}&T58dpHxoHt#{Ce zlcA4=HTWznV?3rQQus$Vqhd>A7;yB!tb1-mgG33<(g00n`7w9C|d+=Zf_Plrz^lcvfI(7Zq#ebdxoRt2jziuvqJ{-0^ zuCX#%>xjoR$->akxHYDJ*p=yuO6CT90YQ5Q^>o=6I2xSIt4hmm{}$LW~Q=zDZ% ziWRx;=XaDXLKIg+4mKy)ucPDGUmH1GN1-Ci4~n8pH*6x^UyMb+E}a}iN8br%B3xn@ zdD$4;oDK}wj}r~_LhfmXnsvY~WK!1y81yliIfIixltO4P;E}wxccqIm2N;W~%jv0a z!$id=GLTlCK_fJ7xSl|{Y(@=`pL3@zpM`H7V0Kf}F|3ze;fcxrzy9f;t2e&+>Fv3= zK8y1%pT$i>`5Gqm+&vs_lhrd4&L7O_pWoX`gzNhBCM5VRU-I_)55M?xw)5}NcKKrz zgidrUXW`x!Px^Z|Lf{X4=s`Vvbm`X5BtgLnFOqrRih#Y5x(q8Ws^&$09;fsAEt??l zyT9kUe(P^Rz4^_{rgvCH?Ui{2i)OYIkPka7L^zJJcCjZI8cgFLs z`{myWeaDmz0x0XT=4;oLQKq-rT#8ltVoh4j&2VHF45Lo7e=iq%p-wLG`XTz3`bC)i z0AfI$zo#9`MqM)6?F=cQ_!SH($wtlUB9@xa;u@Kc&ckn+0`S0?Myiu8AG4~A6l$Rt zHmh8`i+0KEbi5@ylokr8Hx@C~~`K!|A71Y>&csIL}-0Lh_0m8%tP zS@xg{$c3)tz2Wk~#lc{f#h|Pe$NvUM1g&=GeT8EJqT?A_4)_vG)P)&+(0sk!`bUGS zK)lNO+^|iI{G!;-rJEBk|Ej+3>wmsJ{E?e2Jm;cA!g8UOEx76(kO>)=i=N>8QKLg; zPMzKM-=4@2d=*vF8o;X8!)`4U=(6WV6_}YVYQ|_aF_wT%_Pk&}T zyA&F_SjPV52-qiCi%guLlK!Om*x%IVFVnB(N_)S zyT0#F*NP%>p}^4lPpKZc9Qx_f1>#4(Nc`DPQu_2qi9h`@;?I=dKm0l3C%#O4>B%w; zxZDc?MfDywQ6RTqo@{FSoDJcf^Qc?$xDSf&&dIQaF79jma1-G>l``670O_;;j4*%X ztTt}pJf@}sk?gn11VB9c(`7-6&n%bNjwqKrT607Ng;)do;1FKVlu?5%>yQ~iHSX%c zuSflu_eLR}*n5D6>49hOS;cE(iEdFA1;i=1m!8eF!(M@9CZ2azMZPp+mYLcAB^c$!!F7QEq7qCgVGbRciv_Dew#hp{r@XYJZ+^zO})z<2d(>-MP@ z0Oh~-`x?qqz&%nBzD;RL*({K=! zgv201SmFZ+(nu=%oqL%*2B-h+SBR%n1ij>TGJuPJrfW(77vYouPyS2fBA& zTjm|Ik|og0c;%XKdD~74EZ$GQ31ngyu%riR)o=t#mMfy%4mBvQnK!oC{fA5Jfg~95 zOb~Fya~eSFcx0jHf}*e{oMGOAxV#GXuN3#rcVF87-Kib@=#PDwt{x`3=R~H;97%}y z1z&Z-iC5@K?e)uT7g1LT*Gt3m;45B0fAib#Ejp*%iUP;lhcU0qLqs=29oLt!>8aC9 z-&+KMfB(mi>9*55*!kOapCE-3x${Z)%d-m<{kK(p{epr${=lys(aT?c!t_6Z@W;Fs z&N1k9cvZMZMnwoQa!#S?((p^Y?6T%*Re*DduteLg1Tmo#bGok=vJVt4vkpi0nF0oW z!h2f61qAzuX~tC@h$vaSDkg)jfMS-4#3`<y^Yi7&AFH8BEczPNUdt(Xse>JM;;5pB&dQA+^uu#L1W6!a>L^mIO^(_A8J4ldxA3 zoJ!D|Qq~GK5CICf9B=|M1ygyd@gW}9Tptql)I$hYdH?4Q=tCcQmVV(^F4K!1JX=!o zj+;jwQxn@kNfw>0>b-gB3$2;>Qb+wl*A9gK_FuZ6zT%!!1^RQ;RrxVVPu1DHiQlSU zuZj_`UER|gUw1%XUj%_4{e;jxcXAW+>CS&%VVN!XWhMwh12~I>G(>3ils#99i>DrE z`orHlrZ>I069QB62Z&PL$cp2Qj6e|niK)j01))X@6es2*kMot_(N9T>FD9QthFEcj z=@HiAQv!t#EwXFSIOGQ~CT_A{|F3%?SAZab9G{Em638He)dWAm^_gtId@#z|PZn1V z#m4VeS{pnHYUOn}U_DjDcj;2=^!Z9x^4Ef(`SuTM=+5B?)!8>Le?3fl{5A*?bA~AL zphIxtQa>#ePhQf)d+IzGk}5gHhHQwRS@iFi$Eu%EftuU7&;&#}IotO)%I>&L0dBzp zAiVSvVK1~2tl)uRc6$f_g6KyU5NKexx^V@{hK+B9sbpS90E?e3XmJ8>RVQd6AAV$F ztu-QZozCkM20itQT*y$&N0lx!e@n}@GofxPOe+9LWnntS>I%eON-+{2x*)L z9vwmX{r~p&pQPQ1Qv>dkNO9t^cuI5Z5Bz`a&?bT?>%`;I^&T&-f~y*^zX|d zo}3dT7EY*Q=J@(fw?gT#{_=P3=#!s5Ea`zK=wR{aC__UJaUg9Fdxp}SXQCl@zQCO? zD3QS*IHp&>w(=0DSp`J`4_`v!B$##?3kBI^B04sOxAnqx6HZlz1KY2oqV07BE?7N| zjaUj;dwNPB0dr$sw;>0~ub%>fJ5dOtVRG3Dy3V{@s2=?_MqA{HM#I|MbQ7D_t(X7TsIuoEkC^)Lyrfwaj7i-jUCuv`X+Ue(XhO_#pA$=;;88vJcXb?i zd}~esG}@N!&ch&bW1*GLfBg;$h}STJ4^bF)Ba<*vj=tK+z(&MmMhxZJ_NVD%9Fem@ zpFrY#zC!CmD(2>GF(KGR(2_=bx^mEYVkR( z83Nc*Bxq!C+s&o|C93!Mg?{UO$Mo*+JD?k7J+h>Az!uLob{*=l$Iqr znd>bKAFp)MG$MkRTUY}ijQnSD6+4Qvgm`_Ub`vRqk*Uq>Wt9fU4qOvbC!E4(MX-w9 zY?c*zYn=nfwyWbH970hM05s+e16KtMobVXDDH~CGt2GEg+Effmal0_+s9bWDtlJnE zP2z^q2|C3GdBn~Yg_<(=?@SJVEI|n6x0NUYr1i8W3ZT%V4_buhDz5zMDZ!!1+vr)s zSY!bkr&-hLy{9JOJ^gH^zxxvx>Hhl;%9lOt!Z+N;sMv7Fu))Qq%sPxN%7D ze$RdM=C8Vqu3sOPLKj*SqNatzb%Tx=(*mSYMcgdYgm=BIL=}JZkec3N z$mUrD8W5y+`sBYh8t0hB7fF7h$cJWn6$8t@m~}2V4)|cyk?7$cyX^ob^DqP-s)$LH zDgX^rQVDzU)ncClLOI%&7@KUg@4{SG9eUVW+h!M^1x;&`6`hpL><0WV4fB4?7D2}J>p(-dGV{c!TAjaTO zfGHQC+>g$j68i3UAJ9+y%yCKhD<#L?6U&kVPmPg(D+Hw73wi3K*owKS2RKz+5x-e- z0{-fMe^Rl~(T!qGkz}#k8x-zH33gku7<|KF@9&DgjZHOsBWr9t{2|SLx)&^i0`|q{ z3N~1A0|es2gE$x0f98x9hyPxA`88JCC6>8WtgHmkbJgJ2qyEZ4F?ac0QSx(3;47lO zI^MtZRQc~oqKjj{e^^!g<F(FcVz?g!{-K?WrvigqJJpB8y9S z?h^}`!c3cD3fi7z%nR-8m(ktRe&_&t5m3APsrZ-q?>O7re5?m+_s@xLJsY6wToc=2 zGA99ZL^t=qjFdPDD};GLZ*;MOmcp0>_*`Tcax6*<_A!Bz4i)DcU@aqDS^o?g5=Lq4 zZFL+3K$vXk&Pef|XsrCbpoPKy2Ks=prNvwU4xkeadXLgXr+OC%6!YVGm(a+*<8qw~ z`PY_Loec!|tOAV!Tno~;=FN8<90Ey^u%z%-&NT@@$GPlv1u@5-!$4`iDpmM*x~Tp? z_L*z+Grw@D9R6oYV{_O#Ynv#UFIr|~XhygL`?zX0Eyk)%_<6{`{B@ z4idzRt|wFig@rKt5G=tz_vf+-0xKc#wXa#|wO>v2u_6e(?QBP<4@bJ{N0Jy7FtIg2 z3wc7`GJlLR1-Pxy1|R(#)1MYW;MaWP(kzH6+3wX2*962gzyu+ll_27Fb#8N*N|6KR zAR3tvM&>dupvK4&GC&yEAZXPUAN}h?gniGJU$55`zTwlCiRay$ z)SPU);4;N z9q@!V1PSXZe`@pu_WF7VkiP-Tb5R=s_@T(+E#82`c5)Ew&5$4g|Lz6~SkRKfZrZP- zzYv9rNMP1C3TCbEN4FkmhD(}j+wZQ`7RqMU|T9CVh|ukP*2EqC+n01 z#!S4rLbvxYC7HmU3cUF{KlXU><1ghf-8bI9Mc4*z{m2r? zc3Uz%!00CCHQI!KS8vc)f88DQgWq-^9hHM~x2%Txj*B7A2kjNv2-AsRt9CmqC;oT5 zeMcYv#8J7wA2d53+hkNHBy6af0l^}LO!1&6CNf|Wm&UIO0{`HBhxE#?NwkzG;;Qb( zWW9_BWh`9RHXOY!V;AnlUbyG?s_;M$U#ULDMdkYCoD=Q|(yDn~kBJYs*}PXJKPq&( z8u6r2oND+62;L8ItR0IH%wWMOZJe}_I5-%MZeJ>iuiEu$>R##g`9eSZrC9o^r(a6P z&-3aoK84Ja1woKIt(6nw8#xP(`@u;IZBCF_TL1kr{(XWQ z>Ov~^qdDqNPwYS+D{F6HB@2eRpg>TJPr#FOApYjV^Ma_iOf2}^Pde} zFwu&;F9N%97wN;k022_5&aRSdy22b%qzEQXQBdYlZ%*@YTyAP-OVscCe(M?fwcox@ zuXy?Crp~vKtUoBQQ%wL*qL`Rgf4`Jezx^Q{o@Dx4|K&^Rj#FigdX<`$&YD@UC?NQU z{W{3DVV?8OVY+htdM^5f9lhnviQfNfMG$z;QYW|lP){=W|1vaCGCcqGep)aD3WS06 zCV1*(qRST&{r<1sq_=$UDY{Wa1`N{{hk2eM%%C}m7GAZziXpNX?2s|dAur7LKOF8<{s+;8PF@9 zV}B5nw~r^jg{CrA25)-aTF`kO z7H|0YSINcX@zLu{sTlCm#2RT72A(3m^62;v}nKnF+Ug?aWLGmL( z0hfXE(SuP!wifPTVjxaOWxL8P0x78_&a(?pw3!hM!mC@l{y-e!rqPL_nGE4baJlwS zh*U-UVNw78=s!MRJoE?Uz&_S7HWsB>54E}05{nd{S`#GLm4AFtM1_wPpa0vx`#yT- z*PScE>6=YFM}ZB$W=~*vl#JC5FzLw`m^KXOcF5l>+=6d=>yAG1;hW|6B{KK`z5b+L z|6~rucJL>)su?!9H%+6%FCG7#ckSrU{@^;j<{S2O#{;E+x*6z>PCq0rC<=@Fc}OTe z8||-y2&dN*hyWRJ;^dY0j4l${otY+ER%pD=xhJgFdo?t z8{aY97sa#!V!)m*+_S}#zCp$#TNbCpupgS6osaPh?Ozslb~TcAHb_Ak!UXTDH~cMqMQn}_?R9QJ}za5@aT zYM03*UktJpB}+;9tA)iKFFi&7-Sf$f8{2<^KYJ^ zBTWPmr=vmNKLdk7Hc~`aLR@_B!%bRbtJ?M45`pQKMv(i9-==vGa;ErSwDCEYf@}x? z@u0_b4m+@sGOhP`(L0mqG>K520Ej$lo-AC{dl;~U#Im?OVnf|{#JanH%x+w!@TGA0wasux@mwmN{6&R z2=NhA`EOh#q~S4s4=(VrSqJ72>&i$1V%qlLu6zR7Fsb54Y8(QDL@2;}LaoX$wIHv( z<6v*ps9iXqH98ohf6;5qKHuHl&cPalmii=XTboW{fFIA|4^VziV2}sJu&ilYIEGd= z2Sl$5?0Dz2#|9KJ$qm%X%sxJqLa4ioAQczs8COP3VGoQqAeaOoc@RHz^5l*lIe$n$ z{?kv<11~&Pv`z!dE6~wv@C_UUZ2Sc`Vg*0D~s^268|dn$Em~# zi!FQok#TR4wd;urBL@M5v3138?aH3s@P-|I_}>dX@-Wfu=PWig&2^_jfrdU{Jhn8R zr=^Lmq^$@hRj}?qZ@;}*8b3w!xj#Cjm%YBQ0j_uAB3ei>!Zsir0%`598 z6rG`?c_O$Kg5$>v|Y*1LkzeKabN4= zJrA4b3V_3ii+omqcKwt=hk&u>vMDgX1#EzxZnsIlYYb<&u`720RIsB<$r-I)fmJ=@ z977m`0cUVz#2ZD5%dzkjt>9Egye!8q8VFd#wEAA^dO$Tiu6{Q=0x#dfPByLw@Mhw6 z>3YY=KG+>I*(FfP#TPUl^9hfI<8u{zFpPc;G(gAU@02`GbqnkRNstN|OwTM%d}ZW9 z$oCR|qeH@>*D3-rP1qlp47b?vclCa^JC*1k{Ie(M+VzEQzpZ=TlW;(yl20@wEF}Ab z%{jYK{!%)K3s;Zm)!%R%{gt;(;vWZ;ZxDOF4hSss{(cq`ffaW}QHxhsB%UW zqXK_hs57S**)b7tk}*e`;?^q+?i{<|WYF0h84+ziLD`^Fjszuya8SRKcS&df2Ra1= zsC>KQ2Q4(bbzvv6;+M$#PVC;r@ z8*=2B#W-to}-`=9KB(Y1|<>EHoa zWbmRzfix6)`?<^e_~gMt&pdTNAN#eN^tIo4stCvT`uth?<64YHTQ*S$BN7~Uvvra< zo)X{`2-pcPamHy+XKnAb zdT1Y2QD3p@mC^ok;e7eEjQOjmZ;<+`cVBKEHU)p{^7nhS?9CL+{XDA2G@^Mr-M*vG{N^?K%CFzix%;czAUh!=qH-AyX`wZno@srN&I2kWEa(BA#d9UtL9cvM zA+$~wl@K|MVN4Qfgm5>?Q1~0oPn`BZLXsW^m(5zz^iMWr6Swj)ah=TfVD03qsIPYR z#jj6Q)c4f+!R0SI{~NvAZ#(^(z*nE7+(msdIQ*P*pbE-Hx~sSbZ{C+@Vx-+*vs(Hb zuY(7Jf3Wm<@=kDk-wyuV1$xxGe%$5L^ya(HeoP`pF)#>R<6yU#c+rnx0~CtIWGmAI zleHQ9ZB=AeRPZbc(k2IVC)UK^R0_4!S0` zPiG%3Tk*JOOU&&reBc@S@Shgme#n?o+#@ z3CV;Q<89NS9$VgEJXgAfk1kZ-{`r=~C(riXzSM)iGWkoFpJj~n$5@}n@7p!C->=rF zLNP2$Ad6()pZ02fv!_q&{WcF{9hDE|J@qj@PvmYI7Q2O1u*c(Lc>;M-*90K5pQZ(H zTJvz1pTtp7C9IFT%^+x{65Z-90Ni{9dY_oXvJi|?0+)`M4pa%L{nKg5qa0ffz7A$a}{0AUI zsDNc7cZD9$F#|L)OMLp7Q&95;TqR;-H~!k}or8_-{X-5eV}eN8=0r>$0L0wt0TtFI z*a1=8ql!d~QLs~qi%b(iLL+ZK?cry_wQ?<5cSVTz%+*Z)=%+8yeRm&}kL_JG&oL80 z5kKTm&$E|H<0hDLYKQ5?{SEq|ciu;@eeuZ_)!Rgc6qMiMcfPo05b}6tpN$@@YC&1% zM%3f$RqerzYkPYAn|Ack5AW&16BQXe3ivkmm#L*98kWD#KVfwQEPAjGH$eHdP6Vhl zqqpC=ql+ICdh8=N>4C33D64?%4$r9iWAyH`Y>evI@kr2S86xH-GfIPx`QX$Hc)u*rBe*)b>8dHb%xc~r4aGx6m^1SzmV{urzA;>@am5>5tYTmCF zSg$5?fw;nQM^1=(3uyp0)cWzBBc4>393;mu!W4JCaewBftlOGO97id+k9{R?C`?|F zv!*IqIOck@L;Kne9}Xq--*XhCksFzd&2y(A(fgax_r>0uEL&nr_HGRIwo9aI;flpC zSjC}JdDGpwu3%#Ez;2YQ-#Wv7Uc!z>d`FQsV|dq5O&;jx5y10}uHP3#eqKLmBgn)- z-pD;1=j@ps{n$T$iXML=(@P)R(e)eS1|yL34(o!%A?1+zv;e0r^);w;zh|!<(pSFb z9R0O#dtvj(S38m8y6Yr|!)wj}&5EK+cHut^AT8IFpdNwzBxxp`z4h$}^s_%+jC*Ad zkjBk)fktZ?|IrvdH}T(ieR-xE0Wo&)@khYEnoFiB9hl2PG?WCi^2_pdTo zs4Ml0Z(r(8e|Gy%S3%#?BqgMWE5+~lSkb)Qop#*GczHi2hG5kbfypjVJrm-=kzN?^ z=kq{K2;m{v`PaSpu?6wKq23N<4C0xG{T%Br7Q@SE*VFDE*#N{U@R!gP z>JXyVKA?QkMh|v1d_pI0QXk)4De`KLqFqD#>km%R&8Q^e}$|lVFr$ zN8R!lXp)VX9`ysmG}KYU)}ADfB%TM{aD0gWckHauvy1Z4sLpDI<2gs-ORy_VKoXQ; zbBj8M5bw_3;zt6hf8qVPuYoqF7y8_nZ_@wy^G`S7-(e9^sa1{g@c%;Q0kcnK8#j%d zd#5%3ZMFB+Ztdu_(BJr;`{}`R3tcT-{@sEr3x=!%d}VXER(TBx5YSIZ2)c4BsZa#Y zIOb{#yn0Lzy>dri`$ndZekjwOcl3g)PCu5(To0R zyrw|$$)5MW-b(W7HFbrrct_F{Ko)8fQGxSFweCInIHjka>}>vP&-8Bp@TTtf`_y3H z1D|B5`hnUfp&4MO+y|64Odr(J2g?4gc%QG2xGuem?Q;9CjpYY~ryugY`=8W3Nw)tN zECMJ)L@%4o4{4wCzXX7~v;nRoeh!jgXk=0X2NDz*xPqI753Z(WA)e_LB>|3>&Fy!^ z>`Cm9tMfuKOly5>WM0Rbcx3$8no1Pbt%l5Ta2E(W?WDUg8Zr~T~0Ll~aBDN|A5ok%eCd4@Rg7RM?I zEZ-|M*x`CY6AGH9op{Wxw5ue?uEuj!I;E~nu36W6nt-wZMWDHx>de|+6^Z$4M z$zuh2R#^7CeS@Fbe&0Gq7GBM)r@t97#Pj;8K94(Q=eUZ;F?Pzsd3&*$;n_pyKOhy6I_ z(Qy{l>z@q5a-1QAb_i)?Y3qAVlSLwkwoSe=FL|uyd~(qZAhX;1E_Pg^$CF- z5Yg$wcOVhY8Qd``FHpMH@fR-hU84V(K>W2y0hH%RC7g!@78Z{hktL$YKFOV2F zziyJCT6VeM1mi}3u&_t2h1gSEFAn7{PPGG^NC2dR_H1=nh=estV0^ok48{fUY6TPz zIE1FiMx?Z6m&flZYofvY`jz;1rU?Ij-P1#b?g85HC~9y=>0 zUaO7cxjTry;cX?__y0PiyY4>OJds`fKMwmm#esVj|1HCBZbHD^T>|xfUT^H>`Q07V zKkw+_U%E)I{NejbU|KeSPZ(cuD2(P~CpRhJ6|l?2#ZF2aV1NbQf6gY%w86X}$05OH zU@G2e)zyn<;Ijd%Oh_0)j2z0h$1iKQUsU_)Qc>@pFG~LNj}}qi#Ukpv)DQiVA<@Ej zbj&{leX8Q0d;P3hiRtW^hrLZo_g0upy%k$BpdP?EoA_=D?W*U#j`!;{D|Nx1?ey~q z*_nxaq8@#jke&hKG2jnd^O$BQ-K`}Wk>^nzpHQw?r5avy0+foqqw{%Fg>Kt70JwsG2cDV6yLFB#*=?5)|_J zG_QEqlt8j`=~@~N<3&RhMt6AVu}@#|fEK6FMbTBvIsoeqqmWCyZooAotY@VY(K~A+ zKZk+C`Y9F5P+-jS`gt?UqL@$-x+ptHGQ56%BlWvF#(1Huh#f0%Wp{h6TH5ewJ7)Sc90c^gfKhI*=I39WbW!!k@c$76^*Fm z5BJq3>bqXb!@}gR_C0#)e1rB-3Fe{d=P$ee`d_E>9jSt!2hvco*eWRJQCSCJpK>Ge znysYM2c>v}g1;u~%^2J~z&Fwk{i)vX3jR6bAKI!#EOcj10@T+(g>?j@_wl%@J_cY( z)5h0Ue-VZ>=lu-gWCmAF0%yj2EfP#8XZ{A*IVV3r@9k4esEA;jLf9&&&&JxvcDLXJ zK-}0_T+}Oqboz}eyWOZw*he*$f&N4>H+&rw!O+r4U;|)B*qqpJuRcXT_|AKZ3+vcT z2fP~+f=eRBhypkUWXlpTz#J0tJn6_6zXGx~J7nt(`I!E~J5SO3ezM?++bt%KNi8b~ zsO1I-4O`$i0|28tCjpDF6%D0RJ$3F3J^F7i(JNkYW@sw16TimCZ@QcuirY*M`0U+u ztHeq7dO7Yxj2_14lUJ@H3Vf50C;@_^4PB085U|2wQ$6{W)YnG*kCy%Z`Nrj^7QI_y zcMlKSq2CJ9y5q0@eHyks$+qfj_cd?RlTf^}sh^=kh5(!~A>g?OpDKOW*EbG7Te6;x z@@pv1uD);gu+tx4rq=2ANyFUlPo(7Z`O~lj(sYcm#cR)irJm+(PBL|oahM+JLC+5O zV-TrXJFwmRnY}GLp@YCrm>F{kQt~vh`se5AWZpgBCIAXu_IyL-fZXlRldtWO>Noc| z$#u-$S+HW&3kAEL7yQU-*A4?B78mup3g%%?xSQir0y`Fm9Xvu-coZ}`sQ^#?j6Yr5 z2{(E=7fK@=Pk=wjm}RA2rXWoB_*g6qJjs)RA8y}v6a^rhVi(qE6A%fMGPght`&W+L zDvET30lSojhzlnp_)562cHQ5)pd?-=>hJ=7$%kJB033cbCro zh(Rn!zBOSTh5dBBQP=77i(a*(SH13-KL76vx8U}Q4Hk6*Br)W7n&d+b5wg#tQ4}o0 z6J8(3!MU;$d8{XnU9-R*n}|JJhWP9lQ@izVPi z2yH}hlMm-`;aM06Hm4Z#z$k!;RPem~Wa;)Ff3)xRpMI*1{@bD7y8Yu$^&7wTjz7b_ zWQh7&I1R8z*sG5%b4Q%^W70k~wt42=w}id9tDmF&!N0Fv{4zsz@;J~%yZ<%~SRjQj z84p0FC{q!>eVng?XC_+dkrPZX=M-@vn;4D>fUqC);=#>cq@g5072YCm{*APFoa8O(6nKtPNgi;eu}o0Vbay~=bDEJ`pNUOYv2 zT$THxNIhK&fPeb0o}{bSQwjX3hhH*rV46pNwvG@cPT61(?%J8!qVvz*q&L0o9(u>? z&KCcBC;q7|38SP(VUwLJjW>z*^MDtTRfIi6Tsd2zOS+UWenG{w

o$z@A?F_7n8z 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

RV1#X-($lfQgNtuGzg5< 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%0AK=IBJ{v}e=3;NinI^5)!3v`ag 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%0D;gVOI}S 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

ba~;r3uLw3HJp9)Cas|2!`X=F&Tnf4Y4qtIFTOI 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�*vNXmFgcQ$H{_t$1TGFZcYaHz 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

=dOQuB$Dk3|3@zjwuMnql{#Q}T%n1X3oL5~Wx# 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

I3pWsEHpEr{4fIPD`=^!Eu#%dZxb3HQ4?!Vq( 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%0DjV}z!; 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�v#lEgoN)y0ZD*|F@{ck|L8?gS>xEOA;V}o?> zlA`$ZcBWpPd%m@W@<{k_dj<8Arf@8d9qhUEEFP9o z0e}p25Vt!@V+Ij-XdN3L`DWj{#m{J5VbP5$AvK6#16ZZ;*}~DjKE!%Mi|KA;1>g=b z+*Od!!}N0qN^8=KZo{&EEZLd+Cj^>rVmTcA!>OP0^Pi=A8I28CP$W{%y7+%68Q#yi zmk5$8a0$~E&>df})e(+>(Me?H=cFkuv<8)aRKz*VP3_4$)YluP_Z*27FO^TwuZU!Y z6z|@U+k_?ntj&HH(1OEfd^#QWdJIgNCj|2)B`NCX!>c|%H{Yn<@tHa;wIi=eQ3pM1 zsSjDxE;xFpCxv{C-~T`~E4D_ne(b;eQ~%~{yJwF7ovET=N;XALhi6SPKaYVO1cINQ zdQS5wMb^S90VOOMlk4$7nAdEr)#8*SNVN9958M z`-wE{ryJ<$)(sCSpJyLPHgvsbCPnDLJil0d0f4S^8k}le=fl6u_oaw;DV_SnaFC9vf+ukmF2NMp=B z#|&uV5oiGz6aXp6+F8C)t5;EIinVqbC1$Rs*O!%4$yJttofajW7JH@!-phIR3xf!t zyH^_EtVq{SqkV$tdQm0kKY&YLqwo4r`!fXm&h;TP=;|y$Jl`$ycWf!#XGWb^$>SZV zvHr}@_#yu@sqMJ@-oB&!>a^BPA3H5#Z#f~mfOzCCo#g z0LP<4*QNLXhkjqtmtYPgZDcqxjJ+$x7tiXIUgA#vxZcyTt780${BLi~peqFBnhTF9 zh5NOb8ek6hAs?$)4X@sN5H1=e!5Sl2bX<@6LWC`c_t(O3zrz0X&KyN!o^nxxT^2W#( zeBEWydax|&)}XBadmsp}g9r zb3TSAJEBtTz!W7xF|V3Vy@xU3E{J1}JHvh1^e|kcuRz%v1@PF?v{M1x4)z&qgjt%M zm9&eQ7Q?u`ug(_|rRITgSx{2C3vxBWJSi*=Gd4h{zjQ6_u2l~_`p~H zG~}*rg0;c1(NF6c492-(Drrgd0)eZNtX5~A1wM(%n)=APXP*Mc2O`L~EQVt-j~w!T zl5zHVN)(;F*>QH$f#bgKt}=FGw9mbSTOjR2_*&(V>(}_pWjqKfb7KgvUmfG#yI+h= zqK{4D?`)v1!x?ktR zQB4^5qRX_~gW$ndgnEe)2{X+nl})(zPP_PAeY@KQxr`&l0|@0`i?IlHW{cqUpf?CH z>mo$EA4{7)*`;&tpj!_{{#06Z&WB9wljHiwnTVc%@EtplBt|ICv)>tA_oyE2`PTJw z)21F6xX3Rt^=t3_09z>b0GPJgM)%t)e147FK5p*E$ItQcBu=Ep^GY`B&3V$>7N3LZ z6rY5g0@#zrykG~O(IPSzZ2s~>o}_(($oK`cqV736^Z2P9G^)q*-udDj0u%&VI@h|) zF_%YOxE~{8?bSNs@2qR5h14vm{TtA8_D`VGCnrxZn8t0XlHVzb8& z#=yM3!qAn>)qrt@Mx!mW2{^~n@ujxS`&j#>nEgAUC=(jn?uML>A2U%+S&iTmMtl&F zigLCIXx8_N^851xTt!;(yrAEVgZ$+;cV&eGzLN*a<1Us;o=xq?pCw3ThUVM?4Sk0U z4L$G$QivK@Q&!?>%QD-;qM(!B1gM3ww0HZX7Uhd-UB9Vr5 zI;YQ-Xyj%g({A4)b;)OHAYyp|2CCx&7=+Jl^4`<$$0%8icKdTEgQC>&{mZ#>mp2w! z%8mGAA9nOd&Iv?%BE6ojdJ%5=&Xv}YC2uVB%wCr(|I*6k)q2V4iEjs?*KMACQgO9? z(#pYd1FvKB4all%O=-j8NyY$umIuQnTT;5|HjUI$Z&T-j*Rl`3_p*+-H~nq#4WG_7 zC>n-=*x3Qk&)!d`8u?%4DB!aaq&4%$^KgeHlVv+^)C*GEyyJJ&B#QDq*Kw>qJ#Bj2 zShxOFIVw)cPUSMg^p%a8vKquJ?nVv(*|{NMT{`2)Tvb|g&e3ZNzeg#gxS*cEva?J#yHF2qByxiWmg+X80g}V%y&}rQR_!}v)B8i=t#JCtbZN;BsPvZ+iJBB}m z|IMt1N6_8t4TO%;ao&lIso@=m2-Hlu7m2%K^?O&Pi`D#{5!b{<-s2C$7oGz;37H*4 z7ZVJsS503^a|zD<33Q;@OArR?4%7DB+^vP^)8j*2uf7l9WpxQ+T5DM;a_bpBqN^I9 ze|G^O)UaASCEOQG5=B7L^cE{`>2|xNIx<3an>{sp=luCt&S|v`UbaJ<5_?(t$bB&b z1znO7+mpls$z;bDy8p(7KrX-Lw+Eks%Cf#q^?Mw;B!-1xReau;LBbF~R1JFXFjKVL z@O7Ad-{ocXXsOSbPuud+vXSRRYNn2N;E3akGwxx^1YH08Bf~miWX}iyS)OjXST`tX z^@dh3+Xn#Eel+m=^jf?~LFJ#Vt`SWHb22V1k*2# zk6J2eJ@mWlv%~WHvk9+dt%mGs0ah#;WB-1kzL)KE|D=%~&rS zWCu0KE*lzmd?%Q$cJ~T58$1*nvDvefomWi(E0QM?MY?LrvcD5%Q#IuaV3_@Ub>smP z&-;IqjLLm$*Jgl&Nc>r8o|yUsAer049LAD(xo+`K0AGJRu>CT%RPW4~nnI3OZ{NSe zfx4mj1WNm=Q#yi?3h&qpNxc;fs5aLp4m{T~Qu*qh?Nu$mVJ0}F!3ZDy-&9G@X8$BM zxe+w{p0uh4LUBf#y#_i-hHAIs2c-(l^1|`O-yOM2CCWu;LGL*0>#(HvZNrt1?Zuw(8s;`wM?>y{US9Lhax7>O!Dwc^sReV%`G_T`J%ADe%72oIiIzX6#FXZAN=Y zjE+YqG^!exnIp??rkNA#SB6dGDVti3zyY~Ya^FiSn>szLl(*&6&Fqs8z27kK?ZB^^ z4N(Tv-qy-8%ba;%x502JP8@pJH6EIrYT14tgj;XkUooj&#EMoREw~3FJZ;A{b-c3W z^6PZk=M&B2gh3MYpewFfz#vsoXMzAiDx^j!?+oIZM&?vL`j*XNYhil)!|CZlip?X( z9wewi?JwB}fnH_$IavC0UoKB?`Xm4~t3K8iR(=ba83in-fE2!yG%_WBe7zc4Kt{W6 zp`NsA*X+kkZM^u7(n;$RhGa1qg01mr*i1=5slLirumeFC6hA_W7%cID zQa(Q|`v|R#%${y?ukD(ROGUycKZ34m&A*&-tZ#C&j#fSOA7`9kw2k~nc+&eB(r*uLS*+Cs z^tJ#+CL0iBF+T&%Dzp{1J{joA_V`7Qk0%=EE;c}QjYylV~PCT59m zT}y&CDR;KbTqe)ZtH}=55;FBh@gJPyEzCO3g-hy=>_Mz=FKGckknr zWU9!^tTPWYY zKhRGrpSWYK5~L~ygP7)|ux3w_&^k{Kag1~E?GG2y)lz zB@{bj0^>NpZB^|S5Q9l1>zi*OH&8vFP*`W8i4snK$T$TVYrv_W8+6gNwAdso)#R=z zb^G^*5Zi^n(9oC7HbB|Idq5I>R~ycFdt#g+Kl;yQif%Dj?0q)kyQnDeD2~(I z>1V?qZZzMLTsi>}`=W#rx~UtML!&syZkRT&r-eBk0v~oQdlu;j^peI`z+$k?5@ARp z!i`@yCR@8P>!ym*qDG^vipN~?G52PwDNY>ODWyG@Q{y+E3z+|oyKPPhIJN&$j#jb3 z*=g}@2$s3eS_YLBd3Kb${wDUVPwoCb$MjEh1kuNyW9zw3@As2_#reyXA%QCH+v*Fm zmWyKSfU6gP2q18i@GCvf{vX@lT7O(68mAOTex*I`eAHHR4={W zL&`0*a-}73BhHj_=`7x{Kk(Kv=p^BaeTfL<@x77=^y2%H4}Z0b6*~hBCO(L%De{?W z4$EQ4c>*C9W4QWy`Ml2?NoEInHF1Rndj+g_Y0+kBSs&55t#=_0eVzhL`y62JT-m%7 zgc$7r*)>ft`=VMta@uBNN|gcC8u@4(_4xPWxBWhc48)<6K{d2N<0olT+*t01Op{1a zl`x=y`Kj6Wgc|ZFu}pGLrwgNbUR+lY)eqG-s`$J*PH2lE7CXA-P3J8>(%!#&!g{JO zpQgQ78}y8UYfnSb_Z`mp%OKtgH)koEo55e&Z?Pu<+weHpjkA;12TXQH>;P~;>NSYQ z=fD7UlAX_xPoxY32tG!K4`}=Ix0jf@j7&-~R~fSV()j&k+?;3yMJ}ZrC)O_5Ij>#~ z%vZ(rzTDHVRN6*D5GPBp=_x7dpb1t{q! z6lzT#tPYrYtRAEF@ zUUK4k1QOvbZItlf@PYj_&vsv!c$8K6AiIAyoNczHvb#``T%O{+o-5QqI!Zka^|TW) z51J*%lHED3^UFyFz)Q0boe|D;J`1}$s`*U8@ZH{ zmqY48*+Fk1>L`82`?nr$OyvXVG~|m`RH^O6AlCsEdyFXWQh%^7qeKgm``ce`2&7fN zyOC!6n0uSTtK3s54eB;LyaK^cHSI)*w9d7)wjjB_0GyqZ3qD9Yp~Abbx49=$9Vt2N zY^%yGM#5pUy>abMBL%7Kpc}4ZcxxP^a?%@k_gWfLA2n-rAf-k!q$Vq!ue}^zNn!0W zuS6=;Uujdh@lO|Fgg(1d%D58PQ8xKBJ?s>tweKxaq+S8m|rOnguxAX(lXRcm@-a{dDu zrDTnRNK+*@eAGkrWZhK7gM&pysw{)v|4k~|Fp$qC-Dvomjpv9TQ6-*7t*R7AtH_@+ zA#`US+N~bn=w8)|i!JVk_XUw;(Wq$$TzbcJP&h2$I7rcU6I$dYP<9 zRpK?dcs)0zgi--JqiD}7@XzviR5$_z(+nX2*FL^@*&r?0{py;1NAU%UeU1|oXq}8@hM$_QClgk`4B2{W!jX@{fe69@{2_lplT4is zh9#*10Z>mR(f!%0>lH4#v_wJ|F>o_I9ETCMrpew*0nMJGU&J$d%r|<9me5>(TNbvu zQskUmQB#KfmVGgo@+-a9M)$*is15vIDOO2~2VPc0>CpMh4_6&D*Zj@|ySE2jCBBSB zrrlb+e|Bm;cc)(3(UMbaZn4esv-4X3*mYrH_ zweY_V(@job6|)yD*~C}4w_}pif9Jx%kv6)vs>C+mFY)^_k2WMyW$n=1_N^`JMuYGJ zpIWb3Rk+HL$P4_5!-8ujs7qC1sG58G=5TOj^Hb~i;hOh5S8MH>R^CN4KU_lwMYw6v zi+v}BHB!LY7w_)mh_6AF`2|MGf`?U`g`laMf?0ff8o)_}z5qEbP9kwPX}H|#j<7JR zd6oB@xc{fNtE5>$OVzKnbhqizGl@f9U1oc_y+8aJx|=j~&XS!f5Wx`>R8>VX#Slz% zLIdG>U4(q|)*#o8lCX{zTmIw(^Db-u1mMMSTx2^7mj*l?3GT=yJ0`h_>m@kE+w8EJz^SVIS z5l4{d>}f&XT`?0nSp9Wr#^}-I)_=G}8Tg`^bYUvH@Hau=kAJiH7!7Q}OOXV;0wx_Ot@y)p+sCy5}W+mq+ zclKTz!;)f{O*d}dZf&CXq-R2p+g$I5jSOb%%-Ey79dCGGoeFBDv8{lwu(B!&SWr5G zkS4g;_^hs;VOA5K)a?V*GQWa7@5TSOz$jf)&J}QnaZY2#9zrv)}h6Rl18RP;r$k7@*`J$=rV2 z1wMWewxfH#IG7R;fKqbP_W-kb>HRPF{sEJ#YM`QHmQ3a#OMKsz%ycLD0zW1Fj=}#Wgd3y)+lf*9TSRR_^Gf9qPWQCdNpY?A=5b7qnK$tu>k<59Mu&BIP6DOphRGm~FD}jpWF8js$x}fk_L}1Qw=0Hw%mu z6`r;>YgibIIC|1fq(Dcz-g~ZOOE2+1I}8NuX&o=QA*Rb$1}Z^+I_(O7VzU1s%)kPa zBLHlJ1mu+%8^+DVG%uPbh6`qA)qWgzTRV{?R>I+at~C-c-VPkJ?0(3Gk%1~R!jyD|(DPa&9Wal7}O6N8dgp4&&IPB#7E1R#{0L|bR9SueI;o_H;_27lnTIw(U+lOY* z!@6LtE@1O=ST?P(OXZtEJJP7eXU`rf0->5@&mA7bm<6;`j>IQH%g?wnq+ua8maB}5 zstgD#S#c33F&y=57e|a)a;@!P&ABJv zdfe9$+)2aZpyBXVhI?H`;X!OrEV8ui-QrO38zb1Kgi!*@i?nw~_rG^S?`L_UwenH= zkminglF_+!*wcPdpg3cJ=RXN&DMC!LcI)y_=R5F3cxV4nQIL6Y=8*Q*-t)QjaL=+F ziJ_|4@(r z?;WV5c|f_gCv7C6uQDenZiL9CUsO>X9=M$mc(%|i*O}POIW`WTTN*0myCoENySOXL zTjLy54GL~zdv)IPId_G0^QR|t&ticR`dr1&IVrV2sv@>#gVnk<==f&7K7X>2b*zdx z02*DvPS#Evcr-7Eohkq=WPD~{Um<%>B)J~+w(s0~eOW{HzZ_f?irg@m(VBl&>6z{Q zk#7R+*df5QeTmxVSWTv_T*ULvtBqTmBuv}hI=}NK!(8?RMD;ZwCjfFB_Z>MmZ*JX| znzD>M-lRZ@_LuyKlh{@fLTkP2LcT-hhs*C=7Y8}IS-+%-fT+jy^9m9qn4b^zAk{vi zGeqUJ2gA?6q=`YWa>J@Y9dFmwNFy-l`H`5QtZ+iPJ3;=jgbnM3feX8yEG9jaOAlyr zmgxPyob??7%e-{@mh<`R%vuwy^v}z8lek@5PW|m^ZJ80kC5T%jZj=;UcHmuyHYCxO ziM7()vt^%li0jVcE6woHNJpb>+{V`MR&SI~ zayaeT(3@*vR;IN9+DtEVg|9ZLI|6gXZHS-R!lw%?^4AXRyN+`ga^ zE7O`0tq;Kj-!Jd7PkGz!P1n_Edvtu_Xw>!l3Mm4Yni(2#`jrOzm3zEwXFA*>H88k| z=@p-+`O_92W{e#y>}DvRRXo?Rj`TCK=Ll^W9&&3?8&x&P)2P_JJ)3f9WL(Ux(F6cC zh@Ceffyw0>|6E=uz=MsI$CDHC_acp}xyG3mw0H7+KA@i+Y|nU@mxrB@`dc`Zu7kk! z%v46kCikI-rzHRWr%(hy4=OYD$kwgELk+)f`;+A!wFfdsm*s0Y?y|ZJv{1)ZKI^5# zMP;Mb(qt0*Sx=b<9%gFSB#ihH$8uo`VcM2vqk!+JXXo)2=poRfY)vSqP|43X;?Uoh zt%CmQzA9-!^a2yG=CpC0N9$~LW1M^vSXh!b_f%jJ`n`uG0B}V4!A%UWxINoK)r)^K zHi@PqB^}cp@W=?3w}E{68e&!o!Fr7sWA)Tifw~lBGulz1RlVUJNjp}Emt1H7#nT)u(a)1!KutMsB7d-n?cV7SDHZNL z70qfR4(707#*k@u@@U;gWErT)qh5VV}2`1Y;-jWi{@IkL-C zB8M$qbAiL^Q~B2)zqwhxxymmdJ1SZ~DXaG6R-cWa^j%=Ppv^G2cLS#ra2{$n;U%Iy zla(Z+she(9>>8=3u3!yEo9C9uk|o3?fh0_@4;a7cNuC;?k5a|h@NLEr$@ zv?3eM#0a#WyLLuEALAsdigfJ`x;pj8PHbaQ-%~k{6(x<8d#J_jl|&i$nCbpy_mq)+ z;pIPyiNja<&T|XK59T+1DyMY-H|H+MH{W~%G-n!hkPO(8W}J=JCodQVQTok5%+zb< zFD;|E;wGRlfZHu)deb$^~xJ;%C~%n8Y+JBzY_WCnZ!gM0v{yQ@Fhx}y}5D?sB^I*YG3MgTM*d$ zDT#|sEvJX_>m_r=>uv$JvOGJ->O0U(&Yx?uV^kzYvx?0zSmV};Si|?E%X>=rsd8)e zSN8wdcz^8LH&WL4S7J^;zk*oC3pA{mug>RVc2N1X76$|Fr$xj{FS1;Z?-Vc9jw;Xm z#V-@5apYzdhq5sW2(OSv5-hcUc6VcvAKtQfhIJ>FYyDW1gXPkUUr2vb(?&E!cA_G* zla?E%4BvugX{A|iYv>7EOTZ|lLZ#PI_6LHT#kD4_VEjXYFg2=yBlea}yN3P27xb9> zG3Nhv3w}aW6*Sl`P?owkZ)1iFstk1?jJOUT@y5<)yI&o%X96Qbxh^@-WRf*|7gQ=cW4hk;rCY9G>3G$Y z7F9KsL|qcxg4@J0-fpB9@bL`Lj9-T<)PG(mgo&ioZ-oc_4^z_n=?iqXw}t6H(+xZF zTr-{a8y|f-(SlNPU&?bj=D+#45!GrXORRWDpMwS3{|e$h9e=Q_K0)F<8a8Fsh6j7` zd*IoLfjA;5Ym_>ZFA{GScL$&_0gtL2_td69L#!a$T&2shlreICWL|ITCqUSJUohZeZahN{DR#T8Yhnz_Sp_P+rd+CS;1apBo zhXCz86apEgeXxSAi;D5#m+9ehV>YXBX@0#FB9ZIlg;n;5yM20Qvr5eF5UT;FKRgd6 zf|U*)Ek~)2MSQtxJD`6c@m7+?@0kQz!M4@lw7wIOX}>MzEBw}aM4MO$MUU>$1|I0d zB2qAX{9vJttD!l#n>lTrS*+oGXoHZGHLzI4mC`IE>$f1`_HbB^1aEFeZB`#iCf@SWisHy@W}s$v zI|3JZXN!~@rh+tRvXZYA)lE1cbCJX!E&AKTp5iI6$jF`uSaFS9dm+5~bLsl?gM|&0 z#{8QjlQme7?OIxla>*kpIhV;1>|3QR@p&Q8tlOA*lw7s0Q}u17Xr%rtt~UWD+yfB3unRmLyEv^!$-Ij6TqPB1Rt22^vuyGm7 z2UPY|Zh1bv+MnC!1Ko}pJV-Lk0E(H){Yd)V>b=yOeUIfczY7kENW0h=NV?>U;e`CS zm)gN;-Y6_-;xlB7Aq#4Yi)($CEw$*#7!xMdA1F=(K-eE=oOZM3JKH|!Ii;zAKo{Ks=3{;9bP-JmteN{HYU&m~yQ4?K3;!Ljce4&qZ*TaI=OE^8 z%6t%vsEKIR*GD2j?a=C`dkXqkGQ!S%{2niFUgZ+& z`T)E+Xuq{FoE-V^&;5|=Fmh&k3T`%W*3Ly{j4*456$dVIZ{#$)mvZ&#NbKGT(6h{M z9F&~8W_#7d&K5U<1T$_*%!)>|gv^Cj+>VOS%N2p?<6+d^i?KnJz80E`x4JHNNJ*J{ zt?nzr)GYo7<^Luna2x{WcR=cA^*^R8`t^9wh^*ETRg_4R$YmKu;<5uS>4%I}rj zgbB)x53KPOu2^TgnC9n`$wt%4QyJ1=(0y)E_6Nx#K%`Ae9s|54CB+DrA?MbX5BdI{ z8Ya&>Qe~+EsXXf*e2eVV@55Sm>Ygm~$$NPZZZC=||MUAGAf`$Az5n@vv&6Gir7|vR`Q>jKE~<%1YYXzz0O~zDZf_Ljvp2Jl z`467DL07^|b6zT7{*^H{$oIo}o{!@H8?@=OZI#TM%MXg0Pq$!eL~8HBH6o zYi+76o`dVupI^WF?6=f!589Ug1L+_z5bbAOxLQT*$}Q{e!R2yK@$B&??XUmd)k{>l zuW_P#2D#PnJBe>_X)Jx7t0C56lBJn9)2M~(WwFF-q#pY3zUbbo$UDeRjr-Ob5%iQmsj=k6PepoKg{Y z)^QMs>)z-Pf`Z_Hm)c#H9tiggRl&P_N=cAS61}@ z_61;U7_ZJX7OPg4ogaTqrr|7^3=&t%myqzMg#Q`e`H~X9s`KMhBjKMd(D#JxypB&^ z{{GDSd09(RdGs$E9jxsMu2zN1rM5X%Dgr=_?|c%r6vt;i$!p%sUoO#_AOg!+KVOE7 zwbnD&mTP{2mMD^#vyE57%9Be0;^IsP!XN)ISy(;MUHIM8v%LFD%O{jp{9j#A~^qK2_PK zKndV7g+6u&w|h4Jia+Ef^pIn1^kzTI zU{y^-Sx0mZYgmoa*Q@r41M$w{jO|5~8c+QL;1o{pzQLu{FpuT!v%Kg20eb)IzUEv0 z_Nrr5xqSmQUeRw48(>;J{qEW*-ToZw7|QkMVAannUqMJG{x6Sh?X0J)Vr94em)BPc z>^uR%g``i*fJ=!T{EqJrM=O?>hx@H$Tmgg98gp6yZ4pV($vRR<&(TFD#WkIkga@R1 zY^;mPft-o0)tUqn-t_UTKVVKi0deGz)@XDi>A+OjCmYK9W6N5aWf-10=6RZ zp~?)KOX~ElAf2~5g2)#jsH@N1mr?H6FfzE(FUkqOFT*tiHV0 za4EoAk42Nux>YFaN7ZJt4^i*rv>43P^xJU|lbYfkR+$l9JU$x{qN1)eqLvt^8uS2o zNRHw>A+e6w7FmI8a~?E?Xss9PSK2%+qTZFV*BOL-zO^`saqZV$H$O_r%TTqY=k-1` zeen(PD4V@`{G+4co9U!q#Kn7x8|M3MQa*EAL!rlZZxqlrux7qJa~~KOR~FCsvTSOs zm(;|aR}1rzQD`r6l|dH1-Ee5h=EGoG8n!PuK#b36{8A3U4cx%-1n@oU!vJDl$+Oa% z8NY(Mh^vk2yt9@F>&$`h;>hMY<0N>ycp2&7cZB(V$j5*z6IY!hp-{Sqe*OHcB+XX^ z$a38RC?d7^MNey}*)_M1hu0WV!$Ad=PZq=M9-HIVk`P}3yOX^5=}%Q$tcgnYm^_5k za)_3GN6J;*IWbj!v9N(M`TgGTXlXRSN#y8&N-r5N4mp2XqZ%u&AdJJa`l3|Sks)Ln z&Ez4vP}!mG6j}Yb1g9Hoo=+sqQ!xn#Xzzn;pZkh`FZPixK3rHnLzRN?aYEmzFtbE8 zRfiK06@eE=OIkFnEa7T8KS9~hn=?loHU)%Oa_kBBLMSxl%1MOMj&u&u(r|2#1h=vwY50wM+6Wd+; zE1dN{6JPu1>-1?C6QH)2PjqW`6|=PlBCPSztp47uy)1>MStYm?4QyTH$b+>hfbgS1 zD-s$JBvrJ!H3UQxeE;&TLk%ByI*Y{xFkJKyl@GYI#Y3F&+*B1uYZF8}gF_y|@VTS& z!=+YI@FkzgA0G8zoBv6Lpn7<~%fnPXw7z@?uH!%rtu31?tp2eXOTJc>h4c5EkBL{0 zWWwl^TW$Dc6qlptXv|D4mHLEIMMz~O)-J!T_Qb#3!9hTvil^3bKn-y~0zO)7>!tCz zbDvy+_?P7`zeUhUr|G&r)+2%J6YOfl-{cm1HopsPSdSZ~gpBWf9gXNV{!fW+FomwH zrT-hv^Vzo5QR6#}D22zrV=Gj3-=1DjP08{vRAQTzg-!N8h+IoUiCW`6K5rw@C<@1R zUPp%YgvYvKafFd{i^RokmOj^5VG!uq!fT<}EK>d%#2P-@#;jB;rjbRg4`X7imVjok zjs21H#<()J=%;j-?8gd@at-Zax|zbeYpH>4PCq?bIOi_x9bM)1SByVY#8lGEp!<|1 z8q`kha~8f$Z}^a-{LrC;6=F&Y{DtfkYk{stqVDMoUtj0{!_{}kHDPt{tN2R$s!$v( z15_y@vcwP}N}#O@tq2rBMpyzuAOR5~N(e)$g3O4riJ^*Y!Z1YkPzXCjg@hrp344Y; zlHU#3e*6CZl#hga?>Xl=&w0+dH}lukB<{U}te+bNgBAALW`-_Mz(K*a{2#>sVoN+z z{{qTIHPU%~#|rnOOGSlV^Ja#iUewdpa!V{Kb^<3UDr}RPp=3bnSY;=M$3JlEE16$H z6!&?Yko$N4b;o|J@3wLt2v=`ZSFH>Nc!UmIy#GMwG^R7|y`SXOKis?!`M?RSG`;pr9 zo2QbT9_od4|Kfbq{YT10K<$M&Y6$N*HkG0sI~roYZ_mJ&AB&i`-h9iUv@=d_2SFw2 zdt*wE6i@&r1RI*ijjGLJR&r&HwAXJ?vxKWrGg!#_rOfhcp%{xf*&zDK-1$pN@W*oF`$Gk8~RZ8{+ zqAzHMmj5B$(r{a;+_KLoiip^pCtuRg_WP1o{t8^W1?D_-cpq-Aj7=3dH`66__?d!~ zh^Ru1sdcU=d2LVjdgYY?y%59d)&4EoiE@7_`=9&I5*}(1A`kaomJU+B{nv;)X_4RU ztQ87fi35}PM>Fbm;(qA|cUp}qmBY_lkzxxMV>#2_l;QmK8Y% z8E?_bQijHyB*a`LtAuAnjj9Qkh4DTOwu6qh;@+(*56$-NQU0eG+2y+fB5MZ&$EroP zplk1fz-1q;=~}H8m#ZSJ!50oyk%|2LLNJa{1T$Ud8>7L4QureC}2Or9yDe_GT9*!%FD=Hd6> zk6w@&RygRIE7bKy%5tW_sbTG7C)-lSX-SU+M$|18Nls2Z>xjK=U$cq@?m~7OWn3$9 zyX39OV?Tm3TH3$Y0J*&1?0ApVzQDD?1r6TjMsT3(FZeUUoC_{=p$8WBk zD)fCVasRo*ZnCl)e+CM<6THi~gbb%7;>N4ATK;Pv=&`eBfm3CSl8F^*CmDXEqs=|_ zK8Nda+afrn`v=c=Nu9X5m-gEfHOT~T)d@UIePN)>$b(1v`=+~V5;n+ zj&A!jx#G9JcUg^If;U*;&7wW`4rCARdAvir0c7Md*tNc{j-xD+mPv%%Z^FvlNKUPod<2B4~ zt8P;|wR`6_X@HdNg#mXrBgKc<^aMR*O@07P#1Mn>kOxgmLDHe4{QKhT;!pgQo-Cd- zN>PU|Up5Hw1j)R<2Fe&n>#iR$6CGBdsMk{>KhmNKzA8NmIGLtx78l#?H325!aG6xs zc#n76WT=>`9qDED(pS~q?QA6Qqd+~~4KX&!}nBrX%=i6cur(0=-el2|X8R}GuuDza3BPHTg zCOP%#;sM+G0&p+C>waF<4jn2UdIdz-FHW3iPH7+Gz)m6-4VxbeZ*%?t3I|2XtUq_` z5g6f+sq)*N?)O{jQ*Hlamq9|l8^90*ee3eyhpigEH>3&vK?lhdD8E~kK$PbOYTg|x z%1_xF5D|QS|Cbo2g^$#WKeQr~&v|%{*w+f22T!FW7Ztryb&GbB)&f^bfqbBzqK?aL zz3=A8O^b2eH&9>j#wHO+>!7Rx_RTzALGO2ILaP+nYwMB^`Slc*1v5ctd~9o05=Kn@ zn9`Zy8o0Drw*+p{U0S(B&{?~Aakrx%yl?ORmMvDrd(%|Rf0uI94AK12)YzW~Ja~ip zyp?#ah(*7}0gmgjU*0h-Nx#6Iz?76(UzpyrWbYas{r=E4vBaM?z@U4hV-vV4w`TcL zS>E7|doW3c4XOoO&RfNX-_rRAQo&aO`F2i|dN%>=>>A@_*{|LgC!wf%I+Z|{*JouP z;&V4HLtA_OQ@`(Yke&wFu3C*;_u*sAi!j%2pnZNQT8zY^|y{n?wB{`jl zt2Kh#89a71cOr1j4SkH=X(WcoU=KMPbo6_S7@~zWfT5hPmA>bYw`LI(QvX9@~I~~nXRqf=u@D@_-N}L*k_3nJ}7K7|6-m$;d9Jq1PgL8A- zl-XnTpX*FrP}=D33zCt(NS&M83bErl+;PP!7Tnhq|0_7@4^kW$9E_{?>G%(v zVDWV+wT;~ra_rr+g}*!^K6io%3%`tGqwGa8(|QJEP@+v9^K>;X#rCL+;1&K8CC7Dt zR8EL$a(w&W2Q~&f+%)3IKHlckrrn0TYGpCQuAR%9sdQ~6k9kWu8^%96WBlff@$1`% zi;n;P$uui?paXWJ{O}KdsY%}U`Y7tUD0}W1*X7}e`5)@8``-NgY)@0l{-7`W$;K9* zXgSZM)0qdXNJEWBT~q=Rq;Oosh)9z{ zIxbXoum^u`{p8kxJ<_LDNtMFy-VjPymWH{FB%A1A?>#VFz9x6G<`86M2SQ;I_jI6u*u3k^b zcjY#`P{9+nvFMP`Y7BCWeeI>DHv=1}c?FJ9Y4AUkPSSJjp){l?TN2g@-7B9_!j>?~ zJ@!dBs-mrBF;kIQC!rR;-r?g`KPfEe#}%7h--z#DFEj7==_Kd-x!<>N{AWo!>l;vq ztgZPA2Tm}yhUB?34^*uyN_u3(rhMKr3Nl@pzV-y?ind!*K|V)U*lM) zTj$V06d!gPY|%NN8{)A%acCrUqpMnM`Q$dR_IIjp5W*ShkwliIv>Hn?k>i%Rekxep zd*mtfMoW^h=dG{?%Up?@$)m6cYek3r%=K4dDwX#p>;gxF`t7z)1{rbdtY%BX1-**? z?*RF$%@_sOL?apgTls-ovv{-qn+qY^3r8XoY(C4ftm4^Dn+m}P$>7u`!Ydr6!!6A6 z>!p%IlJu9uP6{@p;SLLkQ45`UF4pL_@hYp%O^rR1ahy|+nuQ1%mP@3_u$UTTv{USXbdH|l6+cE)-_nqKu!DQ!d9GtFUI-w#-~ zN?=OR>L??HC>MQb+fM;5)q5X?G`6_R2`Ep<+GZa|NjqwZ`JmH@Ciuju>va5B1C)iH z&60G8C{tC_ow*dPv(@n=oVPTK*IBLV>|be?sTw_=|LGTg$o$&}PfM-M2v%X|7+W9o zc%$26DZai`VU^aja9r?F$BqDp2nj*AP%)K8AA7Ub z_d%bcyPO8c2Z6)uA^fhIW-J9KTfuR4N)5Knv`VV8jv6@;69LDpbUJjPzcxc{)n;=n zlJdDG5A|i%KWkKb53Y-m)|!f|`gp(Zd5QfW`*tM=@V?0FY!>p?9aBp2%Qj2v%+tOi z43(LIP^jVidonZfd6ZBm5iy&p8Wg-xDG!;qbX)73$|ACX=&L)QWRfx{_i{zk2%=fn zzvtm$->mCy@V&81JLXlSP5XUZ^d7paiWMPn-cKD`oHmKF5OtJM7jdME!|Ehr8Rtf$ z9c@@&x93;e0;f+1_iyU;bJL4AJifO$F`V*0LDO<^e(eb=Wdkb1WfHc^@iKn5VTtim zJ`1diEqJxojJU!g`2}R1lY}a>z$^+byVQ#Dlq-L0D)pKfKA{|DaI#InEDK|f7l5mO++OTe0SQS%jEOOG3XUpOq ze#mV|7h`oD-!ZsuYg8!<_%j({DHKt{ChA2<(h?iMSM+win3{f0O3G2GT>7k^QZg6q z(a&jIm0lYToL8PZHRvKZ{co2{zc@b@xZbJrc7u{pRk)GY)S{6J{Qb+7sLFeJvr<@V z^!g3M!i39uZia8@#Gs4pI`vbk%1cvWRIj#65X})_XM}IzbU{uggMB7$R4zhOmT??2 zlqSBMt1p6Wq$Sp@hgs(iM}6qq>W ze~%6(XcoA=gyMCm25j~FZR7g`(P{1B>We-S`ON0!5d>!#=hLJc0YTFeF~V51C83Ua z!CYl?yw;(^y0GQ-pN9C%9GY9r?CSo%-vXF@zR{CgIV7~Lv1h&@%I3#QB-`I*7LW#c z@;7QJXq!uSI$Y^m^`8*wvkd<(2DW3q(P?=U$Efz1_&iz7@Ezw6NP+XHzGe1<$@!Lj zynlr?|3E_pO0IHgfeXpJMH&Ce7CRgN3_tsu&SL0WzKI^pY~@k1L>ji^ZiQ4urakE@ zT5lM=HA>SaM+-1SJ#}5w^OvvWF*VF(Hdo75JoYH9p4hYYV_ms(mKhPJ5XZh@x3R~$ z!l4y*p0T1d)BeHR`GPr)KHMuQMvY&!+-53?1#ll!FLrlU4b{i@`8SXsIG_6e(##&A ztM~V^1z!vdUUitBrkz)!c+>^|~V*rRoqd?HHNa<&uX@A1Slb z(l?S?jo>uO)Y@5W3tHt=gJ(CZ*U5Twn_1<3^R@Y!4`!B+UF_M(%76P}5L4#N_BJzc zilfHe5c|p=g(&ke0LN|EtM83sfua0-b{=?wb3|nh(4_PI!=37 z_5yMW_jxNiL&bVaN1H=ct(+f9%ivKo`WINHw?BTP4Lb`Q_zSXzuU=m_;`Zimt>p8; ze%felOzxuXbf~QEouW49@vVr4)wxW2G6Y+<_9rQUUH8NAjVQRf8cGIr?g&a4GYVt) zICusRrD-MGd?s1;R`0#L6Q%F-GxLv~gisK6>4CM^!mmLxk zUG?!c^*l~-ujghz50C>w@BQIrjr@(u|3RC!5&?n^XSzLby??7s&zy%Fcg!hn4##>Z z*)&5d#D@D4N!Af1$2!j~Qol3AvB*!2o}!DK`;Ojx1UZQHrj^B;NO5|U&_bt%K96|! z?zMK&Gy6Sd5Ma@w+K^kFPn*Tj{HrrfUJelnX>b%uywpr-IckXPe}fw&A2{F22;9Kf zZEgcPfyVEUdM#By8q!#`Z7#WRF~BUE~lMJ8GEV7@RPI_k&PWewo<>{~Gx^Ve(?c~;pJ@PVE6N|VTxW_TR=dBCP z3~f`{dh!-_ZA}Wc&8cP>wwi-z;pbkskNb*go;N8zU@m$Nv0yaI?HTjXe(;qu7r5>2 z;RZ|ipM26K12D0qe~w$q8+#$MEi4=$#>)wu_*Gh!nO4TqiB+759V}@*n+M}4oelOI zp@onUHGg2$RIiRVG8Z)ou++96*_s0n0|kE6$hqI$dJ(yDWV;V?|! zCfd`)IwYs5!7fvFTiHE)Oyb(YVmArD@Hx${oENPZxUS#7)tr0>NAuS4`jTU7g+6!Z z-wCB)Q^;@Wgs}g*s^5qPmuI)WC{SI!k+=F`vd-6&^rBN`BjL-C_gp6Jfyt<2o?qP2 zc5zPbfw)Suc{K=3w8&!GK2HQLwwwu*&o89qyo*(Z=TJLs=dr3r_=VH*(q0|OJHY~x zjbcEIv0h=uCLdz-qIlA_fc2n^3lmaR>_^artJPz3Oy7x8A}DRXkuvm=_55;Wo*sG5N-245G#{oW6PkTB>Ph8r^EsDmKGU7P*9a>qO%O4u{I>!oTMEm!OB~2VKjlA7 zNZ#Me62euny0irF32J&|)#+E>9#tc>6udJkwCkpfZ#%|g(=K3AK&NUW@IY_r#q#+7 z;k8kk1sir7GTh{9U&fr@P6ZQ7CC%r^!$as5~_*OML^Z+kfen=@dcj*=vjVwoN3XDN4u2VC4GXW zq3#hXnZv&hGwJ!=f` z!F+E0!xOyEA$`kvI-6DH+65PL{@236khS@-+43=&06=a6=9^@+C_R6Qxmd3(IY2nM zQI)yz5nAT%&K)i<`HK?w@*g~egxb9~u!gl_j7t+%J3ihWB&K4nF~+6whBB2FUoZoEy%vp+T@$sP1kwd_i;eBHS?#an z>Gds|2QF6X;OIBa?E_W$1^z!&B2lPf?X!M7ch8x&Xay%*`UlOL5fAJCec>Wh%D*v0E7)W{TKLOoJQWwB1&{D>Xb{=-QXYwO(wlI4ew zwL>y)(-Z6m8bLAW4I@fgze$9ittW~|vY#fs2=~dlGdLnL>^7PZuP)MA7W+a+w106j z*<<6N%$9)8#+dees?NKM$^Ty6^v|_HyeU$C;6_T{HZ?zRDl|hi_f3h#l+%Tr<2j?z zm+4}ww_eiVNnKW;UXIFyw~4B;vQ4gYZf?eMj~E`7z1Ipu8`7NyCqr0CC@r=6>qdFU zGL~YTU%EoXMDx`I(|ydQnlx#;UT6_m!=(su3{ycAYg=&KT&X40$yjX!;r+XwR`M(B z&<6Ys8}jLfOlasy+ot@=jY$kQN2ZkHt+V>-LDk%Le)WujV%xvr^ZtO7p!ViWgUnV# z%0}~;_DW<(HRnT`{@T>i-NY7^vO1q%%x&s?r!-&qOO_HGTJ^1WYd{rtroK2_x1^0| z4B-CbxlT>FYAu)LM^H;lu4i_;AAnOC(K&!(f37AymfWpH} zv4JQu7Yu*R9yykp{#YR&uF{K?HILxuu0;j!EY;*#dq0_Oh*w095kNQev2tQHsM_w> zZqMxX*p$(pzt5B3r`Y~~c{PYKSHr_GDpPE?UAe1)%Z2hOwv|@aZ*d~@MM+WB@r0v= zeMy^tFn|f2dNOmEBf78A(Ht73AdhzQORV6gyYs&5zt>s_BxQnjyx)k8q`ioaSp0QQSBYE=iwjH{17Mx%A-jsW;k zx7&UnWL~)%W#zHnK8O2aWghsVMld4~^40ZUxbYQxYgvA+f16Q#m#3k_8()_<5By6; zHN_X_zVj(aX?TZ3F!s5ln|(Bjp1Ju0IR0lG8a&rZL?$c~BoEmlaM&n2?yy!Hc`!Q^ z&Jg$PJS=$kdXUFW*~_Ds_ieFL{O4@u76MNf_)6OTqlMJi!XNVRJe|!gf4envyMTe9 z{9JB)z`Ds6?)ykF3vwd#bx5f$J^t(nZOiokdt~5{GVSN zwnp!z#`8+VR^6_WC}~g`NR3<_h9qF3mAib~x~`~g@rbUqBS;!ujp1T;OGRFbmTvX~ zH;;16=o~8hkA_Tas8ivSps{eMrCpSVAJagCyJYjAZ$Z9qn^n9i{DXDrsM9~^JpD#s z?a`L@BF&?3GjvlrVCmJIosYBkZ1M zt5=vyY^=9dYTL;RM{b5!WTek}RSfoE@^HKpcgjZzRoez08;)~6oJ+RY_GJwQZ`}9K ze{q|7skJ^JHE{#0H)_mzUn_;R*Sf()l*OTgs*6T*sy2V%Bu?AqG#P|i5*!*GBcV<{ z`6^TLX5kWo*F9M#r=)XNTLT`dGf_RUD8g-1oA1g>jFD z58hEDM8}Va=3QjVsi*CG6BuNQ+fWY zQuzT)ql)#Y&TTOdd~I?+76=u2D~oUcj|tTj2-x{7ZPixa=gA6hu>=SKW8nnth3$+K zJogFnhe~V1CY-Ue2l=#yoHHWKHHz|=S*|=vCUxb9%N;~XnnN2&GEZ{E0(N~}Nj~^# z8nm-fB;Bu`Ss)#iB#ujeS}uKWPyE6BQAolhimbZhFP-P^j=*#)Opkh8wSAkV$P9zd zg(jvyq52SS!jkk1G4$?K@x@#f`;OHseo3lR^Th`%24gk)=4U&@iQqJ%gzH z*S6*2Ic7W3uKp^3!u*|F590cS|3sR2B>)y6Oz+jL5QXN6g>No*Bpyf@N-KNv0%aX( zkn&4i;CIyu1sg_!ZI#QcWDn%FbB*#Ge%n1C*DqDvw;*_@der*|eD^;Z4XQIJAF(p> zKznt3T~B9qrlGpHY+PrZ&M^WSkKK9-e*G;$BT8S?t`HCl2^`LuF1~PstjU3^P0i5m z-e;nv`^_WU;e~|d81a-?R;z?s$__9ou`O*rJanAsg?(PdqV4*Z1WX3^4N@xvO#I2q zPCM8msVh_%rx)d`ThauHj(4M}6Dq*(drKE86tYZ)eOJsQ*~Eh&*yOIS_i1ShEGfi| z>MVs}J8kis1{y?sOO8j?gnMz-B3q_(CbqcO8<9Z^-2r&Qqk2B8(= z7>_y&=&#A6b-E4)R>Mn&lx@;)9>SR&MU80Zn!CquT3{kTE5`78Dm#IGv-!PZ{6wgl zv#%FblbU~l^B3IqkWkO#!WEPzHP2&1@1;aY_^BI4~Qk99({F!hIIHRKE@ zLdVz<({9FA*;bnC;tOg~;%Frr)wwOx*THTddw1&aSYGvLJ+`xYve&y4h^yXXW<6L9>j!l2PCG0eHkMbq(StGH zHn;O;GJE$w`bWcolnIo4wf3Dz(^stkswh^~)_1U5%+7CNh@+~_do*U}GdqDw37p+z zAb8U+7+R~->){N<=Gv2RF`4rDX$oKap%AtQP7PuC#O6ut%9AnkZB=~JK@(9caUW)Z zbDd}_-l3xLt^7`dEh2&D_fwP$ex*^pdvl~}L|k7J7n#W8>plGA(G!A+wpk)!c^v|N zXghcIdn{L_s+&+_8i?`dr&=rcI?{B9!<&JOvdbxU;m>PQ&58P>^L zZBhY6z`sTV9`&~D@!qiycu5-*U)|M$zTNt}ElR*dMT$&{AXt#iR9ZrpuP{3n8()z& zn^npI099H*oh^j*=r@cRpOP<&QR{qV17fd|K^d4U8p~(Jkx!tpW|4}^ds0Buy51SB zq29Mo6&iSSX>`$es-@(q>sP=CPhJ18`S5@~2X=l=o@*bG=r{N$Sv>tkt%T3sPNJlP z#_PNF0Wv;lG z+O@YY?&dOLl)&1Zf{w|=o1bs{?9d{;*Jys8L~E`q4dIQ1rM>xem=;@&RgxL$ zP1YDbcDc{QL_;p`ohCbt-!uMuJFCY3oOpU^ycAG`-MFa_h37wug}XWL5-!hd6XN&6 zNLA~nh4aFW%zcW?kpf}Wj#k)fnF@!(-~)c5&_iP#h*!qfIgN$7BZo%9D5N9isbM60 z={Q}wta%PpNL&sQ;$s-3UR-erMZ2aXzjK`=%wR$}V zg>5={Hh=B6D28(fzcKE+PjC zcHsRk8EV?a$*lH9${Dtw9>3?{HuuYb*oT;w-*Z&Ko?u=|L^(F>dTEQmheHn3M(iz7 z+q5Tv<2O=8#0Dd3A(I7q_wCtz14x`I0g-hziZam`{YV$*uNuawJeM715s~xB9J~}W zwA)!GCAb~~bQn}fLPFtVHs-@RV=IKY@o$A#mmDz91U!dnHv|Pz1qydqHl8MWz!sJ( zF(}4S5b1Y)TXo3%I(7;3wb{y#D2AB<#Hs3al#hpXWZC&}#12*gvRqh@pJ(x?rNE4^ zm{tKR?m+o{+{-&q^OrqzbnTW=>Aj+j^V$y7B#3O^X%6zS(41hBoapL@>s5EvfVC__ zG5hmj?D=2miAdmLdm5y52N1Z9!HVASv6gdp7b=k9Clks5uR=$MjHu zb$Rj)66xbU_h;lp9n-VcA9Eu>ISGhXi^D+y0u47cdHbbnrc(s;Y4K1;70a3vD!_eC zOnCbrm+U!m)ec%lf%?&1S+GHD+F4sJPNi8wT8#{AfETg+9uIGZZYvYFep6b{T>H(? zUHNP$zerZ9=mg+}w$k#h^qjy|ZX!{;RYS7(t%-xW7~4?B{8LxNa}%rZ=4JNBg(n$x zes@|`ni3L$(2C@A>BJ7>!@}OXNzGc2-;%k z?}xRB@3)~5$hJ4{H1gj4-mkGyc+ZfpMr_xqqYd4^H_>8e7T&9uY%1h)P7306J@xNu z;^M==VnQC$sGeHTNO7)PPXG}Ize3Ntsf4};TgWvpysPNo#+Ub4Bu2t8LcZ) zb(jjBO6(AsiX?_&7u?cpw*=zLlpM?|o?aI7oc&!H<1*}|!y<~Uc1n!gwVnMXqHx(Z z6GLN)HfUu5RTEXG4fGmmSTn66qfNc0pro_xEN_|_D}Nnjh@G3rxDN*3!N?B}Qd8|{ zgjt@o`RwFVho*Y9IzHAAx%~A*3}NGjfnSzI*>#kUFe~+aH`L~E%0|GtTagZ5@dG0r zptKovjFJq;=jJRk4xJdhnS;aRpX6z7mB~|PfGTUtp^bJb7otwyq2$-0h+I6|Wa?YX z8&Fty{4-MD_4Y?u>9H?lLK8&+Bfi-F$0hkVm7#=0Pl(#+JN-hpz~3$@#qYJXlP}2~qowh=C?@l!(X6U3VA5IjAiv ziR9aS&?`!V%Rwj@Yhf9N*wklyu*&c;%;*S6yqI0G(J+L!HlImJ-B`JzxSQMtoA5Gk>Y;&b(O>mygVzlOI0b4%sZ& zNw%5R9@5^Kg+9UF-b<9nG78O=*@-V!iS})NtGjL8nzup&{j_9j1V=yV5Fvpj3#TH~ z+V_CqkTAL~TLBcuc$F?oJN--Xj1|cHx2pgd_@evex)0q2;{4N*6pw4OlGW3}^hTd$ zu$S0JBZV%3Z>Fw|b1$-Q<76(!l|1c4^ScTB<^dma=YLF4mBOozSC;uync2mobGm9H7Cv*a;{*@PBeoc<=v#R?SW0VvZ?Zdk=OKu1+z$=M^B@YF-=PMqD z9wa1it|KcY`uW*=M8f_szo)*-=Oy!!vT#!$`Ysh;(5pn#TZ%-0{3Tu}!`aP4e7N#l zh{(lwUa?AcZ2Q&&+5-_UE$JxQ@d^l57a?B=;(_*TwIeaO(sBe2y^|HbaRd7n8rQbl z4UOnZ219@Yq04N~(^Fmfn%J-579Pa*FXbWLFNM~0_KvHg!_RN+OY{wLU3T^Zc>V;+ z^cq#wcr5K;BFo6?JCm-t@)WX`mEUJcJ*d5+LVu6LGvZuj&2pO59PHS@lxNKNoF*J) z0s6-JYtgTJbCO6EsC*Kf^=;bj&ZUQeVycC{>=<=E?pxvNkLJ)KOb+n@xhwhVTFRiZ z+Y7PH&wW%17(oF30T^5uO)E$5oJ;8dqXU-lV3IVOqdA~jc^qq)n8a~IR?2A)QIVy5 zMg>&{iWz7Ps1JFfD=|36`gwyoGz_lmQ{(rOGm`eq(KDb`^+iy={m2jA=|gFLrglk= zy}M^A)DrYbUtd3EL0M^$&v@JIwU0o_4vqN9>$SF#S{V-IF~x213xL|M(vs9_8+ZA> z6YQK4$<^lNR`-z6eaK0yFCksis$*{;+_s~Q7DC5qll#CFBR^!psF@@zBr)?ipHrM0 zP>xC>WsXgKT6IA~p(;BWzOB~pS_cU!T?$kM7z85Le{jlx<~~Eo;^6c6m^zSqses&~ z%g~lH2-eFrQ;g?VmHcv&e{x@jOf{YlLlNM?Pz-igK{_m(VT>gv=E#Sbd0W1u%ciTf z8Rx|^Cfw;4bZYkozItij7l$0vN;UHcW!$Byha3jmHsxzG?jUd`kC@eVXGG8aQuwLj zf$s0|Ad`ZqLDg;AbG>|9t3}1uEwI`sy(+={WtYG>@NH@rzs;50?Gn0PS=6y{%{o{y z9Zm`ZC3&oTy*PYmw=(noK4);+am3QnC{z}Dt%r{RWRUM$ivUplska-9aR@{O+OaQ5 zYB{eMfc`O$Pty`sbetigGBI7y#6S@YOaPs+xuGH>_;kAns?O1|FHGN+0$0Ai&hHDo z?fMXt&+j|@$Afb7L+U$ovCX(_BRnsyFJx@T3GaUmYOk_bnzj49Jd}N+398Ij(?&7y zlEzLT2ubStT}Ui;(6<_rwatlbS(MZ@OlA87S|i{^*)6^pad^F(XsHKLNKgB zU-<41P8yZnbJ_j-X;7o3asSIA+%L$9!m$B`-Z8_P77GnuXmrN zj+7#H`X+Z-QeA9X>Vy2}Dz#P#I|?8F*Fen2Gv(a=tDPoTec)q8{!>?S=`0vy1BjWZ zyHjOZXib$}+_3zR<+9KbJJielY(0Ds;5OypiLx|LEXgXTxDEx%PibHbwaBDeG&y6W zP(DZB;`_1EnkmIvd_m?X-=8w#j2T9UL~=q*Y?KMsW&*WCRa28|49N%9;62U>_~d=( zU0N72TN888fSgfxwZcrXv$+X6ggf7viR(B6$fS)K;a2j;MSq9;#C&T-c}6DXscQ!j zN%Q4oUXJAJf*YvsGty}$@icg4x0d6H`!#mYG~DJ7G%#@Y5tVWVb$V##dDP>Ztr>N> zdSGj%3f`>t@P*3DjChBnhD5-ROqB~2)TWG;*a&ZaWrWSo*+LOc&uK-ez{b{0&36r5 zFeRkq?K+WY!mqmd>_}ozhp&m~GnA&N& z!lDSI`8q?|ps!n_x&yNn1DTKSH#r~h%6&|`+AQ!J6-I$;qX3Lq$$DRpcw-J|i+-F> zTkatG1IJup8v|n<(iGiBnva57ZSgVvT)A%^y~4_9r}eBfS3?YMTFd|qJA7V}%J3<( zoLIn4#;(k~eBSAMD&%7A{QgGzsJ9tE4!`{oK+$~*^P&Rc?w&SF3lf1xw9~ zbsRoX@niv;VxLpZH!#?#rEP5^-)An!@kiTk4yW!tY=^{1k3DmATj)^BmKHawvp^9Y z)CknJy&Q$sB2ceRm1v#;NQ zVdB}BIc0n-@O4Nx27-_ZaHYe7Ay;`U<{G1Pd-zhBqnhB>Rh*ilk@v^mv95Nz9rc3+ zNe8N{G0q_ZCL}qzizCScYgK4Umc6Mvzrs5-Y|Zbiz4hJy$Sj_uw_v7C&4+bX>@sR|d z94NV`>LBZRhu3J!x>K_^P_6G_R))IQEMa z2U%T;a5)barom5DK;{9ODOyug#kbY>nzciHjQ>~1-H0fks5v5*M3VR?bHE~c0pYzW`J#8GZ!RIVf|9r?*f+ZtVzby$X^fwEf&@32nN=KRf z4n|?Xs04K}f}gx+j$OyIN7nYgs#cdB4pkPRNQ42Mz{&f2fhgK)Wu76|Z9)E$;VJ!A zO*pfW1-xs3Y*iI|cuc#K#C?9cR`$XTla}uUC`1c|xA}FbwPU%=)CxA0<5ZSJvQ~Ds zK4_xNwnY3HTU6uy=^%|gqR&XiivGQ#6^O;g`F3djo2Gf`>o97ZQuMGD!#=QL-kQ33#_YrDEz*W;SJz&) z_7@U2>GZb%0_Q8D3uQP2(@5ZF$J&WlsGCXy7ui|@I$B;zBpr5qQ%z^V4IR9=w~m9! z@N-H!>AnBAw6Gzhge#rc(dZ6_SFkL#!;JfnVv>vvmy?Fu|GZf1TVi|Io1YUqzn#}r z8P-j(t``sTK9z1$yV-_Kdjr4MmK!cEnmNKKM(Kis=kuImaPaltO(m|@l_nv1rgxSQ znYP$jz)tm|Vwdw0myJe4QQ{>>+Nx~9tZ^SjZ`#xS8^n&)^d2-a3jFptsP!|t+eC}0 zulqxcl-Vq2lT>3)SF$HCpQsqF!$PZe2mA@gMs1lzizI&}v~}(;0q%{8N5W2nvdRk) zc;^mvKw_hjRQ}d<U zMDrR*_tUQ|$91z|E` z{pDL1q$@@sRqRbtRUN2wf$%tIHKim&L;HFm3iVRQ`ir!`_y_Ty4Cu;pF7>+<*04Ruz{bmWjCD_<^HG*Ab}iRCj^F@8l-h)D zaEBAm=j|*53)Ed%@gj?hfsw?m?o@cUH^kDRejzmP{^z}c3tyWW-hR5QywHkA#oVj( zNjJHUO#t0fFp%z~RVYrW%9J2ywB|0K$$&G`EI=0K*CqB7T+GM_Lz>={SJiEqqW1Tw z0t~=ml<&qhQ0aC3M($B!ob&lrs~*fI=VmMw6d%JogOsK|rVZFVt4Bac(V@^b$8Zv< ziL3u?y@>D(l|XD-Py~doZ$GaT&|4L8)-342&Lx_($CNx}WKlI*podsT2!-{=Us5fR z$un79y;>_fSgI_f74NI-_QLbaru$;0&$}J&{DV~2N?Q7Z>ZClrl|UXc;p7s;WwlYQ zR-Ufz?j)}yP6Quq46;5wO2g+zr>4N7vZW7GsU;o69%=Ud#=U{>zrG6b{I8zn(E4gy z=EV6t!SEzN>=hYn#<}TpgJ?-V(?%%Zk$6t#RMxBapRwfVWyTRhgYXQM`YeCXD9pc) zB@XE?S0zR$Ly~)cBf09SO-c;HIO2Mx*Fo$7?mCqPH2|o0RhV^i9hIM_^(rvG=MWYT zh@JY};AN||Mt%PSzU&TlITb$Y<=p?t19VlzWu>LC^@nmivpcn>jH@*ACu-~`Y%TpQ zW5%C$`kF#thx?~pBvrnFew)k;83jqjXWi>j6IEh?8MnXjR#z~qD z-wS425*7gi<#!3i<4BlD$ab!$>9R{EnU==xSUFdmDzw%zAElk3EQ85n{4z(}JziZj zQzg3C`Sup%kc`L*^ejJmbGz#r8e5pE-Ga1I_++Gv!s8Szoyw zCTbnwU1Mjxy7b0+6H=h!p!mwwM*#lA4}h|MNjR56 zlQGZF*%8VAo}OT9o*O;SoXlDPQFJwul?JJb(Hx4TG9{V*o>HK7Je#`0#`#_eM%+A6(gn&&cRmRCBCF9*83gqZD*pLJ-a( z&GK(6r)}m(59?TMc`gIRb3cbu+i|Zop#llO%i{WU#lG$X32K^!M2AU!yg|gEx&l_<&^55z&#& zglM~hntH|$^sdt8PVO?QkFLdzU@|Os*`gFK9lWEHbH2n73g@83V9hpiBy3AOm zUC-@Jo@;D7MELiqw8frY5f!wt;{?3(Hywa*j;$*v&BIML(NOx|ZDn!qTa*9E$;eM{ zD#@~#ZbxE$QmJg1p?4~7t~W`=3lM7s`~=1Rw=rKfOl)MqsAA~ z#xlPo?k2OYpmxt&&2qU+lVRwcv!a{2lS%i_hRA1DCh6q?y_N5`3lPk`ZAyKX(E8I0 zEA_rjmY(mXphFL}*&75OP^}YOsS)!n*AKX(>r5?z@e`r&g{w#L?`(z_ z8W4H~&qX!OFQgFbZC|dqXcya|;D3*=pJN7&;)yV)z}4wQ0q&7Xl(1VvRQbpl>b9A_70^6YNfW;O>ySPj$_68N-}455 zOoIeqcE28G!iA@0Xt}Q@UdC6K^RD>)3gYU*OwB7Bi}Z?q5-BNtcbSwcMvOy#wy7$t zt?PuLZnriECHhbKo>y}GEvrUy-Kq+qlMkzXNS_4DX~onfl*?^f!n9ZSWt|@ zVeS7SC~MJ8MF?wGnH6;I%&RhzUy~(b)AAejzP|@>xAn=F%+JiVBk_YKg`}!9^)%E+ zXiCb!^)I!NF6l1aCgD^{=SFLH(2~O~tLd6!f^k((BU`6FvDD@6>}M3|JLtC!ap=x} zDh`sh7ZFg?mI|t>cli&i6S?IB@r<1jSHM9w?};RNu}Gx2^g6;o;yb~qPXm;~qC9m< zaIxmRMYm;VYg3AB&x^0}(P?8Zd*3%EKB%#CU~I|uO`hnj8*{zw4EB}y!3j|*E^U~9 zKPs=t=&*+;LQCDEySwvxKPa30%PsyM*SaMk$hQ6LyJ=M>X*Z-hfBll+qs`>;F%!D; z>Rs6+1>{PR!^{@hmUDj~On~d)Py4U@!HWf<4CZ)iT!4_>Bz^wSBPO`)s}F8ff`TRY zb0W(vIU}kNMkxDKl2w{I_D`4noj`Kg z3GlboR8;HUKv!)?;d>2zZKt*EQla=IWdm@@+2;^AKbcR4-4vF9P|m$zSUI;l)fmCa z@}IUlJKGG8^VK1JGn2RA{n1}x%MgUWvO%P(r~ZI`>p;8IOXj33!6Jz)N!MHMv1-;( zqZGw22msFLCp>PS^4aQZ2g>c<9YR%F)`CgN4WsWHWR*PSDp>79zCJDm=*|4&qbXSM z)B}B2`vkY74FuWN)4q6cY&uV@-lCe7v?h>t!u>fxQ8`q3?^I6{tRBODTjJh85_FBU z6?dP{=oWRyRwlu3R2$rxv|Wqo@GV|fSgam-H}P(DcdjU?{obwFYL4$F{@%{w)!k5wLEP!^BY)lG}HorOK2^8H3%^;N4&fMkPbM86!-23$8Uoq%<-1%d+CF{%2X1qt? zBq1VExbNzY0n!=5dXJS+h|X6=FPM2cDm!ZDj@UdNcIfjcr13g9@eKTG3dWh9CX!ko z_5!?QBAJr8azuyNFLBMR>&I*nTIGnA?$&V4*Jh0>y$;ll#uGx3*Hm1x(dZv}#q6w5 zIVnLdHCBEm`pqEq8|H2WdYx8COU1Q_L&jq2?@4~84zH-cn;=uat{jOZ_R9pDb$sDB zWnN`;Mj-1u`VH%*XakKHmicc2(Q`)nLHC_D?N#X_!Z4w+ZW!G) zk0HAZVFAfXf^33%JFDs^$YVJx`9$JsL2y_(QQ5d+)=jz0k}m$bs;1{>U(s*=iv1Am zoSpSf6LV()X)pjMTyC};e4ZPbfI;iE$VS`?GX zQbR(LfDQ}o6gdDNC8_D+QA-cM==Br4bR<@ON>rqNN+;Z0d$=oV{SS)U&+XAfbbFEu z7sEd0V;ad#gPR(sUR9MER~Da!e+C*eFSO6S6WB)bnmjcaS;$Id-I-iDglCmX0t$kb zpNbx1!d^l6iL@ z_8EB7;ClJT#$1h(cJj=AO#7qLc%f7jvOY@sK~4dx>Iv@tQmOAqEpEG5&LiR)C$cJK zMw$m5P^+|sIYMDItQNUmT?L*8$;Ux_6oXuMM6XhygYS0VKoUA5a zdK$y~-|?bRa>s1U2Gh0;K}G=(JxK$@#laHuAl_nOH!+*56#cJ3}GRNtFt@W=z7=JX%lLtUh%(@-+c0iXu6EQNQsT z!n_B@FKUi_ty@zIok(pc9NzjuThQJibzTT-EWP>#YI8y{%P#8(uD!%G1F6eIKr zHB5$h0Hs`ynLQYtL7-9x#;*tX_3W}EIw=5B8SXMPdObTQa{+*l+O(}o$Aw=8!YEkd02 z#Cv=GnXk*m=;_JmEz-*qf7tJ7uR0|5AP;>VhH zD6ba9$y=6>ASE0hlS)CAYd^0zkcx~P@_aGyqEKMglP z=}F)^E_!Rmj3%8ltwD)a_*L!S%i1JpTQEszy$1Sr1iGy%8Ex_EnAZ!!{kfsbI2hjf zZPjmt*ju5btkqjvT)k{?#dc71IBq=q9e~3ABWO$6Q&>``X-8f72joOqnhIYj-)*Jc z|Jm(XfC26vw6ePo>yPj7|47b&3k*1J3uI?%sBgDRzyBje`+qJ@Z#8&ppH;PcwNu<( zKQ`bpHL@^#W8fU?<#zfs8yjaxqLqa)AGZiMki})l!z(6D;gKE-!caCUaz1IIKI|01th#uI<)l#S4qQ zw`VWLt>wx_N0Q7x4Z|ERM(MyzIOpm31mseY@Hw=inr7I~)uFnPbFLr4?sLX-ru>LM z401>}QRfvru}OB!zM|gKGd&M4dR6kC16J8s3o)U7J?AQaf2CrhBOi>*nbhKtaU->Y z%zje4lCZ{g{1JVXQA;dDGHZ>|ebnfIxIjEe`s%n|c(Ks~F=V!5y$Z$4i+AN{6dm)K zzeuHo9h|{-rD0Zoey*LVbGd#5QSsG$_Q2p~n&ia?PgEsn=P#(E-$~wup7F{R%q|>z zRj;~#c%t&<_t@aD$Z41LF>+u-gj9F?q3T69Zl8=88yf0j&)b|=0^Ilc*~m$Zyo6r(m0_tSAw&CiaZLbId3`GYNbAm<5AW{l~SP zMvmI&a`^`G$_xa%N|M-HC2LAr7Z?_E^)<;0LFulvyWBIggpmxlm3jAKzoK5jqr>Z5 zE!^Q%(^9JC_nsNo!*p&1#lw}Bw({KlWW&{~(&+w|Mw3-*IG zUS@a?9khA%LCV@8^5Fo7RVz2x7vot*JKXfHA79iwo7Zmw0YQIqn0#7p>dF+a1z)a> zlct`*VKQY&QVLAFM!j$oDxUxSsAjtSaffwSnL^Q7vA@)HEV1wq|pz?Ogy>JK6-uYv5C%7|K*mtAdWFARdLZ$1-;BBQyhw|*Js7w&#dj! z33j!6)HpVOSa(qL`YE1{+qj`U$BsY3M5@frn+CofHbE=tQ)y{SrN>N7j8Ff?Vf2Dq zq15UI<>2!}e>bS|7HM3&mth*4^3=xtC#AYtS}#xs*UVyoxfc|1&Ntfj5W5(2%9qzaKiwygKQ*2r6M zmi636!N)%}V0GZ*tz~KLHl9njxf&H^w8&QLf$)ipfWL2g@mn?@-ybt|V=Mj4zMi$x zj1lX}B?)W(m(F|~!q2LSqXR760>5kcW~XTVn(u2Gic&W~9^U57N_!6-c;s^wKk@u^ zTQPf9!|kJyYe!#F*lK!wWyl|WGqDJO!mRc;nw-rza$i>!OhA5gme=MI$cPDni=^tN z$TH)I9SQfIFd(vBw#x#rlbSp#5t%{u#yQpU8Yff|fC0jPSi}77x*~eAn-cfQM^|;o zxR&waeK)D?4sTlS!(-k^)Tt@=p%m~rf^c>5q-aJ%AinoMzyJh{DXBl z0l6AAhK$zD*2%Y=GY4>?3sK3{b;*c`CT`z-BWF1IP8385hiTI*UUZ98<#)ev6#Mzf z2s6<>>kKD@B*wtrvqvTKZ7ztSyucZ*rF!Iav! zZ$(f{PQ`Mx^U3lnC^SBgTZbQKLWWvMO9l^$PEOZuu{Xu8Vo!6XT-8S&#Wt9Q@Vw>z z!Kn)P=Z;oZ+4v_Uy|?bTVc{J38D=AwsF|n_s?T{|M2q%GqKo%m%%_Ydi$Is(rAmRoh5P@_<*m=46A-8dgiXF_$i{bntDFr+1 z_#4yqi}t^h2-H;zTSG6mAfO^Hf#J_!N9-+ZEq_&jYoCa;oRYe!xwY*T7f*joY~1a{ jl)LxRvq~yziFKr=&wb)#x{MmJX|-01&=Px(Qbj3RN{5=Iv_@1c1c?;0p`LG6H}L zc!Wm(_q-1Z0IA@27|egq8{hz7&jbKC+<(vWSpncUI{*-g|2?ng0f0uqf5-n`SU{r% z00I>OAlB4akCllZ{3XC@ps#c3KNrCpkO=U|H!yGm01)d2I+|AkAd6I3zPRP1j@2Xo zrNk~;v5%o+>8&3%|MPZF$bEF7ELTxUbZOV`-HpJaX!V=l*jDwk$2EoGb~WKm>9C+_JsnC+Bw>Fv`buoNgB- zfDPdh-j;EH@(E$9zcZj)uXi`rPXF9SLnucI6(Qg;duA3YSx|hI;h@*9W%vh)j3iEx zkpK(>$I9Jg#p9VnR*D(-5ABlnXH_)f2Bg|l?q6Md+Zh{8=wQ)fgmU2dyUNX13z-6``JgGXt65ycRP0T zu6y^izFVDUk^DT68+y3l-#>W-oXSHK>usc--TcaO{HxiJFXT#Y{4FA&KM{PYciLs; za+4qN^-A-yPnf;3!poHxDod6c%a_<;o4<==s=01suX5-AcpQ~Y}3%Tsb zFX{m;0CPFcqSRiED$``4R}<>(n{7Y;JahlTXBQfq4DXt;t;dloIkC9$jDPOg)UcPZ+7WRy1e=p(ihp+AVGu zo?Y#)-%M=MY&`r?(fC#MJ$7q}i?^>O(r{uT)ZKr3L7ml<%%;m}fptS&_g#%nHawg# zm@XJ8N{#Z6^o9CHMx5dn^B$0CnG8-KYy|`?7*^hGjawAGos)m6H?WV!|I^nFnGYpG zN!mq_(5G-~!fB1Q>xn}l!!2`;bOAJ&S>IE|(a%6Qyx%iA#3gU=U5D&SYh{o`cTIHSg(a}kJDXHKMMiopl|EDOv z3dT5o0Uo~_lTJcvW*Ir3&;8isbe^%@C@gMHyDcJoM@Y@M7T!Vt(r2(9U8hZV(wge1 z{dMXA-y@R@{RJJX;Oz$eI`)Oh9oNKrQjMH1#>1@H-4+FHn%J`$X}3cNzfKKtWEE1a zA7nva0Np$_b)$!7lUMBmv$IP>PWM!wv_GRMKkFQrbzG^HMmZ;-WO66r%3wrBIb`a6 zTEKm{bQdC)G2bT=pz*kOMOX@3`+qNC6w~JYZ2um|b6G*CsOlx#8EFP2>aJ2IueG`d zF@-{AyF!Ukg;NnkBJu*YBplsk>Tx4e`UMdZCj#&#=<^_--iVqTgpj0TzQT73cK9S=DF;qepLTUbD2Ros}!!a^?{a|=- zaA8V*NsjUQeZx%tw=Pyt1P;QjNs7b5?Zu3cq6t7ZRuid5gh$!m4C)ttGk8>9rySx9 z49lf{4{QjY`=)qw$I*9Waq(2A(N|8zi~Kl}m?pppM?>wQDMUpmw>3wo1mJng^UiDg zLce;4(d`hI4@fE)2;^+6&NA(DsjIK^!nz_((<$U*5D_#MfJ`uXM+O{^-g_8{?i^N>1-0b5Di2a`bWkG!bFf*&mtecqX#l0g`Hd!o|HX2T@P+qhm9&9L)y7-d`{7k& zmC5tClFqAU^{!982@f0|9#-2d=AFsj&Yu6KifXYIDaB!PCHBbX(cc2T_I-%{Mt;(C zW$w>(pfXZxzuV!|qyu2eg%IUgk^_A*8Y^l3>s3t^&+-_C zIrV3Q=$X-sO26*f4Wect**zW>wD!e!WdT1gU#s5`3;Z;~*jbjPkYt+c{b=Wd26pLC zMw;;oAm9Nbg^LGIzhfuA^KZ=R^ysbK(VLmIoxs0u+OwqZ!Bo8;%vGCsm)|{`?#hAv z%eM3(ld$&mEc@ul)Tg~%TE~JrVX3BgrBmf`mHeviPZjk~_Ggi^3vX4Wysiu zy3hG^(ZUq&RIN+;sX%0*sXmi|$VqVn@T?GwRH_F_z=NzxH3)?ROys0OsZnn^0E7VG zL8UYwqbyvcAR}+VND2S)GuY?HbFM<8n_}5c2#!2dtkgqBiyiwLB+;tS6V2;SWb1cSC#(Q zdvu(I!i0r{Aw^J>(=>JOA@Vwtd_}Y2=xLv2jeVh>UsAsE{=NgP?ai^F!a+23uaho0 zuFc~kVOKxdAHk=(@XywW(@dHiC3>n&p0)=PX9l$kp48_0O-Mew>y+QkI$7)|p_y**hvp?q-?u6=BfdA`@IEJBOaAGzgmJ(1ArpnNL(a&PA`j__-Q8at z1a$}5$!bwjLKW{9<)SX1{T1G;Tn0}Lyd2Q}P7mOrqVP^WmS=W`H5AKs^v(FKf2wdG zq(okX{n53&a;HaoHe}KhGdg8endOqXNNEPr8Qt9R)6L6Ay>X+54eGVq%PKo*cA44& z95SyEN&elNzq&3SoKxwrOzK;bWb3AmcfK1J8eI{8 z!-M}oDowJaWuJd80f{yhGgF4#0gVvA zqfS$h*3#H=FYZfi?D-l$XW9VMQ*!im3I%wj!vTk244vQ|Cv>7Ba9?zu zpV%=2R*m*D9%)opD}~HYaYiY)ql~H8EI`W?9{KEth`;1BjYHsqis*HSd86n!MovAOZh^5f3=+L*e zRE>^4Z*ER+-VhWIME7+Q#T|3og0<1Z_6zgI`YH5(m~r(b(Kx zN;3)k1M!Uvz&j==kf;=eK5bIaAJ->7AN_yFA(t|CeE=v;X}BIc&7g$9-tt%{B4`IR zUquoTq!Xytk|;_<24l+aomJr@ZSs-C`{Xn7v{t0A_OiG>7E0W6V1 z7GXhnfU9Ya);OHhkULIA(40Z^g(Ky5gP0n}jwL#2ef^jb(#o~-G*2Lg|Lt$4bpQ$n z$%2X9wA#GXJr2*KEl*E?ro`unBjGv-*^qV6S%PuK(&NhEf_&d0t%Jm2 z0q;l%$O?ed6UaeB;*Yy1S;(zU9wxayTZ8h!w7_-fb0JciCn^VN9WI?F2Q8Mt%O+a^ zi{={LhD{bzWryc>C!4~|gU(x=Iv?Z8Ny2|W#LoaO#J&UtnVFrsIoMl; zq0M7tSh7r+XzIAxCH4N%LxxrM5Y+aFw)FUhWQD?H)(Zl!fOu}Sf&~(M;&{!Xmo`&- zA%6u;0{?b>Xgb)er^O3*-kM;wmDrgdRZQN41+=R~&LNRv)GX`4?H5d^hGxr-5C_A; z&x-e9vfCtWuUFJ*xa-!_+W=L4ACvB?*ykbun!Y0dLqZTajkn4go39xO`y2xG zqw0B26J2hs@R!|)>Xe8MdF!&=?&9&2`?sPukF1M+e$cXZ$gb3^{1N8Y!Ic+!USGT> z;p!-GA)&=8Smr*RDTeYyaU2$>^|Oznz%Cv<%e$@0FCe^sytsDteQs;GE)t*AEYle1 zGak*p;SZt>mXeXAVa%U3Zw{+(gU zO#~Q$NcSZ}LT>@(Xi9*jcau?71;_sCXvt2GR4IAW{QJZyJJ;-QW@7LbBfajI8Oy`L z_4I(X#TDM0Os@TThjKp;RLX0S?4Gk%v^)7d7(C=i1+7)2UyOPjf*fsrllPLKI|})0 z`!O>Ppv^-Na3ae4j#Kb<8RMs%rGRafQTvhRX8va~PA5MTU&pp<%Rg&ip7k~nA8cYS z-WqGCa0z+Dx|>;iYSWA~gk(Hiuv&m*RC+z+dB^aH0nk8PS<0|>S-*$E0SF=nR?QW1 z^e|SWU7+FnG5Ld8hIvg|`d8*4uhCmx%aiuY2IbyT^$Xhegx0mk0=4UBd`-jG?LR?y zZH9Yu!|{`D*5$XA5Pj}-q#H^(XU7L<^3E;hP>l;ySyyUhwe%~@pX>0?4RJoSf6w+3 z7mzfkAmr3u8UsMlmBgZHg&KB0$WDcD5TkS-C!m8g0Nt+?$~!WY)1fYkEPs4&tVLJF zJHP^ClIwE!uhpY^M5}7Jv$LPLu?>ho2)Fji$Oggb{!LYr#YcagvvgH)f~ac@gNlv{ zazzZLnhe&dhZql~8PNPM-()?J;3&q80YGjuyY88cmmmA#-;;@=0qLE`{+7Br`X-6D zpv6VPbpfhV+_#O11e2!p&aLDbk+N0v)`1t>vQ1Tp2>k>617mp;=N>B?MXXtogf6F) z&Q$vED1aSc0r5~Ga14R&6NQDjtTKj-)*dwePPA>T%xu1adx}~&Lcp;AaZJZX&vxDC z?T0=^nUIU*-E7rTYC$(oLXgAVPl8XPTjM9ZgxQkE+<-vUHlQA6N-k;x=+=@DC?5_B z`RsvronRNv*zcZ9%ebe%vLetP7=gx$2%uwJxkyCF$S zR{buZg%W^=Ob3SzW**;9ZA)9q-|wAVWo2)^emx+kT*oI;YvYHDA4`p=!a84$nlw<~ zs!m+_+2)J~Sy)!Qlh$ag-Qi{5A7`hp3SY0C;0T**zn`&)KW?2Y(< zgA6Y1@KP=j(2bJiK)6tu4-B+zOeBjOF0oCRKg&#GD+%8Ia=k>px!*Qpl3_fUl(?JtuzjDEi|lVK>G)Z$>59@sr)*cfrJtQ|<$B zBRUsORPw$4F&=#Uuw3Hg-QO0LzV)(d#|&%k#jjU`{oHE%@N!u7PmNktUF$WwIq{ZQeUjD!A$h7s+1n~|8(#TezZj9MYc&C@F0 zJ<1lSTTm1SXomz%N; zIm(|xmx5Go{>a!E4)?IfZdK8}7r!8+UQmEgh)6DT`W_#y&!JQwY-r4>KU>tTmvjQc zb3*aFDZ_a*p65ko`O8d)%PgTtC{mC|G@tz^gOk?FOc@VHlp`3#eHk`8L-sovDE}CH zJYFA4RIJwWghFV z9wC9wFi@lvN>Kl`@OsUNGXzpELkFEeIV%(uM`eH)Qt?nGG-pc$mI8o#6bNU~!Z`AY zBLQt>G#1WeN`iCh0vH%}O&+kFueN3W$3A>-bPn;{42Ve_eEh&kn_uy%vRl+3_Ld?< zK!gg%8X@CAvMv-w#6U#ELUAqn6c$bX=LUa2?{wXA!0VgvpeHTa$x(oD;lg$}9&l!-hR9 zkKnPec0q}=v`$y3No;6ytaAU55WNIsy^JYeTx@L}U&gEKF)rF#v+15CN*0O?6oPvh zM}eTVFeoU%h3rNmy|ZwsXao@&>&hG&0TE9D*suSH53aKst)kBg%e1$H399)sDi1#jJ)xOFwu!F5JJ>KSFOQ@SjT4F0;-Lgf{N_= zrvqI0q1mn#T(L9Q+*3fTD+kdlD*%ANQ;7Nwb`!}rH1Kj?XIEineA5By-~?_51*AVi{EV%om>MpN@Nn0Kc`-*6Dufal!R zgCNE-^S|2=&k!IlOg%unfw#W62Xmwe=nvk(P%(S%x|(tF8e=v851>^ma}{QpoEKh z8gJDD_l>NjAyBKx7i+)s%pghK%;JX&y%4Xq@#1WChEW? zvU17IEZQF|mGRU_G`M*S&YL3Mw(dv-pdj+w8BzduWLx}4ItKP;{(~`O5_f1d!fEY%!JpcMVK6GC+0DednZLXIJ zM6Z7O{w*UZ#y5+P^cTHjO9=qC^T|>yXgwty3F)ec{SR8N44~Xb?ARcfgcB|2_|#zm!>xZ^$j4v1ep)bE=~n7 zAmFvOk027VLD11w#RpCSHZcrh!r@IDqk#as#d&Ql?|cv}g~&5VUoWGVisvr-E;Syf28DIw+9v82httOP5Q#A9*6MCxI}= zuAGqsM%>XE@OewYpez{QNHQJ<0=8);Zw*)n2FzpsX|pt*X-iN5Hb8X!{uO|Sj@`AD zk_1vS0BQte)d)|o2k$s&^95lCji)1XrjJsW2dvirN3h1qDPbY-jNJ;*y*$c_qj6If zPqiuECZQ>0NtC!;6^P?{589YTi3COg9G(vLi~v{w4DO$HED4)d1UGs!K`Pc&frO`? zHAjQY>!;7fiC|yD+iQxPgdN3Z!BF-3ACyj52$fO&T_1)R*|PHbZ;CM#KL{e)(rJ<;@^`O{@(Y3-wsN z2O1(A%x>@i3BdK8rx2k;AWVMeRnrV(uwNJ&)L(H}&|(8Z;n>`?fMY0eTOe$vhu$%* zhVj(^pQ&WF3>->>W$snGxWp&f{jL76)2i_yTIyWGT1E)tI)jr>WGzT5Lqy;)J>YFK zq;Lpmhjaqaye>fmz*Gc=Sg!|H0_1UV8N(#Gs*C2~1qBbvc58|&Gq=AoX&lU#Tg6=h z;$1n|L24It%#i7ZR%NG|Ry{y_iEN&*{7LJ0<~6UBw9}mTKH1Wa+@*btu-`0XQdhki6e4ZADlz_E z$pHhZ=kQEdE-*fW01U4x0(ChHy!V2f-9)WC>}(!ZZ=Og>{%e#Q`*GcwNI?S~00O54 zkcbq>s>cKwqaEY zNI|gJFkW>#`&3GU7Ie?|)ktCFgg-}>AvOpJt1GlW1 zzs~!4@{s@FS6=fi6TM0P_s9Jiro}wokbD`YgRkVW3sChZhQSOPhbRY9KpPu2jl(dm z-_p4Ez_k4Cvl;EtNnM`{9jK8pTp1Xa7)pxz8*ioVhWJv)CLSKw?h^<#0lNRtX z?X%s1!r$no2<90qe4XhBDm&WEw=Eu#jXJ=y6Q}Cv)4??l;1pKQK5>voDTlx*wJivg zqP?TiPJiC$WOpCNjCEx0mdV=Z>(heA@lfx5c>Sl>nN0`J3rCc_`hi}ve;25tOj4(rZm|X^^%J~!UmT;qFb!h_3lTc%v8hxF z6%Y1X4hg5m>^WtF^rYHJm8*;nZf?E#RvFm`F(oXqE9Wp>ikOZ@}1N-tlj}B562V*p0yO% z7JD7;nG0&DVuM{N{sHLH{Hez~*-d&OTZ}6YoAg>4-u_zAW~5uSbTA!5twRNbzL&Ta zgrBFDXqk7PaNu~W@NwUk$=sAI;sK^EFj73PG2qnFK?rEM%y{^F+1$eeE`N}zR<>Ko z%*LJy(p3>o-_0B+IU<*y>l_U+-Z5!P-csRO7}4GD&1*hu5^%+oG>qc4>1uV$IXd3QRYh16W zGoz0%jci`@_X>m4t?jLu9&bAlkEEGDKH2;2khfDM_3S{SJv(~ECy{PU&mq00c1Y6B z&$pZQR#G2~5zC`hQ&fq9sum)He2-;CU036Tnt8x2jwdZi<@O>BC}d;M6|&-GT_%=u z@fA&{)z#C@$+5YNb^?O30{sl7Lfqq!w?UMp+9!dXmru+bPcHq{QNTt}qNOl7#Rbs{8$zEB&T%%Y0)CLM*Z|+JfyX^LBGXA7w8W&@%~NI;UD8 zDxA9D*-IxJO*~BR+Ew2Ft2|x$T{V9uHT>Y^_bT}kJ>7tgi{0V)+%^Fd-hjWOx7Rj; zN+oVOo~k&O04XqnJ*L`or$D%4nBb<=cDHNv7&hC~J+rzz(&JQ`lb}E<84E$Qt&8M7 z=Uz<+>WysZ7-zCwXpVgHhRt(RKa_%l>x!QUMGy_sP8PXb(~d4S7g=u1aMP<_4nIsO z?i)$nwD&2OVteFO9tLZDI!-O;EJ4d;YdWy#C&YU}?v|hB0v%E?0)%N1ZNBB2Ait3X z(x~d*GivK9Cbw7$$Sc*&b3zuZl1@gGg5PgJt9kGdQ`RCEkyChJtVDJ>dNbVdo zd4hUZ72EOke9{dp1Zs(;f`TaE!J_(9#0_@tz~b+Ryd-&>u+Aga`Y*k0v3&7q-4h~E zZ8n@x%U{kCxt2fAENsFyIZ85Ia!BO{%~vApMyxeK_ev5FVbQmiYy)fZ9=M~fD}nWD z*@P*%$q1Fex|Y?8s#e-Dt`&*szUB@9*~Y`^GjZGa!>aR(?Zaa%L0_c~g(eN_nQY&b zN5J8CI%x~=1p@ph?QPh&X^Edb*+5pl`3_v~W^Jo~yv&QACZup2sFUG9<^+O>fRr~! zSxPOvcMG1BPy5DyyG}A-STAPkyM7CW1sPFZXM{mx(MT!@2uERtjD`rA^g7fpZ^qTO zV$<9ARLK+K{CWx4W)v%gf(^8w^>(;ZixMAkUW?|C+W0uZ6vq3Hb@vEwwzk)nq?5Ey zt;C0&6-;)E(Q>L?6 zFdq781@2;RQAom%u-<{f#JaGt;Ay59N|G zu-(Kabd~h6gU7}~Av@8Z5#fmgbc7U%N=J!{qBJ?aQj9;JoD-XKI-?w@d`9w2;uZF< zn5V+ylHvwco9!fOoXBZ< z>tyj{=4XGLaMKLt$1n$1#6@F+ny9lP5_25=Dg4bkQkhpRxT{izr4ttwD=c+u9D4mM ztDf^@pLtep(tplMc0A#8{H^8z-r0ADxm#Oh#%yA7#27f0PKi(e=qUtrIwL1L761!Q zF>a`J%M}$9+f{81f8IUbzAx8cRkK~YshbXIiH(le!l3%BPKDwG5#@Z23(qo<<(x9^ z;ujOU6Z;cI1m;t@Dcoty&Q1BPV)R<%5d8g~?Z>oIspDH{pR+_bG@%wO5~8i=uW8Z2 zbPIDp#MNhXZq2LcD`8%G1G^=6Qti)k?`Ck2ZF;8-Fiyv`^Uj8HH>8dw9D z2NC!JI8@*MdFPj;=YcN!)RJ%ap_yV*EQJ#kkWty9W(*9Mo#OHVhRZp3!q{GfNxv|@ zfqy0NBy~a;thN)yAd{)c`<&TI6B{S#BQ34`qJVFfCNiE8M*+MU(p@>(NyH8$sK9|G zd+wN`!q?Lq-t?aoch1z5L>39Kv<bNCxQLD5!2Tm2;Hh31=oJblI#fF!fJ2!Rzz5j|GvLIQ=IesYmynltCW@ zfuhhSa8Q&u5rmgI@XM9#CADF|&Ks~Uj|u&>>7|gqcwYvGc?1@mKKBWTM1I6c$aCUJ z(YP2K2WSH)D1g=rKm>`6fLTYx=fmZ|JGccy#k}B2R1OOW=ObJT1tcKS;G%}?5*z-h z9v^ffU}M#Gd)2Iz9rBVCjzT^T6-R0!L&0Y!0RL!sQFS|^Ai++m_fEd0D_ z#Or(}-UsJZp?YJ;5(*M&A0hFtN)oe5#6z+BX#|0ZI>CjqLl1m*!+!I4WhhhMLlmC= znez)t+t5*)ABO=sbulb}f=3vE+O9rU0Of?%g+fv}09^{aivreTqLB$$I42gJVF}GS z@HqA+(f<_Ql|B9KC!_Nb;jSNPOrQ`ye}geh(mPU<0_W5r!u3s|U{QrcKJpn6#TAB( zp`djrpf!S{z7nB@CL*=aVMydt&RRH|Jwt>SQcSiSs)eI4J(RwW6bYUVZ=1a%1J{KpEP#jp4k&*})=<9-e zDbfiL7h%DOh=;fNreHy16Gwx9X#S03{BWS!{@^{wt@i|}Hki{t(znh#Ky|-kdU_$< zUtUfi6=zS4GIFG%z`#X5_T#4sSSA2+pp+CM1qT(E<1z=c00DR^NZA0O3XTHA7fye9 zd*7q~RB}|Y9R6=c+MSb1Vxp-s$m3X1MJ4UHf;Vq=UkeJBG)?Zro`3l~V%5#{yI({K z5wt2~sFN02L<ov|ZV6w% z(=)XqvwnVCI#q61j^hEiw7Xrjm>9T)+|aU8;$hL7#bJ+zsBb=`8@)gl=olSw7(fJc zDF4O^R$b_W&!VjgoI+^|6(a%`oMBHqcf;qI1*sA&-d&n30EyW7e?;y-jufJJ87w%f zy5Cy<_?%bf_v_Ao&1@EV5gxhicwOYbJ&y;abR@b@a#a=z0+ZZ}6J!HI3VhxkBf8PX zxvE`tejAp0yXSuh#6yOr&Ff89?Pl)Ux=v(yjKZxok_tLF-Y3l{Bz?Y1NcR3+Svtue zU=M$v6!JW&bkf$KZ|vXyS|swatcrHg08vqX(qVKDjmb$zTwZX(?xd1->W*+%jhHC8 ze>FLGpABao9##i{umATtR|t3&0{n-&wf1@80)RpLKiuv2g$D9l=eeuGHQRODjZddb zj~71rdgJ1$YNGZ{r(>xp+`5(sh$4#AC2EW`zLuI^os-^Xk)lEKsdosE#+Ex|H)EV2 z$0FRIeBz-l;&*Sly_~sy*WBcrazo(qub@xzd)c3MqYj<~+1>p%-%*-s+cejxp0l?& z_bz1bUGbgW(W#J(qXVfu&%j+y>qGzDQD;W4|9)xX2V@-C{QvoC#eB?e=~`{UhU%!lg>jru}8kCv~cBH6h=gK##7T z4)k2{`ISwc!gv10*Xj?s+MKHi4}Y+y{K?s-QN_f`J~&t7(UGN0UfILG4{HTVYn#6v z2vSFc(nrbB2flSDj`n@e-LSnG(BRmoQm?zaR(?-*KUrme$hCK`YGE^~GbQBm?mc4g zog3**K{;jp)>W{zYBjO#H-8&5e{>h8J+8arB92l_9S)?)Y4)< zkCzri?jMlXPubMhw_*Ow#Xna3FmuoJ@TTD4z4jli0{7>e?9%$)+#9jo^ypR&vo46e zXPeP?ea}m>*Vi_qQ>ko|gG_Vju2V7|)yY=g-C|x_Et{ImB(wkaKQcYH+_hXYG4}hY zbnkTv-%1+cd$t=|^x{rd>?_Z7dC!z&&(!5S&-z^_#jI&h-ysolU|8}9q8U3B_ULUMTheFmxPoXZ#&ZdVuS&v}BS&}Ve|F+|4Ed3^6fk_gYG20INLCRv+KE_IzNdFAhx8G>8*|PS2U~J~6kyB^8 zxl7vTmWqT}Pt1%c4IX!TDK@uUP=hNd^-cU_EMb|OAbeZ2hc6+u}I$f<&)cM4+#~(bF+_NAA5` zhXmEh-)il~bO*6%wuGl9Q=5xSNh?3Xe(dMmJ4zoz=Catpf;l%x~sE92WyPDNo;i-0alPwTwZc+aP38W zn*-C>8dTIPEbOLd^Kogf(kc6Mg`$j%+YYneulELdRdjieE$qtnB$$Sb9t6n>!QHPK zXknkvKT-{~<7_=*Acq+L{d6o>e}qYc@6Y|+zeg#3N3Rw32QiIbx2B&(wnoq1kZgZ{ z?So{DoVibj;<@vZ@1Zem43cBVooh9mC`T89U;6y)U=9mZWo9J2ycV$eP^B)sLfY_y z1LiTe^1fEX5?$<(%32U3v|#DbOik2)6RkEdu|ujq)KBZL$vQpI{Z^#gV>#PM>gWyT za9N`tG#4|ES1Vz>@$E;F?uVo4a-Y9$UT5ugEuptE-Cch5PN17#tC+Z`xXQ$<^pP!~ zyLlw})3z-aR2HJ}@)Gk*HTTt=TXj@cH1M*S(U|N(8nrCh*9pB}lqWCTBzdym|J3xG*nOm#MzEFknfMFr zP4{Nf#L_g|=e+sZZa@AkcCpQ|P$3C%&4W;_~yZf-Us3ReT!~J*TqtG4!QMid`R9|e8x|-@>wCJ7#>-t z^HOyL$5Xb8vySfJoXRZ9P}8aeefcQqcV@Mgr#srmBqrG`eAcc;*JN-qzmjSF<5@Nq zacWRy@Z#Rya$M~G{_{`p$A&+rl{${D?d}J;SXbKI(fZ@=GWc*zb#q)hWQfSa-Y*lW*YUf3QrarzQrB_91v%GjdoI^Bj_QfOFtZqq6Yo?}8`c@k`u1bqhF@y~x zA#!s0d@va$t@@EE>wWz*g4Q;1HHatV^v^IW_ZErLZ0q@nImfB_=osy=-^LXWV;4fc zXZBYtuB#(t_S7n#UaLO0w)hVGYH3jzgnC5N4 ziJxeGs_>JPBiX^X^6nu6A<6-QQjwN;`jqgKmqskPT)=G1RrZ4eQm$w`CW@GSpDfZyY zem1nnRPxF*+hdc%<{!*%MRh^whS|w8*ZOZhuQJ`|OD4Q?@B-@>Wm|ZC0$6jZI;l5f!ZJRy|d0CtbHWNLnno(!=c_!rCQux&1MT}w_+3M)lPZIRm=^U{F zGi!|*lgwpN)hg}^s~YYSg(TbS`xAY&tR%ZK#5VzHu{&n~Em9+dFM6xvXz| z>}33}y1BDAt_57}@^-(}HatmUh|^4z;at*wHmB8*5Gg^wf1dQVYZcg*oYLI8Krdcd$+;gsKF0Iu84ziDR`E=#DIdMtNcH8eTD;jZq zha+%2UgZgMM9z(@W~M{Za}m)K{ci&(e<@dkXRF7%9$UwTjT9w+I&&eDTAOnq8my7e z?mWfI^)deo{pR$?yE7LKvzp%Tb3Aowy032jsea7mGK4{5(epMs=x=1aQ0=b6;K5o% za@RY5=CY&NrKS2wo$E|J@xKZ^i}b7Anu@g^yS_|?WfXqp5EP9YGo5{1U7P<&_^ajV zNL7PVa*3-j+?maKtvyfpe2kEeE_>10Z_AUXzdvPoL5U`OJPNcnl6p}kcsJvoh?wBr zOo4tu(brFIh-FFsRvS1Q6i)xns2zV`@BqRBW7*-^?dyNC_^ZbIV}qsYSV@uKvopT7 z8e;C>Sg9tGBW8DIO}n9)r@5b<32C{~QPWt*{`~D25BlU4tJs*12UT5E?Jv!O;~X!( zHu8+cf2&DX{1v506Y-CswOzPuax0+};PwiAc!eqG_n62PWO3Uu-5mjIe+%pUzkyfZ zT3x)>C)lxe?vq@+^oV;S!3@v*Gi^lOxG+QGGb+9nCOMup*fE(m>Mg*{hKlW zfN}o>u1hsLV5E{P;M2K-}Cs(PmnDpu!@|*1NeD zW*?DNJl|g^iZ)W_G!pt*@W)po{as4&fng}P+aZsf4WzGO>brrKtCD3EQr4o2q2`vp zhEbGDS4B$aC003I#u!2$8@_Lm`64$ll%gI6U%^j^aH*SoNEys;hA$=jSlY{l=p65g z5%@`>G8IgOKa1p5JYyXEDBHw6qU4#T_XtkV$ToO3U*b+H;7PvziA_d+HJk5362HCb zjRj3dE@_i+nJnB4A5cuhRML<#uV%4lVoX=xAO0=4vLw@7&*aF}(`9y*94aCd3Z1Xq z!YAq8evvO(>90MR&Y3RJWlQJ+_z&EUkk;XTX>Ooo?y6qv*7>z_P}Sf;r+|j_z)%T`($r_R%A9Y9 zxn^DW*XjA_H`wf}hQb~1i$9YuT7Ua8(O<83zY(MK;oExwvP()TRk}pes&s_qqH^q= zi?D~%55CnY4TQ%ORNC}3c$BN$4E1!hF z!VAeOY^*;0wYK~yQtd7u?aM3EJn?pee3n5JQC7gwbZ4eofwAHI)!4C; z-TV{r<5%Kwof>~)4YICUzc^m$XTr}Bb0s}Yq3J=MW`kwStGMtjNmJz~-K&XXy9sSA z-@ku_PndUiO39yQc01k|b%jh7R_O37%E(#ueJ<(pO$yzi-crqfeeMbmJ%ntHsE7%0 z$$qWv(N%qOZHaV^V=(AC`O0KV*Xb`Qa$D(wDkq8)FCVs?NMqx_dF-XQj>LU z+1NV;B!BU#5%59B_<8;q!sqK9^4gY+Nihy*U{t&9&fVD@VQRX;eZ%n;Zt~{O7DXxG z5t}eCrYTrIAVREzPk`;?YwhRCF&D&a4U%4`L>`L%9{@Q(#=m(f4}zDpearU=yqt{9 zl~z}e(TtL~SYZnyGAI<87N-)Qs<9I-V+$@DUCwF7BehiFz;lfWu3W95%uF+A_lIJK z2coUfm)-#c5?7XsL3N8SKoFl+Jbr<^Z&{$)>h=i#2AF$*;a_tY5#8eWYD`!M| z;;76caWcpQ1;CB3FQ}q4wF<#sQCq+gx)&>83uh$*lFdwMA3$F=qv9IuCvLCz+8fvx z2M~FhHw92~*|k*l;YTL7YF?JL3<5R0loc?M6T(|wy`n1coiX!BkLs*4XgFFurZ51N zb`_$wqfXyPLgCL_g;45qy|Eglv&`zim2S#4#{#w8$4l9~tQ2xwfPH<`XC5^F0Y#HJ zMNd?jE-3FWsQ$hy&WcBbYVz_C6+wx9c`Ne4ER?`0;_{3pLJaC=v)Omcx9>3Z|AkBn zHW!%wo3!JteMZ2`(#92b_J9gD9Ev3mxw&O&a&hue8BT#R47A$j4q!=Uk}(=6t6|f_ z$W#mC$f>ak&wxwTvYIf1SfSO|Upq3_gaU%BJ7*-LPRk^)kfj?+QNpMWGz@r7#*Jnw z26C$7*U(1MBiId`W}AIy#@|yU-JUWBI7?Kas48*fyiv}YL*sc2k73r9yJL^PE;ji> zPY-S`Wd;y7@!lX0be+-j_f5oA<+*^<_ENGEvb=ne2uwA>qM0o z%i|SVrNNAZ=z#>Ns_=0^tw=XfzCEA%a>RhcSD6`gcs=rX9@ zx!H$q${O(bY?zJW-v_fW>^WvqFf%GIA^<&#)VXpSI(GgV`z2y z9&zG|X#_Bf@v*dn1Kl$u#>s@NN-QByPTp-+z{6~OH%8`5m`0@=7P%6a+Jw+>EshXX z9@oV58WrJ>zc(c6m&^eKpg|7b6-gq-%W36xyj+2(N7hwy1(OBWQTRINg_V06yLB2( zxhl(vq9{ik?P?0gtdO99Btr2Do5i?_zH^4b@+h)h&Z;44j^@P(GRRAv802)X5sx4R zV6A17h!-T8A#-h@hARxbyp1{1GtI%ec&Lqatpt^5!nu+WQjG*)L;xWrJ*Q^E$1{T7 z#dQFFt(U1W4u~K4o<4vh=d<$&Q=SXeTAY=e<*6sj~E{aueDL3TJ%8^YnVe~QE@R1}Dy>jz;;$qcShPDdmznRTWR zN^%K^)0B}BfnM6CLsU8pb(0@c#Nj1!LP%2SQeg+9QuiT z6BC(lDDwiGFP4lr16XNDHJQYZKvq`es>%{K=f0<^8%W756`D~=665N+Q)10gjky(# zSXQ=UixFF(7}hS8nm9v;vgd(P&J;=uao~8M#C17)3A{p9sf(j=T&iDG2M~Fco5F@u z9&70lshe$4%LV#0pX+&FEG~jfrb`1FE6{h+zYQ4zYlEuUT>!-a9)yfAvaVy*mD<`c z!pJ&`Y~UzH3|ZZXk(EYDcElB)BcO~OCz5Fx(eg*qO5;&cu#&$IP3tc!#bXiII)e#O z*~y7oFsnUYUU9@1I^zwsd1OvA)ns+b*sysze5BwfKOFW7T*?w)cUgL$DAkORu%L?m zK)+`o14fW)^u?6PYO4)dmX0!3Gi59?s?eEBYB5x{dEIzfi(1TCKZ|v}!DgN!B9q)kTptxmM)8u&ihg&B|7aVV;y?jTx&z3wiDKN3)z^<0fsf{( zp#_#WSQYyTSSO3{NTvo-#=ewbf=YN9?)w1IrDp=}*2OTECoEJQ_|Wh>_Se`GKA6jX zJ+kP>5qe%Q%UCb?IRj;=rnA3{DUM}BsVmCPXu~1#C~|c0I1~Tix^hl3WfrwEm^By< zO1=h#+#6AtllBP8(k^}vkq<{fQ6^`7=RyG#D`iA|jGRCMamjNeh+hGI^}zK(QjTlEF+vUMvt_9f@{-wtW%XZ{+Se$73OddiWtJ2AtkQ7Bk}V$n zZpEx=7|~ZbN7ReN7790$luazPsY_OC_ug57^z14Bd7b9Df@piHdl^riE=S~e5L#eX zoh{M|F{E65Xko3sl^qBztioCj``0b9l)z zmueJYmDU%PB_)fJInP!(>t}LBw+D4ZCpX@(_*Rt~Q!-rA95^SSVo^A8>6T1;?oyWk zMsQ%8cxjhR1=o>Lpg3AvbVF}iSElC}>R=I%IBPCGq8Pe# zo9`<6f*3`%IS1c3O=p2zHvn}C7E`(EOXKIqN<%1_3#e$77uX0i=U-pGMb&A($l#b% z?FoW1w3}}-RxOmPU4eRChha9FQ!EN~7%5wbO7*EOK$RK`*H5zaeUSuf_A)w9#htdx%9|DK+cd=wX?`n=m&G0s-O@6!x-SFQ0{ny2*Q=|A5tdt3ds_c_l%+b z&eGX2abQ#?ga7wKQmK4Lyyj7IG=@5qY5gl_daMUUot6v#YrPkB>Yt z6_2kGYBdH3k7)cUlV;;J3T33qyd%P#t=_J9@D)@)IN%%1RTV2{t}Dz$peL_Djf!1R zA)&U{7W1Wd0G#!lmu+%E@jbG!47CPEtc$KmduEpw33V=ECss8Hz$wVYV_l0CMq(D3fDItC7qR&a{*$tTb`bo5_E;CTES2BdhiGYN`^96Co9Em zCyiMKQV~QbiaqgWAQZAsar1fAm5&&e6ivp7QPNm38cDDMGY};Rg=|$P$Y+4SvAEYLQYU|ZLaSKswxO^w#RQt#~^vq>3w$cyY=-6O{V!2 zUrxwUFleTV%7fx+b8;6jf`nv59pr)_s88OoMk>izo~Z0}r8IlsG4@*G)G7{HYk6u) z%3yWnGYX*_orT$VobW{L2IN$C4UuY2vBVK$yb4rhn#TY+Rt=pi@(&u?O4UseqrCq_ z;RO*z89lu=DMbnG5$O5I!h-{EoeIRSzPuyxfp)W z1T7QbvXT?2_FE$FP-ikq@UaR`qF4x+^NmuuMy^PgpyJ51Z7`!lWvDXTI4)JPCQBWs zK$+O$@fQNkb;*B{f0wPmbX?adX8lCg~EiOOs~mjX0dFk&@v;~<_*Y9Dsl z1~bku8LU_mT}luT$#vm^8jUfyH}ho3(KA*=BY3EJ$}$3lY*^JOlr4RF8^@z+;8e+# zv+-jnyg|-ZqK{42vo=@4*)*Ucoz9%H&T>KvheJ0QTHAtV68(SW*KVQD-Ex9H@`)+k z{6(UT&Bm4mRm3E#Te;xqXQ^`~U4uGF#|3#SAs;E!c|f&}3h2Wnr-ZpkCdw8zFXwSX z)16FrEAWVxVwvsLgln?v!F*A$z~=Gx04SCOM7dT9%77b`UUNbGjR-ra)kBJ-iP@YO z>3Ns(Yh0?%L>vLGRRpM!H&~PBEwl>~9)2v0%8^lV^yV|G11+F@QDzCs%1Sxf*qG9T z4{g&g|EoLb_?4T&>;nDXd)-k;c_hl7W{gOMLCMSu{cvsGixr^-ZF>$You_o(A5ab< z@|lIy=#ugKco-<*@NrdA7+Tgr8vC;1q?Ez5B9SVjtXciDeRTjU&Ag#R?9+Y#2ph8 z{mtk9^OrtLk3QDX#(_<70z|jpNAw3DXlb_Q@BvljQ5*M<8)lqM{}qlN<7>zfpM_j{ zOF`eq8!yU`Pdp8Xvh3r0xE4!gO;C{rM`a1ikU{3SMJ6#8fJA1c?aGC-;3oGMQown-~3)GbkXqDlZ1l}#)hfqV-p@^&+_Ex24x{31^?)BB3K*+aiRz296J z7?G1m_sLMbJ&2UqRl>1@A`y_&i!iLR>K$sS+YbETFKZi5h-~Dj3YZVzVkPa{+ z3wW_81xoT!@JS~1H=AVt&AaZPPk#0+9X)o);sJ~KE^TkS>v#ML(C5BP^y$xm);CPK zP#@XIr};E}evahJlad@2J%%__)G{yDjG|2MnbVGkzCI}>CaEMgkdEP?LgYeaS3=$j z#2|Oa8R0D_yJ-~Rm4{RJs{}~Iu#=@6s7_TQEB$E?TeV|vJM8+yQie5F_&I9RjM1CN zBNJ&wTF0dB-`3~)O5}ozz9Pzcas)C7H#0r|M;_g#Uwp@x={DP6jEhzX3I-9&+q3f04I9^c!`c0)CH2Um*!&MTq?_m z%=iZ(jy)zqs7pCR19EB;Lb3dnCXfVui<#b@K(q!8<&+(la|x_UuManDCDNNd|37)h zt@O1Acf=W(hict&xyc&Mrp|G<;uH)XaNmPWfAB##KoHvGCTC-*+DbNs`dgzha|tQ) zn0j$ig=r26rQ!~OMjP#14l@>Bh*yjz^|%*_c_@0Anscfx*90xuqI9VpKv=zm7_38e z%_^X4$f3U;V^)}H&Q%j+5m?tE zgtqA%+3v+uzD$!iOgtsmu@Nr#Im+Tpa5QerrK9GNd490sJ2I(GUM`1+u{5(teK}{3 zWoHnh+1}%10zW-rBEoi z?HIry&bk`OSTjY!5|t$*NWD}boW#`s0Q~)fe{!pQBfS46{C(r+0Xjm5B)d0%vXEBb zyWd+k_RP%< z(r?y0!1ev($ZftqbcpHZuMmCwGi(9DxGh*m={X@Sa;9ykQ!^s~R|^6W`2fZ0k-VkE z^?iD*hzl=mA*L;7P3DYZXT{^^P-hOt+7wmxKw)P9ttQE}FFXKNgfD_ON6Hq&GHZ=o z0CK&x%8EE1)#>GxkbkJ{c&N)vR!O;vl^7Ty$3qkJMIne=r;tPKk*v)cI&*r5e(6{5 zq$5Yx1>{3QZFNe^O{5MSJ-Rr7nP3IK`vK5-0R*ShaxRb+;0xInUn)Sv5(H!I-M|=a zmi1JP)3zjQ#WC_#ZQA~~RAIW>X3I0Xu}G8bMc`;$jTJx_ROuCG>`{7RslX-QgHw7u zRdQz4d&jLo=reS=GFE;TQ0Y)C8Tx>xNJF|}U$ujkO-7D-iA=5w1!B!Z54#pvlFT6+ zjIwRNPR4vE^iSV;JKc5vHXYcUW;}oYcajNkG=t8*D_|+ZLKQgi2-6?_G0}9!6!a!J z3!w}y7nR!+4yPLNL26V% zUH&6!m!?69qjgpoQ=G^$TUgY8^T3q8{FT%6o9})=`uj86_DdqZuRjF>EV&NeHajU7 z4j%x0;G+%@+}NOuZxNg}bktPkZIC|qFxJCiWl~e6DY8=hqmn#8pJ~vTr#wX60=&&j z2Ig|VfQFqYoONE-&s7gE>pGhI(FG_evvEcQTB4H`84Q!!+~O6>er-2Ie!VkBA!4Q- z^pXH|g0NnW6e2UofNDfQew6iOnJ40u5~y#WQp=4Y_4-G@d?(GjMu5MjjQqwC2qa-)?XD_P4)%WmBF$?)*QN zJ_gmLr_~awL}pNXa~TTbO~GXpp$SgLQB&`qk9=Ykz<_CN)-_$R!CZ7OcnP4GT!}cM z<^q(_s5`yg}AYZnkZPyuVyA6>f1ddCW5j1p5y|JtqYo2p zoulpRova=ZKTT*|>h`ATSORR<=3x z+;5Dm)#!Qo(HmG%u*&a(6@inWNx-=u$|j4ZVwpSJ3;M^uavyCToY*!W$6bde+@Hw+ z;C19VQddV5WV~RBH~~W*`n~spUi^Gl3bbv$JS1J%%E;MwS&AO7JFCi;bJ|d4PFR7( zm^d%lt$-0%0cGkg&d@+9W>JtwvNNg##}wO-gF||soM%ZU^AZ4t&u`mkPmerAjeO9l zM`c6DIoZ^CUOsPoJmy(@w%_UF3H$W13h05e9$Iq8b z@ECi*JeXMr0iz27yEci_MG;gP{oqyoql>YfU@1if=xlK>G zYARg+MM*jK*I+U+z}~Ku38ptVvuouzPtSe1vMwOt!zY>k=ue2=`hB7%G&fm*B3O!8 z$%rdTLYfc+XY13rvi}Im2B$H`;W&YbHF+RThqgFV^wES;klz+UW3)!)2dMtvu~?bq~eNcIFEQwo?wU~8wL7u-nny|0t6#?S%%>CW>~K-tkg|&yS!An7Yr#mV;VvF88a#D^K z8Jw5yYk)-&>5zy|AqifohOxH`wxvo%0 zQLASkF@U7r8HLvs0aj!KA*F09FIj;YAFsZ~rI9HkR%QuenLi$7HAl-XYd9098+%Ec z`;M#pZoHYxnjB#!b!`t{L%;Z|_t4qxj;=h`c+yXbvK!+MHFmeQpr84vo9LTgx<;S8 zc~1Arku&VaPE+%s82pK^5kGQ5QvOra zZA*$j-|^*GXKki0*ZlX^qx&pwuggNGj~@WQNN+6(bxG9EyLgNm)e^cAwUQWcq5Y<- zW1*s zz*zBA{`TQh=jgA!^{Ha~PbIVN@y%~&=pX#w9jzaAeW9Q+*l=(Ha&O{L4oLm~#ao#^ z`Ik(ud>L6l(9w-CGNJ}uASCB%R1B;z^#0{@kB#KW0dj|f*mq!bz0Ft_3&oImRH>*q z1by&8U)u|y_lTtT_uohS&zb= z>zM{-7$c*-!=utj^zc#~CuNBuPpH#eZ4AqgFO>IVJv-?)J~aTMF~w>Q0j z=v6OnL=OOT^e`Ot*LS)aAEAQK%7IO$4}6H|>u;3t;i;nzn+$|mYsFDzAxL&H<0YYS zDh&l>Ml^g@yl+u9Qe)M|D$ZQ4f=2B25Co1Gp*vo~q;-Jr*CVudK;(PD1 z#&3;&$3*+N&(z}i5!57XhfG>hzEyT|ToebuJ(Y9>LbEhVq&p3wI*PfrL=>gx6?H7-Fi5Iy(@lQkOP@7I3&0s8D0w&>bxr!wtl zYWxYAaes7Sn$NWW4Ni1QvdRDXCvKqUJnb-@J+o`UKvOQf?fZ!C`kJ|YGfcs;GmpkU zrf~+Q3-GAmP#^lUj=t+n?6UxhL|mb1xuhN4qV7Vet&qG2sNgP07o;lL1X$w>4T7(z z&5cybfFbbYU5;!SJmO`brtK5)SO2>rpXN-Sv7>(!dxM3c1S7*=d&`V!=1^xK< zT_<}17SC6#dX2_A5zgA=u_gj8Odn|a_*np%_yhF% zhnFI)hNB-79bjrcXvvW*ls;3)i?S^srO z_5b<5JVB325IKHyVgreb_U0Co{yxmizX6HcjS2m&|NNN(HiLFMZ?qum2zCTKeEl~! z^wCds65$)#T=&u6V*w4h)@I}B%L~yJ_~0Lde&k2EU-L>8ns!;FDeKEQHfkL=()#N` zWPoe?7QiL3N+}JH0hlU>96Y`Z(A8h=eG&sVH9g;Vw|v|q{d=kJw@zCmpH0eTYx`&n zyo+aIyDSKB%KdOMPX0P|!((57Jka!FFoCu13$n>Jur@bOD`;9R8++m^n1iwT|D^-$~*7OWV(+{!K&ZsjFR&{2SGu)1v+N zJ#T&nz3!z)B@>;?grC2yMfuGP0ZV<~(Ocfw&^vxZ4#uV{AMBa-mia zeF1di*9iehN&#*%LJ(=C6=!Zb+ZhOyjJtTjMD7?=sd84zs&v8*YEa^0Z^Ph}pg5y2 zAk;Wgz3JNU$?hv)pLt7CMZj4^&lpQGJoPf>l zTKhiR`<_VoFzNOW0~nWsR+hA4T)-Sv_&l}ml93RDk={W5@jD;3N1&e$GYCGKekjPDO~(#A@{}3<%-fzp-8{VRwEbb| zy<1zLSH6VlW1oQx6EPh*G#FmIa>R5J#O08%j_J=o1bXiCJa+|5sE*j>>-)G&wOOf` z;yxQIq#01XW@BX*AucPJi>Ux`3it&KBB3aU`OWF_9zB7@& z>ud{;JTsGmegEz)+61&D2JlW{a+{!y4&VOCr*k-=ZL?A-F3&5mo zHN8;AA&+AY3FUaa1Q>syRdV|bz$SfakJY(#y+sLLB2OG0VpA$^O7wrv`_G7>?$9+? zPHj2B$qq(1)~}qJsYrf5d}dDn-S=lTD@%M89-5_tq(SE;S zKETVG2lRCU{~>=OQQl@+)(Ld>&1lT`Yw|H$?5_hz_sVnO6fO)v&-VWCc8XGRj&m|Wl51CQ8FU=<3(`Q@mt~kmOT0cCf9q_Rg zyHWUE(2XxSLjT2gUTYVE8q|LP-v=NhFi^Jz(0kgo4ZZeTnBFHf{^3pc@5h#2e_$$D*0mhJkviHtK{oP>C= z3|t8SQORJ8-Wb1$_KyfNPttq7>#Icf-z!MIM0-iC94Oa$wq83Nr+$VX#qNxLPhl{6 zc81Qu(>iZUn0C$y$oH_$z@+@{YilEG{+>tR02*_Pk;jviqm1UWSbIOnXh#L^8VScKP1e(UAjsr zzw>$L>AOhlY&o#zJe-#U`7=Ly9Ua}ANc3-Q^k+>Tg?p}$1q5I7jSYQ9N`bSd8`_Y= zWirl*KQIPFoVasIGkK7?%%pruR*QYd56kn}F`#3)gE61+OS64Vmbc;{fTbiN&N9@h zVqd34x2?I;r>wEtXn&8?_J)^lhH;FchcrJ>*)1m@g6} zNyeZ}N(qm&2L6Eg`I&Paea9QGq&L3usL;z7u4K(Lx>6M^7fnodd*DDvZ+acmzx^G_ z0ybO+Vj9wae{gJPzzBzkhTwg-fbRQhN7p{rtR4>~NL=P4Rmf6>7?E{iku6|CP99da zrSW)!nnyGpLrc+WCYst_Qh6D~X-t}b$F0@@;LKx=lP_br=!b7$okYr4$R-(ke9@77 ztl{>lJ(4uv8Gq}(pN60L-!pu6;9HH24;~i~{VxItm<>Ngz1iAU-jo5D*ITIUkwnk> zO65PNV%tiryNCM_$% ziJf$WJ#RDifS@T4B#M3EgA01f^=kuHy~dp0lX5#}(H!Gki zp%A4c5x(LFX6p4kvL()l=5{$NT2WA1P^h%V-6KN0$TS~_OxshO6NTV_KhyU6@F&mF zhyMJ$DEvyQ?L|J>(_b5}#AHA`6a62RbpNNm{~CJEHR}@nUF{EWF^t5SenP(K>5bpP z^c(kx#-Jghm;>Iqvp6MJ2ABghGp$D94V<})=#IZw&<)=U?Ss)bc6V#EW!h)ku@X@eiMWW@p6pi%u>37dTRrJ`bR>7h zyc8r)aDikFM$vZWeEt{d5#Vp?fj`An zqg==l*Q_CBHZ2k^pX+EL!ZT}f-&1J;8l#{3Ou&51#877PyY?*T?howHjX$_4 z6yweUg0)bAvF?&OA&64$D?;;Gm5dwGFxWo&%(dtqeMAgi`u4YfMMyi6x}17M+IKt7 z*saip1NH)XAM+a!tMb|s%tdc&sEsjj$tI?)jqvv8KGnx8it^_B#_wpDcrZ}eXBdb; zuHNUUL+VREFZL>E?EWzU3-uk&d*h@p^uY=%c}W?FL$3eEe#)>qw4d+?lF3CLq^X<- zM}^@74X*A>iJ0cV%Ay9&2_{+Fv9{|Y{)qwpj2h2_54ZIHyz7)*+tq@+QE|`uV?VMp zkpp-7^n$+ibw}v?zTv2}q+1XC)i)!d%9nRPw@O1th`#CdM1T73Rw8@jYJOw%J{u6x zar<>Mm){FR@YHAKbo%8JI`|x!PuT8?)pkp}zg2oR>)QMYNvhmMiHTo?YFcJf$;$u0S^@fs7PwdMAcBG5}6R>T-iE||8-_Od&+b^X9KrW}m>a-n3Jw2B? z4wYyC*3v?*i*xqVh0!=KkfqCY#iBvcN4amNWa=$pjcMCo$Eee+iKHS~&@mCu{?2zj zERtMvy5_jl{tNhEfrz>0xd0NGH?N$~fA!X@3`;cGE~e>QmfNq(9Z04WFjK0}zp0_S zKHJgByG<+7p#PmMU2O?qCJo^}Pt8sO`O632dxoCODd(fSau^=IwS&i*Y-`s)ep$M z!5-KHhzwuvb3f(BaVgOF$=kq12p>#C_FziG3$W(tMS%cSVaH_z*Hm;73h5^pJ(IF_ zTa$<8QZ9?~R&yc5m|_u#QgHMdcU)okA*ugD%7IuGB$ZuFa8N{pST(gAx&K$bVM_nu zU&#G-F7g{P(8SdL76<71l3*s8%FewDI`xTjbnF`s(PFC|7og`=6s1;KQQ^}ggXWtw z|G@{TF-Cvu7er-8X70DnIzZ1F`=ST)5X4jSWfGy5_slz+%G=c5MS9z+vmjm@A^INp zYrIi692v7`8~WJ+Zo;HrWYmqHE3l*^&_`LZw96@JG5d_??pa zn<#7;fL-gW(Js18=gz>6)authXN`X3O-BXz>l{BoQ)a4cH%d1y?ZzKG|8TZuH_2`YgO-MQj z%)J2K_31ghkq3hx2tb%{Z|Ih3IEfs9#VZ`>XJ1$RyGiB*%xw-BdUCV>Jb?cA@Uppp zCEWs5YK${=9v-4qp(un>Cq4j`tUnGb!zZlF7H~8Twv4IBq>F&&I#cm095b;cZvbaUtax;BPv~*G*?Uh%6NV zP?T1j3Mop~+|doMpU}xKO3l3E%1+k?G+hB#2H0$%HGrT1fR8R{>yJ;;p|@NkW%fcJ z?Oh_6G+IK~6xbbMJ|$`X?O&B>f3wv20_ur`Hbhp-fO+<{S;n4^{vP|`Aeb6f^C9|2-2#&VZ0{Ecm~m)%8M~vS>YLBCJ!4r^;K&K|n(aVDr_R+`xSz=f(o_=} zaFk{Rxe(_-UJhvbXwF7O1{0B`WKB=V~s7*;s0N_g{0--t_M2 z0ZH?B&J8+x-r%_($Z69Zf*hi^>(2*cr^&7u`oe*D@-z4{AoS?r(|3xc3p^pq{%qnS zx{uZdi%5*xM)#&SeoVb{nEEImj6FnuYxFVj=eGmJi$W*7e?*{SUn4Im-MB811Ijf6 zDV?;#KsipO$Rl|PL}Z_YM1)e$zmK$BnN;KQ{wdw++8cW>174DmKu}9*iic6M2y1>K zi+t#yME~Cs5ba@!pvMkRED}EnEWXZ7=k=WegVGz7`AFKEVY2XHNDt zpa!}d{lP7v`+mb3o&NNkwxrIV9&qfy33o2_H^wgpV=@Bsc_Pnm@%|Gu`|;~nlVFbz z6la@djIe<*ER*KnA<_OzUvQ)ynZgUv-qlCGg=Z1{aJ_wX9=2S|A|113!3mS$j$PO7VsG%=Sqxy!gMyRR%&E(@__9RhPs^z6 ztE4-zwQvW$qKyy_a#?=8`DQkA-<$DU6Yan7IjQqSW#{}^o7P)n?AjsnGx{FBYo!H3 zPHSs-YvcyR6QgJE0E{Dmsrkj=xu3cVf+WC)3dZ_~rE6nyX~WuV%J+mG#Avc!{F0xP#>b0*`YX80vn7a(fM_YxLq? zeLOjsm=ZKuCViu762DOhif1;=Nj9Jgh$L#J$_t5BV#PN_RWyaO4o4Q*>Jd0FNVM4_^}xx{vW;VqZb~$M0xZ z4r(|Aft=i|iPdj!KkAI1Rx8wN2aaFFw0XpSXEjmU~RC@!Q(J8*mGF0#hSzzVO!Q zZ+`!Anbx!5w_V~z+?pSxe-kPh#YbANpS+-`b=ui&wUmUw>*4%OwxSgSU2eX0 zX)^$A!A4YzFP{-uMgZZo9~&7nLvOL^3pU62|CwIjDo}I|9wu6Uh=M7obOX7Ted;_X zR*Zw_H~#RHUB=n@n!AaB%vj^!F#cZtvV-)xn>OsIZ&Q&Li;bU)g&Apj&q?Pb>qo}y zO7lDfZ)mQb(iN{gL}%V}l4i1vXxg;v<9aQ~6N8H&F@Dq^&=W@eCduFnd<1n?Ll19UQca^qr6NebbU% z3Ftn%-?x4We73PBj`iG~S6Sn~#2G*h^=Bq^6f;Q>a-Pmgl7D%W;$pA6%G`}L05}sV zjkN(PhOceo&W&GFH&)h{4hb%2^dWYGW(Q@P@9(_tEZzOUTxR_nn-MgD$kVs|96cDq z2cAmb_b1>LR}> z1B@h=F>*=G*$Y;l6-wcs$k5GOUoP5&h8r)@zM08(91+dD?W=<3f5|EBSWwRo^-kOQ>yDsX_JdigF12>(Yp+`@zwJ)hB)%a3j8c=yZ+tc{eJ~Da- z=yBGEZ~Dm2G53Nw4U{&5H!iX_&VYkPP)ot!oq@OPoPv$=rsVTqx84b~CIjal zM>qeVoJTM84VDT9ah5g7`faJ-?tgGj@BPSGy84QVdqtD3X9=3y806n*|Cu-Jk+Y)S z``uU23$LGv!f)GygthCMK_!d zo^997Jo9dC*8+Gp#hZF12B4BKX%c(|7_PPIKw6Cjeg;DeXZg5U;8|#^B6$aUlmw~VVy?r2*`r3$L&^^ zmB#=cKM@Ek(KT3IjF}E|AzCk$wu;l1)KF`uE7@a05Em+NaceKv158wEsJf=Fy3m7} zN5Q_)S$1RGCQB8*|GWR>lmLG+a(l?N{mgr5TYf&gcRs>wOVqvg>Fe}EuRkonU*~r7 z#d8t`C7#vE%#sI~bygHWwkVN|VafBs*Bz$Wi`EHWl;xI3*+zexvNwSr@3H{0<$!$t z#OG=9W%>FGx5(0rlkQkIlmL2c2s|A6@_~Z8>r(u+g-h{gj*jcl`+)R^I)13T+1K*m zNX}^Loxn8o>LZ5TG)Cp4&zx$@_4M9oGXgjmtB>d$f9(vs1$$$6#_u9K4`2Jwt;YfE z?XBUHPy5~P;RlpEw+4m|V(+VgF5X^%(X0ar`6iZkPgX)JlWAoZfKov^A7>o__7DMc z@Tsh(#IsB+xTLPuW}?d!BQ!ItzQ1Vo-E!NUJ|*nBV@IZayW6(0*@1%;cJ#^LpO!!T ziT~^<9hEZr+!nmTFBgDli1@?kYGr;V(`<-w00LBwL{1PgB}wy!YlMOKhy%i~7^t#r z4AiyVj6oY2YdU$#Zph(BCF)DDI=|zP`!yHs5jgmbm&{@pAGxo| z(SvY(T|V{Pdn=;pRZY#$W)Z_~f~eo_`TNOso|ps2HXG@DWDn8XAr(V}ZbQ^=e7!Dz zJP*b$A9Lp>y@7}H-h2=50NgpVS%NA5JP_FS=NCPp+011;t(mUbcj;&4$8UcU2!iC2 zUH$qdPUXKipF^Q^wNo;248=H;Rn#asB}jGs^#-9<7DUM}(haof5}C5^k7$P+D?`G8 z{bz(e-}}+?bWqlOO{e|d2&e4ZxzxY&c8Z;mmR`5xTVrA} zYjaD%P3ro|+(r3`>(7TJGw7%0CXQ(r^z;VhQXlEbr}y3|OuduHTXAuw$%A2a{;_)F z^agCxcheFL25+d+-tcW?$8h@vbAKE6b7$bY@&W>+=^hJFWcT2p9}Mff%sYIRJE#=6 zO#}1oZCalmxk0`;B0oBPNxJ|{THcK14uL6ak7?;Nk{y3}3Jpa}b4b8Ao#M*{OO*s4 zniN+e8C4p8yn6sznG=aq8KISPjN9CXjNywR+pj}f@1uV23^3IGHWTPV zk<=S{=g(s2Hw|@Y`pse1@X-v}hd=RMFRmpIzP83^w|4F^4I*-zpf4>5$fPa3!APpi zh3q%0n%SHReO6%k7#GNmI|bz;9X>|3JqYR;a9!1itNr{~l(T=$T!BL1sO*nP@BTxd z-m%*HCUf2pEWl(0i?DLLaXF;vi=ULX-)p|%0KM>;Q#yOL>lLjARioSw)fbr{6UH^L(G*W(%e^Z@j_N(8{yXJk;_*btg*u!}1J9U#7TBBt%k<0617 z9VY#b<}kSIoP`I7<-$xvnL*%~Q}*ottlaqR)Lq(PAZ=!UNw&bG>~*VgLY0hydr^-X z6q!%F=}r*Pw!W^mVHMgK6Cwu}V+xh~FlqjVP<}u7sU2Am3)2;mvLc!i2ZfqDIq@}1 z*ukBmmoIz6`S?*O2VN>W@g$ukSXo|Pf*Jp2$fcilzJJ+l1rgxPO@ z%I&-}&&ezc6eV5igzTC*?u2Kch?T=9Jhdn`40=2h90>wIPsEm_BA>?qo3P!9sa|Ea8f6j&%5Ea zjj!WvB<~_r-Z>Ckk@+6}BJ}F}NbDoGc%~N3kh)`Hqr1H=ywM^u_&)N7@2$W=pAC?| zFY^Ki$HD_O*d{m=Nxb;HeII{T{_}Ra#8hA`!`jO}82skbK3XQIKWBCMzy(0DF-qUp z$DHo_;rIbqNs9|I64yDg+D0$Xr15>dJ;zNP~Q zRecZ2Yn&+T7p>7?xUJ9gLre?#eFwEMfx zt?D+1xHEWw9MgAecu+L-B(1+g zlye`GNj~A4TXvkRCS$XP%8Fvh&&1%dCQ}KU&IwpL?n3^aKSO-%WnzKnoN`DQ!Hp!g z`WE4q#N?}V>JI2Uu>h8d}U2+EP(s_1Y zTObbB$l73lzRrg?W?LS3gSLik9l&6Cy-{0Z4MsT_eCH!}oaPTH{=^$JCxD)vpENbT zFAu_C0{iWtOp^!%Y@+gD$iD4aY}e)Q*Y?o?a3+l#A|J-3-|8#5(v%$-A>={dvNHsF z#cB~b1Sn)?B{`t#sxK(dN8ua9dnk=KrToBboBF);{SO^*8h;d`&V=n}qX!V~=Co`8 zdfD^W>Fb5@w`EB`DUeqe#f(*uv)cr57TX`6ITDPh`8HC&H}@HRd{NW6*DS>lg&o7h zGtR-BE166*!!^7vZMy>|(i@=94cV}#+lKT6W|)ER6Qh2E29JBkdvH##@z(1qIF-^TIqxNp&g41&Dj54UT4me}~) zH@@T3c$mfWkbBkY#seMf|K8&RQKo?41QwDJb^GK1n3t$JjB#R^6T(j1`%hQ%aW)OO zCqi;XLK?*&QL+|`(_M5ZF}^Zu(P{%l{@Y{+8xlEhxpN^-K)#ktz^Y`iGx~+?lpz^} zIw;+NH@<4qb_U|c1~PV1xuZGST+n%-))@S3N&!INElKT9NIid#sOa1-_53}u3QI&Y zEvhc(2%BQ4nQ*-g6MBktZ%+1201m>p?m>H#?q(!m*R z>!Z0d=!s9&Cw`NGH)u)G7vA6p6n-%Jt{>K)^eKOD{50t!a@gk`vWbB1v%g*VUHG3h z+%81%0Yl(K13cal9+w8;_E8^4jDLX*+N&=3<6aG>&i?RNy?{ssSRtA8Xm-j#A6=-o zg038pip)S?23)B5vNk#oZP-u|-r!*%$+Ydxh#j1Gw3F0dQrNj0tDQ$G z-S*@e&^HRb_NgMlb?$siO-UmjheaF{i#8%LI zS%zVVIBaI(r5BH5CbI9^I-b}3`0T9fHSjEuXSdssT}RE*$!ONXPP?vOgXP+7GcjP{ z`d@W|*3O7T$Yf{GhvR7W-uLy5w&9VpYjpmKXVF*I?vcb|Dye+uQgm;iZQGC+9&;$Y zubYEmFMKWC_K~{rt+r{@N}Ki(yX%3t$&jww)3o}XFsUG3L6iKEQh}EP47?l zl+_rt16JP!moWqN8Q65Ed>?EvP(T4B8-LUqphEi}YbKcb{@(jqM?beiGq4%J+=_h) z*k!(-yXSFUZ1Bn}ru6C;uG98zml{75#$hbUFmuc}yT|XWEW)@;jPPC|=iDPe-hC&; z5u9_BS`*o?5%buTsJ>yM{Ja;!v;#M5CaROo26#;z$(kR+nY8^JeH+Lx@}zgf7gvvV7_(yOn!iLN+#j@q@EuWh?wfhGqVYHWt^ibt=dKe>|ZV32|T7cj=_ z_75$*@rMZQjNBpaEqpC)e?Ik$x=C-`Htp^=Yc#`-WxkcoLB{QnZ97WX{g{1OZ$>PHa-2g+%}6+&*pwQX({Jr9dQ0 zg?QChMnw(Z$7CLiG6R-vF5yg2lFGe-vEE3ZfuQFdWZT8E2(J%DCkk3{e0{M+iTbi? z`ygB3&oWgfP5{(8frW#7Oh#ag{##$XE?qVGdXDt5qtwL;Pa1S^;#78cTVSvUq;|jO zVd=|DdVk_kYEC^S&tXgIc6orK63GwAgC8_ww7a&3w~|<O5r9&bmzfm6P$HsY7`@_6XmfYi@W zNd~~%`{w}Sbx+I{PCpMuwX8Z&TUnV{WpE0d^{h)mA*ZXmXxJ)T$23qV1NY3q+F&p1 z>klX<+jt($$^E%xi-2WFp@|f+rPmrOj{-QOVoomw_ab^gXziP}bvGGmY!9-v7?Ac} zFOOm)YKHn4Dbo~DM2@FB`t8YxCDl1>d#I9I4kI#Ny>fcxoI^aT)lv0FyWO3ejW zqvzh&rkwIWda8#x4>L>3}QT?E4$w^8- z+or{2o3vUe~-B(95ROV)Y**;5Rst4~O#rUkB?(bYjD1b6%W)CIF!TPF4vJ9!!*tVZHegzSyFxX){;3l> zBH-Hg$(CAU@Mi@)J13Oc$0UtEdrsQ%=j3q7*P8;7Jx7{flG-mMs<)E9?}}0H%8<>D ze4L-ijsUTaGcuZcPK;$o40KxzbS`8O6Pa5Rt;Miyjon$!t%daM%Fk}<>*#=tJHsCO z)Go!Qj(P;!X*94MTb}rX+j$9dqZWMY_8R^BgRi0=T>AqN_~Cw!C3;ZUX#zGD@jpN> z=X>c}&pk*VJNGQwVBnl!cMs1NQP0J6W>x|ZniM0NE(T=q#x&3UOL(7hu0uOw7_F+&U>M(## zp*2fGl4r}15Mg719CJ83U;5ZoT@LfJ<*z=vb_2ckMX#i*&;O-$LW~9FL)OOGum|hj zw*D!)`4({iLKik&f_@PO52LcZo&*mfnH1O4JY@7;sHK}UqwXS6kKQTy`v^1mVMMrh z9HF#qcmOgp2Qi!Gl2wF|fbJJm?G#BJ^%3b8Wwug97Tz4RSI} zM7|l-t@EA&87)2c4ya7)A8yIX2MT$61=b*(9eN8DO1Vj3x zyI(;+_RKq^CwiK^N7Hjd9XxbD zQzzAz0=;;~px+n#e$dxLMsiCt3m#T~MVb~pWYA<OLek?&Fc`QH4)v|`Rk8u`;@4qeed@GjJ`hyB@SSAaY+f2ZHzqRdFe&2YVvlwr|{9}5jgg6t3R>Z_Y8i}EK!Y#5TD2V2v5Q}>@nGQr0rMoCV z^;u{$==k@IhLE)kjfrTzn0sw#qV`B6TOOprdq?7fY-dQFSL{;;;0{uknxobxOXND! zDVkyHf+l!YkObRei?QGy}+J#-p3XKCTB(GyoDEubdpiWe=a@m7-il^WwjY_t*sq zE|9iii+hK_`8qI;d#JVFXNy8(oFH;|{r8NdmFUvoh8{W9*}lJ(^6p$M+<97V*A4XF za}xcpKHAV#^06~Vvg0rn=U`pB3|wqX%6Y-4%u|5V>bsY0i{y)(B)${fF!Fs#H$8W2;Wd~oMr1Q0V|`n@>vZqro9G#{4~lazDgQj;V#F;nxxd{b^xUiN zqMhsRq_g)u+hzfa)=k2--tdElp3~P82Vop+=LUf+FTp#7aGPB#vIHyS5oQO1P>9WL zdMPfCaRiKj2cRjzsIqNWh&D;8 zCkB9gAPAYx9H(4>Wdt5Yc^4}C5Y_vNHTyXMbmB#$+R*aQo7ET9=KJee-4|#DJ%yO_ zz{yVf{;i#=ZCiKPToi@>-fL|5A&+NYD?RkKOILX@70Nu6t^I_<0f_u1(} zPh#q`3sd%Vo?y%DrwNA*Ju%oge4xj5!a`N_%AG@r7)lGoM7bmzAWHJjfnd_7{~Vop z&&J-*X}~=Ca^Jg8R$uK^XfRT#zSX+(mi3KVw&5|iR2O^!>Ibi9}|QepO>k!>0$ zzqMoJ?psUk-Sz9}JEW0+?t8puzW@2xP3ge8i;~P#UAc_N_?XJgS;9&Cr zJ@aWFr-#mbv*--$_Tqh3ICX)()IeCyA%C~-*ANaEg?AF*1njh8oa_wV7{19KtaIqB z&<^=o#$FAm^+cpaz&mKjFx+ecdf`$F&c=owl^5s*Z<`@&okWVxo)82Y_7HH?S!kLx z#pABoziGg_T=YPm7E5rEQV^?nYr){z+y9>h=C}`T{h@bsyxBr08)sB<5;x z0fbi8G$D1WgLGJ?hmg-%WZ20d1Mhz-`U36jICW2bm5d>O!eas4Q*Zk%Qk}=}7wdG@ z`X}kY3!f*1C0T_ol*vvkbADD*dFd`J&WQo;IA_pG&TlpkO*`&8AL0HSE)he6ZVMAd z3cL%C*(|)FTRHEb^=GsQjAQ8B&#WpC+;rli@1F25oyh2yeAx2Bj4tz_`G?p)vuo!O z4bGtl5~Fegp$pJOC0sa!`!x(yRoabqmO~T&RD11%phz;dPjPfk>vZj~CMi>qrj|>x zpcxbwyJ~w}fFnw1jDeWLBD4s)S9CM(c~B_7>n{2uqI$MI{dW@IuukITFP;ftXbxkb_SH48F2t-VDO8~)U z=Jo&@C*iXsX9=AnBMGLk@yN$%?Iqvq+MR|FWSpuYQc32ukl}<*h>~;Jmtba|TGNG* z@7r^Jw#arq*b|zJ6GSDjpDraW5^dc!o?e@4DA2c*9JFmu832 z_u~vF!a4?V01E*i=fZcMpBJMMC$TV2VaGXM<3NmKv8xB?z9A7DK?=Kkkha1vgw+zOBS7G@hQ$At$%&3zl5 z#e{gDN`TSvTvjyp$H}(3x&^8n;%p>nZ@M6)t0ND1~U-~=;{1NB%KC9gjUGAH!90pXy!qQSFUBQ%YOD>p?+Vd$` zV2*8xpR;Y! z>{xL|q+}`tqP63G#kw(QDZR{x$q0;NFmqETbFhxWIENj!zw1I9(>tP2M)Vy^p9N4V zie(+fTG;B_ldz(-VLUJ-!-}sqWQaba=s?lJ5Z}@aU}i&oHWAvH3qPAUZT4{(XsIz{ z`P!_$f6*M~Jub44TGoLYc_<<`U^78y1X`Z?krTLow%Qwikixi=_xO7H+X* z_xIqqhxSOarPcydRO z3TeGntLa=yeO?aOK@rt7(f|BzSnb92HR+sfJ5U!Ga*p{czviS{f!d~1WmzbbzWfRK zmM3Nfap1}nSL8&k2aw+W`V};J>emz9^*KrDH+|td@M6)g!7*}VYc#p%^Mt2ApStw} zWSK~nO-w2U90R4-t{*TZ#DQq4)h;H6-CAaxfhiqqc3_=>|Jr5=-YN7nYey6B*_K^| z=|<}n&fVDRp=_1gvWC1+P3k0ot z=3H9ylTjkziZg=Lx!TsY-q z-C6_`Ti{q|g^O!%k}N=^$Bm`|Plx%pE|og7MgLr88*l#KD2Grfr#c41{!r#T6o+gIOnEw zf~g&nrjT5(DPj~irLoj#Ojv^y6fWIc z#)xO7bjUb_>m@@d*+LEmIYZdj?`Jhr*fjlCKojdCujK2duc}%)LW-0<~Vifzg(gJk688Y?^X@&q*|Ir-f|hSd zTiet1bX0)?h61f#%De)@AS$!&kZ*ijWG;aGhJ7PeAh5s>wU79^B-`0W`3$~s?BA7H>ZP}q3{M|%5! zcOOhc5Jq^A=jH#<-o+5|FC_g`mSF;!*{;FMN!sg=KfDi5KD(^De`db5_abKWE3ZA> zcTalE&%Pr!{^-hk`+!Ou9KUEmRt~}%zP6DuG(~B;vM*k5tmjQc8l!E>WJNo)F zacJhCHxg5-bawamh2zxV3lDxKX&7D&olV6iIV;_slzqyLcNl0ga+>zleAs(vI*_*K;of*Z2;mHkFd(3>`YF7krQI zI4Do17nBZ49lw1wsr!5>$?E^vgG;!2d85Y;8GGpg7=vU~7TVR_q61|~(N;Y4%NtW-Yk^UTSj!L?!) zglO$}eYN)1Q7B-Y?R_8LRRK#SFr3!FkT#9nLnx&}{{89NSJ)7&a<1(xZzXXXW zmfNqt08Nmi8>s+>6kZ}qab6+oaDMG65`Ke}=AVLBpj>;<>-xG2wS^5&GY|$AEaaP1 zs@t{qvmnJk`_uh;@H5>t2trYPftKuVka)Cn# zOfIC>I0ZEO(&`wBg$>JLo$hw?Zf(=2qdDh1q#A|MM{>XriB@k~5&I+y9^dr#fRF#H zRAgV-P=SkdjTSGQW_b8gY6!meO(}c0e^WL&*ChrXx7ty6>SDDD1LnjFRk@*0nTD*g zGXE0hI3D%;*D+$A9%QKU9;KhKl?H|1twGcDEqqEUYL9=yKdn7YzUaYJA!y<#>F>gpOKur{aM+k;pN9cd_N16W zqx%_rwSX|9sMz)F;B9k&=3T(RriJzZL_^Kx3#?t* zX+!2j9VhR_le?F2Ir%tTd3nk-Uzz+QesBr*y_)GOO(tK%_2+wDl}gZ8q$c$DB~6JR zN-pcKyJs5;{`#-qjxnHvz@wAH%hG_(hz=aYzBr7WIV9<0R@s$T;caaqV$iK`t;LuI z&twyi?yV{PQh`u9^Y0 z!B@pwa>PyGA$TWDKSLi)gScKiKTO+Ni?6Vn%9qhJmu*_`h{d*5A;qfH&k!`(JVUMhS zv)>vriy)C?Ou+qD5&q7*H_pEfei(WSGi^iVqC`K~bS}O(q8TVZLjAT1Y{Efr^8(-k zjA4lua}9@^KtIcXwksisnBeRCVXtrts)Yk9{mT5SQ`t!8=U)n@H*h+<>^pofP#l`pO#7+OZ?~38xtD80+L>_8| zQNaPH*a=A{i26Mf_u3wa0dSBM?RTa=wPKgSXJP1F^+Ki(X4Xl~VzjDHE9EsE!2Mf) zB7y%dZM3>oia7MILgif*#uI!Gk31HRzVNxUC7v{n3Dkr`T6E$9_U}%iLPH{?wORVmhZTrq0%%(eO_`11Mu7E>2v zIW>?aLV%|JwiwQFatpuFd}apFI))ovtshJ}n`9 z>g>ffw(FqE8yXE3jKC~MdYuQl{RlS2J=8=WTfJ`EB{+>wFEW!#xk%{}=DtGW{qNuM z;{h-KzKsTlSjBAGft%&L}}F_yNM@|9g*Jlj)26X zL{ZaR<-&?KU@iwxdjXfz*zgNq4)L$Qk!;XUHs@rw^y^)Jo>K+P)Al*^9p(eW2>%{h z?t`5E!H~f7nff<11EB8Ov<*SjCRPQ^l@SlZ`%FmzK^cY8y>j3O6FG6Sk>Atx;W&9< znYUj~W#{jId>kl~f}=n>0{NH6e)pyf;qSdCBmSz^yr(~SIGlmbE@e|=_L)45 z=dGU|2{2T!jWDP&;khf8^cV(Wt-~1;I}S;lTWgQdkdg(w?uSEobt3*ebA8?YSw?_0 zAoNjTkEX$Q_y6Ue+J*0bd1%C-HYyVO`R5NXa9}Fok2hQQnPEOY9LAuc z3(YR2uG2~?gA92lAY{iZ3bLi$rb+DLy-ddDwZkedV^z)hiFa-te&I(}K|-uJfvnn@ znud7jk+4gd054y5Nl=ZeK(X7Z(tzX6*9{2AvXQzpwvA1ixDp8AMl5kCRCo!mR{;OA zc>W^X(3=wgFgE#mW+0Sdimq7z4glLbymV-Sao$;~6w67EaHO#UqXM~lUa@1RBlErw zE-UgXi+(f^Vx@7Gv?uTMPbY%U4}E{e`^R+xAjZ$b>uEh5FKy(UX-%h$l{+^kd3ibh zP{Tk+_(-rHiO!}|WIEx!Kxc$%OCCGnppHcfpmRvdaSftrwtx1DqzL>s-kc8l^Tp7# zDCzDu#$da6^3SPkz=u8+cF!gA^SIOY-xOJ#qkx^ z|MUR3g5Vq~0}H|$Tg{W_CEfZKlU)NdZTN#+0;30+qV3t$tAT&(t(ycBc3rQ#Gz3?r z-z99gfz%KTAOB*A-~4tO5gu!(x5)s8bK=q@FzQ>#(>D1mz)ane2gmDe$w&`!=tX2u9t>JIRAmz9 zBd;uuA=nbcw1_wo&Gy;R=iP4$?AE|#EEqPOfZ{E%!Zx$K*yq0<;upUfGL#dwrW19& zCMs11D4R(s#K~0+?Mdbj>f<#0Jj@sm;{pQ?<6K_s?S`iSDq*5whsl}l8qlqeSwGp~QWOS8WJ_k$^|e>OM%B$BSDVN1CPGVT2JuSEF8pTef{v$J6v zeRCKv%zpdN-$E=44Tf&5os1Rx?V_qq2m2=zG$#&U7~}y*7GR9h=W!O zUi+$mAAiG^1%%ip0d*>XQVL{*U=|L+2R@Nx#4Argf_My(QKa*fD9-74ma6=nZd^*5 zand9-RTmBxw!Gm$5O0PKC@jN{40C;-5$_DE;XYZ!H2ibAl0tOhL#kVD?#)fSD+%%U zslQA@AF26w&(*E57h!3}p((Ove*b^?-d(~9)S%!o@%nqwL?quzy3#xuQ~Jjd7~KTZXi;xp=WO}sKJSh=t>zr3(HTxE#R&M{JFmGB%v}6 zWXTBDV36v6eB-gy5d3Uv2<9w+nzDj!`DU|^It>{XKAq_SgW?9Lqp;}Gsl$dj3T)VG zd_ewbZ-v_*04$_;?5Q}r9|u1<1kE1`G>f19RLh^O3Wl2tAcA;If3523`#T?6*2Z6~ z7oAvy_3=k3OL+1bgtz`k4DWa|(+F@MtP&HZoJr`(!$9L>M~Y#@IAYp35?2PMGvaWl zQsg;qOnRJp__@wCfaYZ4WtYa*xmuY+BsMX%g^( z&xH8x$Fh&RHb`aPh-OE<=?i%3wVWS!uL(dkk-~uzZ?fJlYTI_JxBxgH3__U+c$;Bs&y!kf$Nh#^?Zo`B2k93HSeBls$4my5ost?(vI>>ifpm#o`4ZFbuWDjInZ) z$iP`h^;!dsuP@Smg=RokP*$ThyudVWHjPnQpb9^w3clNZ zpPGG3QpDune)~2BI9mkvA6-d!71UccRNyDS65^M?wy9_=Y>2=(0q=x~u^lX?Mf2J( z#wnU2ia9(LJxv+DL`^_C8gDc9-ns2J1ha5xthcD;vAPsm=Vw5T6XoNStd^lD%Y9Hj2KvMGU><|k;P)KafP2Gj=V|4NmIqFcf5@jwf zsxAo?c+t#I;g)-xCR%tYN&w(MY_vmYCsQB~2@AjsSyK8e5t zPLKkOIBkra>i_sA_z)gPx_a z((eA=BqDnCQa=&nqF!CbrP$1!}Gj$S9`JE4M z_RYt~)s1Bf4*7zQ=qcW_Y3%p2?+D=+em0QQ+{vN_kstrkT!vn5IiA(dez7Gh*6 zDkUCqA2fD4aH`6TgCBppP`hYnBVr9rNPWCuGTVBN79rFcAkU&x<{aXOlcV+^4Z00u zY)~6eP2tnQ=Z_=-(f1_bkl#x+ewxlOYwA^pPAOTQ&+kc^1pM(Qljh(LhvoQW6WCK? zp;FNpMw-olw4~83a8Nnh)4lhypM&ic9JYVCZ2@3776=#9uM*3cLYj#e7*}m%3=dDj zW>(?JE2(Q{$u7MJfAX0SzVOv08Fy%v;o8K^a+i-=q(gaCE6m%8%QxK6JbE zKJwT4cVYXUY18Y^+^^q{@?)}VPW~RYubBTPY|pVe>ZI3Sf4{+d(&Lx)(_(#&%`7|a z@@Gi@UbVlL)gP3{`Sb3#1D^jT>wjEM>HT|?H24?OeUChm+{5-;vyh$8wFc81v>$sm z;9ve(z%Tzy;L`~$xP!5xHJS|JoL-mgXJIlYr*$Zzac#o+n=XY4Gw~7x0IkPu98zps zVAehvKP)D}l3plrP!@`FFJzZwT-_9Y86Hg-{`Y@mSmko`ECRAB^3GB%>i>1|4?ObblQGU;= zC)ZGC711I%5w#)8Mc^5hHcQs(9aMD=+T+@1wXa z{56QA-{pXl5AOOs*)Ai0{1Zem9#n=JTzJSY6rbY z0glclY#eqmA!#we$Z>CuZ!$fur#hAw666pmqqUjP_qjRh``hk|SvG4eakymw*j{Pf zxno)MWmiY(f8^g~uw#DwQQP_Bwy=wf?fSU5x!>e_cJ(GMhRM9}vmIA{+!JZRKm8X;C_hPszv6Xa`SQzBFnBus z-Dy}(q5>YR!S@dz2>7*M>V19EaPen0K^-905Q_8^UNEt~gImnga~hFU?Q=aKZ?!d; zmDCEb*^Cph{Bi&ns53PAh4ZF}68M9wGnoltUwJqw{C+0MDPKWLz4Id6rL8V&Nye3$47Z#gaSR4Fi#rLM{D}j zuf<+d8rTeIx+TkSThe`FY|2?ehmMVp(W#|d=pg!MX5Lw2dH*QyCw*VaV`8zQu3u}w zLU}&)``UY3%1@w{F^fjId8zj;+he1Hgp5+qbNkE-mXg@9j9u%npM?Uv-=Y!HxaNtR zA$%#|M^j1gn%4w=J_UqFlWyDPWwp^+`vVyj__>Ed_;iARzWqlx`Ek##xh1mJoJ~}4o^RMEd`2Q8uOKL(t7sO&YwEX*K?tt$A!tp zWuJG$bY*XKactdWREJ;&k;Y>*ry$iRhAsCLe0*+;2@|#mq)V(L%0U684R-to4q&QU zQo!x9qM4p@$inJ`XIs$qeQTJjcGLj{5Ju5UN1cZ?9@JXAWE<^ya|V}>{SnK-j2l5H zGY9u6;y?UoiU*G*!NykyKAOJ1luC%_Q~iIk1??;xvStBq{-I4nK$uQK*cdgP9+k$M zD!5&95bRAV*e)qUAuh~V8GLwn<8#2H8|nZ`msqE?;gG^$G6KRF4KMsQs3n>v=)+a$ zBb9s~P1f_D{fn&(xPF?`{gkSnJRcr@Fon-0gZ9U~?EwG|Ab|(kmIzbOFHCdLG3*u# z+;`QXXuMd`NbZv7^Z8^F`gs3`OWm1vaO_UQH@^MN@Wf+JBtJ>6wd)EoKU+#?ydcEN zD`X1r+9l85mvtDn*2YWRP=c{E*6PSF)=^?BO%_E60(vAzYwnp*8pPs5m$afNi6HO_ z7@*jKL}mOJAhZZ5tcVpi16Fp53JNUWPutaug?o^JB7~tRBqi{x1d%#j7kCPJ4Q$Q-Pxd{CG`T^!L9u@XPmx@YwSKS^6mvg~Hq3 zn8-!Nu6DKrqD`; z`Xq}mRN01_J87d{Q*ue^-wPss+=3bkFMv5HoF;RZJoPzCi~sqw=uiGU;GL;A@NDuD zd?NiT2KqFY1)j7A8ReFC;-uHwQ$>q78m0RV0! z00_NL{e})A7jVAMxYECa$a;KI4dcUF;SYs#Ri1h zy6?>pqtw;wj#Xiy>KLPp2*obLG6?|NLS`8quJBmFkF4*p0+eD&|6{Qh-{${Njlzm< ztG@HKd%u2PJN?@+*yToOWWfQ{$v|n0md_k>s~}z#25msBk@EX99}5Yp)M6 zRgg0CYyYLPeM;~Ei;dW_^nO5U5a!WsK7ZLk2us=tQo0}S{foeNB(c%E?+SR};Sk^X zP*~pbniW>O9ZTET5(^hRr_UuoQ>J+i*{F_CnHe2GeQy>c1l$}x;EiPfJm8El#WUH) z6Gyl%bUHP41QO{d9cV)R)9VT8_uGH)X!z7;9tuw++urNRu=8r_{+^~?;aXDm;Qn;I zVD@Kc+oDKgrFRNf%pI7iq>OQX*e%)CM4gjUQy)0W}C;~k^}PZsxQ8we<409O3KQb0ocQkreQU$ckhY_o6O1Oqo~rdTtL zeaQ$`p};Kw#8Mh05?D;5UF5Og)2Ze^{Ysh%r!3%SUl;J{)DV1q3J5W_9ge{+P(8V6 z<3O7hsQcxl0B#RQUBp)Y%P>cI6UabEH)H+RRBWu5cn}RZ&l)_DXbg*=s{Vjd;;D_P z4cHUIx4!bR@aThIOqB5Ba5XQ0=T1Uqgr~$lO#+_Z=;E>VGjd6AR8sRgr#o6-FWZ7M zIWcDI>gU2XL8wl&F_i=PYg>>}@XNO;!MXtR@+yXd>tbCO3Rc8n{#wevGkPu7Mq-2j z7&M8I?KMK5Iy9~SWeWuB&RTYs-jCRxXIBt^>+7unhA(;00bsY5KNSxUiY@h8#)R#C zRvbV@2kuH*egu}Cy8wo;c`7q4#^bo*0rJmB>mo0H%jx+tKxqB@Bdqr8N9#qjUxUZ` z6*ffR`na^1m*j=L^=0;37PXN8QpvwBtjv72_9YW33_vVpeJ$JPD*Z% z@Gjr|x$w%L{QmIr5=1Rpc^gMUPpzb=BlMz|03cLKxJ>6K*FM6yo<<@*T%65q3IL+< zR6Zzpp0RW}%%xjgjWSi;1F3w<4ttzHGD#UJVdSw3GKke=_^)rOh59o5~%lf>rPE#rdv2qL6kFu0SioUpmZ1}Nx zLO|RfOKGz0^5wJCz6F-D!xy!srA%e8lw-XJpwkA2?y9~LCcR&QPTS>FUN6>$LVEtA z4E5fvi+`8u|D*fw54)G&zm*GTn{n%=rP+S7kaaqfPEK>ynjS&%;B$(P(rl~gxZGj26c!r3U`??%X3y4yECHjJR1`Zm z+C|rP;Aq^`Yf}&MJ&PS%8hJ79NW>8{~78pi$-1qI6v-*+BhyBMlX7 zz_N&jVF>_b(t@&>QEK>g=Py|4tt8m>@`6h#C3YoqSsFJ&289{`P|So^=4Og2+}_Z7 zJ!DGo?w-5T`0uWi1zcHCf+!vkY*IoalEjd^ber^zjj{rWZH4pvu_@Fd`1Jk4H0 zC@^`Bg&nlZ43)~F@9aw}b45>lhzgRyFbZc<_^Z}FK;B7C(x+W6ZA70n?M^$uU8x~( zc9!M667Xlg!DF-D|9)W@#EyjyyPSk{CY=}^ma$+Pl?lL0D<#U`L{z_fwvKmbsee$~ zbv?)k`Dp_euK5356xeq5?=`5b%es^VM-hE8P$0dvY>=W6QDhYBVqI!VUmo9J#}yn^ z16>IWmCaZd>&i>0xQNp5TNi(<8B$;9t??JOUcuJS*l9j~SXzeA$QcM*7qc`zasWVX zIwVDxn7)uQ09;86Ka~JkJX9OjLW6+l7$I2P|3ONxX>FT1e^2}AK|VzmF?z;zqS>t; z0|wuEi}bCcT{@((|7Ng@p89joNYOH?TD=g?q;itaO9r}W+0k38R5LZQn6ab^nD5Q)v>g1qW zdQs`=$HF{>8Nor&jv8@jLqU{u!(rEB6Y{j!*<;xC(`EMf}C44PP6D(YP~1 zouk+ZK@!SE3RT&@fFOcFEaM`SvLgoR7bn0w8$CfOkj1)-OB2jiiiF;?C=D*41|kTm zFkA4_K?kiD0O1wb7r5vn)aGzHrcr=@qG(2B>Let(gGUfN->$hO7Z#os&j0U-uMICgfb%Ff?pb-P0DTQF;BXpFuiA!eZA(l!E+;4i3C5ZMqeZ`RM0xEK-bQr zGKY;2He8hDOkHw|Xb^XBQg`nuqr$deN?D*}d6%~HqoD$O>YwNPXh9&B21snEJ6Nv% z0c+N_uU8y^g(=53uc2GjcmYsSov7DFxz1jY5xZP7APbx5;@FJO@hY zl7PsmZS>$5O5bv!p_i9l9)oa&-?z`MgoQ zU#aR`|1O69_N&CMDBC>vuGDuq!s%v#AK+=&6Hlq3Q(YWHUmA9(w4QAEJD_#;YS zkK1!bIM)+gqDw~z26cX@bjzTXGXQ~{h1xjlZlWyf&$CZ{5$yV#763?N%SmleIn?K{ z36N(JIpX|VXCHH|NNp3iE#QUL0Jhh?D;%}Pt=*P#?@9@k@7ph(r>`7YV4Mj6jeQ^l zv#S$fqEOZa=W4&T-hnh)4bWwS5Jiyzpa)DSD|V@g6zf8h?}ZfQiqyGBU#!B?1Pp_P zHrPLVMG5L4;HaUM`FDXD@~Q?Hxq{ie{5p(!fT%$=y(3zT1Y8MI$#2zrwzYl95$XN>XJfIt?#1ZdCGmQP@akhOPuc=74vQTHn zI@ZK89+U>9^?dBByp==9hOBxV^WSm7=!Gt6va-=;+oVyb_sH+?Tn9nz8Bg=`=3Rdw2}g&4GAP@6(|%s|r&1n0soF48q9=zE)p+^{6*4QT?}>c_V6N4X=< zM_{U-?uxOB&c6l!a11CgEkTqGppA~v{QE@1DE&}(~KoF zh>LKH1e~!prlUZPk3CmN{FX_AQAk*8crVV2Nwhp?oLg-y0+u@t0bzw%)FP#b))1ZL z#v-rvcHFX@-|T$z z3RlX89|yrS_~5v|DSI+1mmF=FLgkaF{X2vxZIwxo z=}t7wX*t>eMsN*G872*C4d7460*by9wFaaqWhuu-N*4#(25ivR*V(Cj1235@xRh~{ z64;yydW>*jspE&K?B#mkZgq!B;u6|#ro&}*?gjM4YLcrD556K zalnwKj^2e9Btt#!R5cw$b5E)c2{V{zW}~()8R~in=Pk76rZq#P!M)EnEDYNj4}s!r z)?g*~VUHii>7;d#x?QTk!=S=QgV9nWXS)BieFcp6OOAku)MZgHV8IR?`V4g!k6lSR zw7ET0(2XT3FH48H*2vwh%rLOHQK+6fHTt8m_U=u@5XMX*VrGmfM|RMURpkH$yjTQW zZz>^u1qNeEJ!OEj0TUdDEg(RZL>3#+sLB-s5Czr692;5NG*#W$ud|j~O9fw<26YK0 z?Y7>`PsOMY&`wqEMg%AMhvVl>3ubjh~{0h z@GzZ1p_tnjK6S54ZITpq9>n7`M?mcePKE-JkHhR^Fx~&ddmTmkFBW|hF5#FR2qj=R zHs}MwRr&4-y~tY2OPoOz_UI*>8|SMSaVW;@RE_a2K(nROkMtYm81XNomZ%x{*WG?( z+##GNL3W!;fT<1g1eu^BE2&jgX11p|>`BDQ6O8s^LWmRFj6RA0z#tof&??65e!;^w zC(8qF09xp=E&d310m^GUxJW!x1{hEg&^!OVQ!H^80#z3b%h2%@fKs^w4;vT{2X9<0FDTa+>jgs&fs%8D_w&vYt3h&$EMSN zPca6B^x3$H!k|Ytp#jjEVv|X}6aPfLhbfO}oF*8ZBq(11jY6iK5VS>(YF@KFu84KC znm8R%UXMuoaJVQYvTj|3 z=w_#_Kj3Bp(0vCv6)?eUg#J1P^)34t{V^?)4@1xx`TtVm&o>u=R@s-x*@B>4ZbJab z>*LY}jZI1YF6ugX5I-}i4=wc9tYtA{x2`C(l4;^vT^BTZeNB!U3JpnE>uT8xkfIu) zv*)TdKFv-XW<)Wn*2qv2=v`8e`yh-uf@m@h3x6nWIcO_{F#a8M+f?8K5G1tHZlaj< ztQfmYnu?A>pLxp3~@1tR)u&z%U+a=O}i7lp#zg^Hb>BX#~7P0XnM}ALP!egM^mU zf|BF5^K=gBMNm$>aO+eDi3<3c0(Qjjoa!TkD_boc8WpryF2W z^S!}C*~eab0;=btttV(mX}Xzbx&73;mI|C08g%xPLX;tOf&pmMRci(stF~TZ40GIe z0Y{gv<+SkyygA6eg-wbh{hkkCCJ-3$I%2`A%+2%;+QMu9#y~$G*heNs#b91Lai^NN z1=9qKn)1_e98{$$XVzd^I*%{FTl6ON0Pq!^%mqERn9ln-pC^bp{7giDr2!^c_YoTAMNt zO&OR%YPPcAG$n#|s~Q$9P2EaBmKEOwVPRUI=8w@jWVuc$NlowjSr8Z<}8RLXP47x}_7>8W36Ht|OaO*3H z@n~KC;be*oGQiJ3fN|b#W~Evhj|y)>F_}^KSp;pc=YH_ZR%9cagP8>2o3|_gpck%R z>75rllAG99`%`><@zNP_S=U*00BBs(G)hfpCw-S@Tpf7$17`3AA2J`+T(8c)40N$v5Ot*YV>aoY6H6b|mF648yz^R+% zIthT86mZz#DPhVs#kL~cwlq1+HxrG^3ucJCWFpUw|xf}Rj?UJrL4JW_!8 z+*J^RVoV1Q#VK}Xfhub67YtTb7y{m`cJJ81KD2!6Hft9|m^!`-(1e|crs3ZkYS3UJ zbug*=AMi*HEd@sy7#7lbx9gSl6Wx=m4<}G=r=!fJ*(q zfw>8z`2eRyX`#Jd15{?awp8s?1Di&62{u`i!p66pLEdu?RRn#)%%?^2WgYpF^9@v=sF(=&iP2}rkOiW9RZ=KFR>-Le)FS*s}? zkbYX}?dEoI+6EJ?dq=RsauhuSVLuhd`Wew~I1p^-Gu=Z!D9nFh{ zdN-E>n08a60o)*P*g0h%LcTZJ+B|Bt4*<^mv3Iqr!cJ?um1*Lx1}EJbWbDVxwqf695axrNiEXhT z9k1?EpG(K%t7VNYw+aVP-^0^Z5qOkQo*M;WqGd9!;SSGj+W+La)B`wD?W>iP?W%%e z9H{G2lH+tsN*y^e%`hhL+Q*)1x6_?op~V-?uFjsdz`P!XL5Yt!fWRHV?@H|D_>C(wjT39XP7>^rzjCjLrpm00E(KSYE3mecNUf;{RAVJ3DX#mYCzgQU}#DYntm#^ zgshh}KS1(Lc#e>C)B1-Tl#XG0)V+f$-Ho!ziXkT);!Ye>$Hvagf7A5)WZ%M>00>?` z(X$PkmDu;)vJjPy`STYBOvZ-}9s-7yS_!Mu88?HYidvxSMhSa#)ccoalfL-@pgN7@ zR3r5PK6B~vZUrL26F(rQY9*X#{i{c_GsVJ8J58n1BU@z%3<_uuQ=ZZd_LV?n%YkkV zivIczTY4yIY)8;Mma~-!(+q@=#MX(p+jOF%R~W>CvJ02Bzag7zhO-O{TYyphgri$$ zInVNVL|r=%h+LcQ*9B!$W~-V5qo}URh~S&jnm&NUiFntqgcEmlYO2zuB1~nU>^wxQ z?gv1T7&AKWuDh?~EdGn>>tC2n`j%t>*>$9r4gV~Np&K0OZA`XwO#dy!CxLSw>&S(0 z2*5*7mfUb}MjxS(XTU%r6B1w2afczAof>8m03&w|!L5hmr>GXHZCr{SALfHXbi0o4R2>wN zwfGYRN`<0`QBf#pT>%&rV-pw^9(BMt#+}9=_~OBZaKe}CGXA1`QK-qHXdNJqa{ z-pZ~`=$-MS=VDBc4{cVg6dDD>1&IU<2T&5D_C7`!C&H-HS4V@Rlh4?ojF2gG|K4>1 zY3AurA{|QAXP8)V*yNPClnGuzDc*#lL}W*Oy3wYalFq@8m`u_TY#bQ0*J6j{>V*df zp$FXn6pB7Uvi91d*RR)u2W|J%;3{OM=%oIb)=1;Rm7`9PadJwVlo_+5r|I?6G*+Rm z-`_P@om(0JY8mi}^zD!CyZ=hY)tq5a^O;j1LpUt z?5;1zd37Nww;#2eYiA#srpr|uq0xZd_;W zVxha{cHycp7oE@L1b#}nd5l5Gj^hXjau2jhubTgdf$b;jeag|G$P6gcdU*W+&0ZhM zT8;=ud$p<(jJoF(&QT;jKF$sn;lEDD><T)5Cm`RSnqK$oGaQsaQk0-!)DeJ4IZxr6N; zaNKa>q!nV)d^pAHisY&x?}HXOCUrG*H)qZjJAKf-}BOg7hq z+AfTMhFpX+joC2NxR}(p)uBg-hbq?|Jt~8BUNIehUEis?QZ)29pND!uK?V!Y(ZiH5 zbam5YY1~<+l0C#Qt_eDm!QIg=X|gP*>F3iI3jVp_08oR#3M4o>`oB{a@WH$9z7q4W z9YG5(c*jbj^5D#Dd5}feG10R{Gp4XXOFT>PPBY4&Gj7xG5#Gk*>BF`QIXa3|GD~64 zN^Is2jkgCZP?5?kz)_#mJpfOR2y#))0s{uIlM&4{{+;T42isK*iW)nn#lo-veqSIs z;2S!1JSQz9I++j=EI{1R41iFs4z902o6SQT)N)i*aCUoy^DKYUwX?r+^(4c`|F877 zpMIg>pPLc@%0ytLAD)~X{XZEQNEXKn&J+|4)64-r)WHcY&}NVxnUA^TLe{l9RGr=H zb?U}lu;!FLA7JS2dka};^y_j2!l(p;tX-SKLp!2EO)=nJT2^uj80+o}3gPtAp)#~Grxv462Yy0NM*@cxu_X!; ze%-Gc$qo8GDkFL2ZtJJnnwH&k2nT#Mx>N*L(i$V73pRm}19b;%lwOsEasVAS?r`=-5LzGIxeBiK?W9Sdi5O=+pM+5a8 zghq_;hxIsYuQ@#SfDb#ZSDVj=pWX*Y7+tt@e%#bNYE z#6-az7XDW4#4%8Lbl{L6Cvu_=&nXNX!873y^6}7`5+mx)nKsN$3}>)+99&hHoDg!P zdk51LOzVs%myVIJ|KCafesfxTkJUB!qD%Q32>^m1^nCgV|JA13MkpP|3E;uwaJL0V z8gwA%Bcv&LNE~dsn~H0!Io9^tfWre2Dd|XCOGDdcSy2!R@pbxJhRAB@Vwg`!W{qUP z0$4ZzYlcRkvEXhTi@*VLubWl^hCECT=<4}%W`5x)?hZ5Zpr;EonT4KAjRy)r;|=^y z=?K=N?7)zd@wPMLq7C>5zyjcMa%q>>-LL1x|6)7;H!TAYnLx}pF}z{TJ<~47^1=*RI6tyuR}~TkU9DY zfsXsJNsB3%gb-Hc92=c*#)nc(*Jc5uOOL@qkOMeImSu2+mb5QKP;h7|i5|i{3z;*p zd59iAKkkEMHV3_A*PU1qgbZH7-Ra?i++pOvAOqTP9x+dft>8+Qspqo4`<{%w4_`>v z_&f8ad!xJm4QBw(?Kjfb*REc@lo$VAQyYV;5g!f*SUq>AmQciO#yfMbQKl7Q^hS=B zR-*epxc91N_6R9dRN`Ttk2Z4bAR(x^wN3LCw+0g`Bzl|PYx;#S!XFXz_>qe5&QZS& z!6m&|L?ujNOV^n<2-|M?+?;psT{07flnjDati(WrGinK*M&L}))b|NEZ}NmNBN-ja z-1?QXZ2t7S^3VUWEdHY#UHmsK0OZ}j-~t{_|NOPgPu}_fDR$`(Ge>fNOCyr zgvV|7&p-Yb>ALxYlKP+Bl(l=aw*E~reC{qXK9~UMUZm)M^M3*+oBUd_|G-%bDipK{v&Vj#b_vA-p_pWr`2h!KSlg`7Fb$xx;2Y|EyUX}j& z(e(AY6a*??z}NYwc1We!CA~r6rYQ&2i1GtK5QJq8I3)@b3mG7K9ZWTvG%8`g*J&9fPi4a5VlT@CO4mmXi#bqiV1Vkq#4UF!+#jM``FhkB??aZB&k0;N*Of zj#6Ei;N;CxwByDwD&};(L9x(dSNiGjV2=5X#ppxBdMO6YZ2Exu3q#2vye1ju5@Mw3 z85oHmuW^vyU+Vhp(o#P;Sx0`qS{DED&0hSsBm2x?rz1-f6Foe%NWejEB*7Q)6f6I$))_y#9~Uf zk>W%*pQLEX((<&(xn4u}0-v690Ku2chud`KROH0+4MyM-!n`qGyZlr;if(+$&jlkG zNgkk(0CP}~1*TvwN;XJ`X%|h+u?NO^w#q6rfQd9#pi=Y$nC9ZD%RXWEDfM~f!aQrn zK?#Er2s{)yV1qh^thsi23R8vPlJ=*aKc@bES^U3ts~7(*%>V>*sbQ7V&;Kxe*8lD4 zr%%&|-6s)|0u~w!B1Jzy;I?INfR2xVHyogFRkfJ}gaZo0(d%2%?KI0#9VXp1Sjwz| z;2PIn(I`e3ML37yj`9`YIA(@7#$L>G!2At{vE?ZLMS)guvLgd#3KEnQH1*ikKM>jn zQU*-2Dm_iT5%-P(D=8LApQQtGWLaPf4dz_HHf$3Q!8doLkt#oAJvM7N!m7bQ8$Xf* zEBAZ~;gr+nF$C#1`x7k->vO&lCG+jL#oHYK zs(xAekf$dn$Nw<>>OToMd;H$}Qc1Av_YR6$%U=mCciY5cYr<$bXH2?qo)8NR8WED~ zZuLqrT09F9|A1oc>OXRvXU2m?u1q2bhd~oCnh#(ystj64MA-ySw*fk8%wC>lRDuQz z4Ix*C`8v09aN2%|Q{G5hgMtUa$}kkqL+MxqkHt5-+R{2*S^k6R>i6a>2eP3oH8ZK_ z>Rp$2Nkk_sXUjiHi~lF{;{VKNK68>w<=eUVUy=+!Y6;}DKY!qKuz%q6bf2<;-M{bV0` zN;SN+LyB+I6-OT&gn)CwIDIUsbqT1zcvJy;09|t4BvZELZo1$>=;*3J&M$fc%&PWl zrcpbCCPL~Agy7Jtp?<#-dXjo}LiQb>UO)Zh@ulN`l+*o}V%Pt!2mnq=a98^02h-Qv zuU}($=9%ZtN`Q#rAf1@gF^w-8!twsenxsI*K{&KdaLjXTCnwNW2R4kJCW_sLgLp_d zV6GBo##ZoVQe|&O@ z554T=SC6h-y_~avj3-!V2tHEF&UH|y-~3VILcSQzZ z<;BV_l6eIGaSjIQ>kSzj_4wmCK7>p(SgFP?GLUATPdWlpMm?7vRdf7-QX+$x&vz-M zv%(+*%Au~{1^6O#Xvj0DbeQ1K4`c>bXlPXE@E6BGh+zoMydI*DzylzJ4`*y|*6w$DepE;fToYZ&$<;OtG$(G!@)(tlN3OwrPSqJydndE;$Y7KoibQ zlL1~Q{O~Ds%K~>SN#86q%tmg`;xh8f2yp;0WY}x(a7oCjitGWMfS^VFX0iZ_6 zJSLG4$n?8kNC)!YN0 zWsPLV!4E||N6Bi{py$YZqgA*)*lutlmIOD9f}8{78CpS?=Iu{`R_53OFXXc0kkjZ9 z9S>(bzB=fnJ-|uB!4IV39Ocq^fBEvIqm#=!dEI^?U9%rd$K)S5hPunmr15@F2LNwU zU=&h*DZTYKrXT-addz+4!2V=TzGSzWs&_I|2Wn`1mgLN&J#Yq z(7z8E|M13ELXD^C+WUH$-)GwU2U5WM!%ZM}>+DxWtnbE!|F1;=u$+QgXUP<*{QmE! zuLslDyGzNi$j`T57BS-4u8e(39TG7q#G~EZ|M-QrQ_Dg~rVZ(f$u%kFldl$qYP~M< z#iD7BI(IMi`x4I1wmTAvRPDHlKwciQtp848Ed6=1=SB`rVbNUn^kPv27PXk8(=lGk z)5Yy|@>eW>wEcU#FS$mk<5~YEAD?_0j?%H0uh+7={i1?XG!IzJA&lY}E#l`W?q8z# z8}XuX8C&7&-Qy|AkIcGUS@G(()7M+m*B_;0_%*ACkx#{UQ=0!h5dbE^fZxs0_0H{k z|5kVUoT}Q*=}rK+jb(!A#NN5xx!o#qTP)WZzFX`1|6c`wJGVQxJGU2qJGyfS?%eL& z?gW54w>!5xw>tsg&h5_a&h1VBxO2O6yK}n}0PfuG-0s}&1b{oYJGVQxI|1O%?auAa l?M?u=bGvi9bNimT{ePbxi+M}*LSz5{002ovPDHLkV1k2mQ_27U literal 117510 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 H$3OoMCw@>V diff --git a/apps/desktop/src-tauri/icons/icon.png b/apps/desktop/src-tauri/icons/icon.png index 110feda4a3fcc90e2756f7e79a5cc495ee569f38..f116aa733f27db553ab62d31ab9a0057f1426300 100644 GIT binary patch literal 200476 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

Z%_0ogCv*)9xUY>7*-Z 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

dWJgwNZb1;)%ZBuLpk_^NTY1dkBvLd-AxR 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

OUw?3$@+wz6Lt&Q3>w4FLPSp@_ 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 literal 42886 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%0D(Bws`YK$TTKL`i(CQr+&mft@uXaG3UKMeBA8uH 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 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..cda82768f35b18242cbbea443c009e935f81aa49 GIT binary patch literal 957 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..e766a97720cdabd5bb0dbfbff4b77aec224d0cf9 GIT binary patch literal 2527 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-20x20@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..805f0f16b5b110c9c921381784c47444884377e0 GIT binary patch literal 4574 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 IM6N<$f-(L7wg3PC literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-29x29@1x.png new file mode 100644 index 0000000000000000000000000000000000000000..ad88f128113d13fd2a474beb3378574aef6215de GIT binary patch literal 1542 zcmV+h2Ko7kP)2Y(HWTTdGriZ)m@M4ck9tp-2<#htfacCZr!@yIp_P%xu-*wmvt7>-1I+cafQsSNgw%u}3_85Z zeO4CSi*bFIuTT(Rn5uaWy#!38RnDWZG z$Vo9DA@ZQHWe6(mr<$bxh z^yCX&%sqs%DxUTkh+g}1Gx#!QDp`(&FTTEs_fIx(enP>i>5Qu$?#(4N-|&U)0Cg`P zzq7QOr~N>p*V1bi_G${ZXWRJbvnJkr?Gb$U1Mt|mV0egWkx1cnp%%~0muSpEE?)v} zOaY@01JAtx8~0FL#&8AP2uIl#-aT;(yB^()x8K@|PfkR*@GWrUbs*|6gf5qJ97u;E zxjYHE@FV2f&$MF>*g=m64_7?BdwO-bHk8!s3KLfXocpbf58l~sMsf7{6u*DCj5}9- z*t_aTZ!f``xB&Ib_mJi#sP!$#UV@Dd06QI6o~#Acx;L(6X%xC_fImI6jN>n@$F4CS z%Yk5s*!!MXhIMul*3Ikmj&3_wfxT_uAsg|CgJs{wB2ki&6go&T-mSeA4~z1j3DMAF z^x)M5lYhq8yvfD!!*z7#TX5#7-nl6x!&l%a8lkRZ>eUDfBfBwc*=Qyn<`W-_v5%FQ zQ3$u-U^s?xzW^;gGS#SmmodDWanI9uEWS_k{9{CW+FDAHj=!0;!5u9n{3id2FcZyGJZ$#0gR+96JVK7eS2l22n!jWQx@R*E58 zV}lc6lO15ATEaSa0WvrZ>m144xdmyx#%~DR*I2A64hhxcQgMI$(?+l`4YV~b1~CR0 zYwn1!B<4pk>MEf+8Ez|rEdhBAppzvyCE;9XpxdF+{1pjNlQnTkyEaE-r*r ztYqO0DC8L$yh!yaf;qI->}EA8&85k;;&hnIE-QyiLoBq(GtYG_g~NjknFFotj2eH0 z`Ar;l5k;O>cNMca>#V21pigC*-H6YQ0pJ*eklouEV16>njDV098)E7&dDdFx#YTE} z-EMeAq^sL3E%<1ZTXQ74HwkO7Z7ENIWw_V57IkhHJyO}0sf{Rjqeb#vt^mthp#s#h zslB9BQl1Ky(Sm3b2=w)eJ*|-R s;uSxp)f2;^&GyFhRXrX4|M6euKb)A@VBjfE0{{R307*qoM6N<$f_e(-1^@s6 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png b/apps/desktop/src-tauri/icons/ios/AppIcon-29x29@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..9357ee2ed41b199291faff9d32b3ff80e558ec34 GIT binary patch literal 4328 zcmVP)1qMQBh$<3z2vMY{QW~jGiPD!!eQ5udKDEk2Ta~_5 zX`()q1f^*cDpCju#x6Dlj4yF)j7{+6-1ga**)v~%-(1)1J$s*HQbinCo;fpX)>^;s z{(WnmK>33m{@g*=-^-7P?6_~R6L9%}cQWwr>&IQ+Cjy#t&mAO=V?GD}(+qj>kA0Bb zO8UEX~dF*)zAF`@WWQm2s>izqfUH{9nAe>#dAYC%P_`3|t(=2!f!%^lABt z!YCn+=Ln;qS0#9>TUrv ze__{d6l3XPX6e-ZoX?8i%lG-eS{Ot#NEME|M%P}(Q7YSxg}MV}su6Lm zU$oW$l3L>FOuyMt+%Je>q6yP-Y<8`1)c1Xi$K$G-*a2AGmg^2gmxwb=g%e|>s8#z}4mx@xQtJe4 zyjIi4ty=^9?LWSYAN;q6tv+DUrD~lms~JzX;f1&a(ghr?5f7b0r3;Cu4p;MQrvDMG zUf|<9|8xO2ZjG?M>EXqfDaK89i`@)pfl-qMQd_)>jg2LNYISr@kg7Y8U`*K$b$zp< z(+lwSyX*M=4?jY$*P)&&e)a}%@i&5Y+wplajc7_9b=pW4@n1T5gOuyEAO`l@htPh1 zK1Wrj4Zbcm3^i*hftN4-?u8G~-%=bt)WIJf46wBoYP~Lak-6#U~?nF3;%kX#1HW7GyC!UGY9xG#2`^_ z{O|t&#~u={TN4p3vq7o&>x6p@XkhuL@qwc0ojC!Vc@uK|gXF!oO?3HPXA9UnV*g1^ zDaBC@%`8_QOqA(P9)MMiM;%GbowPdvUijWET>4;wz5AN@t3N-O6h+3I|Etd_Rxi;a zUypI&HQ=$YGW*!ls@2TggBbS$$`_M=IeiN9=4+65&j9^3CZZJG9^29cvb;%<^jR%_ zx7>mFrO^mxBPpE;0cUekonmB}spN*YOFwz(${7Ft(@ppd58wEc-FW0k2mO9T!ywpC z#(wGZF)se+1cP6Wu=!{gtv~Rgqc|Pk=4{ij5QBXDG2|3Q^W^K0tH0)Ja%_p+4v}I@ z0|Mo>%Z`?ZHiPuKn=L5Q%wXFJTdJ(7+Dc8;EqURF+Ns|Z-^0JWw2sYTgd<0q`1aTL zFezs0Bx&$9;`$zbnxmhdpnY`<(aU`B%>z)1r?l9@7;^4?cqhoccTNHu*9nGz4zjHf zXpg0x4rlC8oVx_oqcQ5Tb$H+Avt<&gS@NgG7|9HWQv_+eIur0qmCL4QT~hbN+e4f> zJH*N^AK(7QZtU6RVRJK1iELS*`PL5bz;i(O-7PGgTL<0?pbsp;|M_Whj{q;f4fR%m zeG}+I6x*dC0g(V4U%D;c6I7R=NEoHmgr3hv6|g0d2wh3+)na2bYiqRPQ*%yNf@Dpt z{b;24@#_O-5I&xKq>V2>-NT^Iq#>7xgyXDDX@KTuSI{|k1Kzn?z#DWAKYI(fc^+!| z_QVAK9vYQp>Rpdhbooz*#jloNM4cUS4E6%!53F;3b0&Q*Zp)O(i|`fx-p;TD^Q+)f z(kV4bmCgd~a1lR$dyGEUckew-{Mqxp#OImjiLsNWKe;zuy-HwL&chEcLJs$!J#y^s zEqIUfx0Uo};fg|^~F&xu_fa~uAt7j?a zSIDgm#K*>ny<_m#_mOM+@YbOLuC_yh32=)uuF*AZP8t}*ZMGIB+Cj+sC}|B!MvLof zCikL7$R?Vj9>V>-LON&Mi|{+OCBD(k9aQM!uZBbgsUH7 z*uRW^<2Kfp##lSj!fN+8*8MgCak1et{xZIXyFh?9AIEp1&!Zs$LA4NZnX2TDnPByk zfG)O($^tvdtiDdg^{qDIz0rKDYssoqcNuCbT(j}8SyP+b_hYQkukBmmy%%CLCivaE zG2F8kLwORzh#VQwI`%!ZH@MhQ>K$&==)SY-ES}x_BYY{`#Km8&;JwR-5C<_B`(Q{+ zW9G3T=b2DCA~8MZoMzlCLb8nnKfO0vbbCI$197U`>RR1Q569!ki9L4^D;0@?;QZAX zzg>;d;6zUyYe+{|n_3gE}KLy;0-()4C*} z)ijWbQ|F^3nSSmGKLI-q&F4;Pbh<2gNT&5dZnYaUT6aH%=*CCz!rM4>{9T0iJ^|ev zVbT{&*2&qMBnaEqEkU2|YA_URg$9<-xtM_>X%on}3o|YN<7&Ke zCc@2i#UuCmIJ}<}9;YgWM3;2i3WjAd%Ayu}cf;Fz4Bmy)jAPHx65kJ{TM1eb8njiN zhZyvbqY+(LxXF1|36dP&x=kXiTXKM8ZogsfRkpFZ;`&N)%SaA4G@)9Tf%|{F87CZF zp(FpovAjg$*0ZIyxIMFtW0Dkwm>hZx&0qfpa&r~IyQdNU(H9vSP7r4*W!(%&u#Z8( z{#2^0#2J#{V}jpejG@&1W=rOaZZ#*>xi2l(wM63Lb;T>EBMdq4mzj~=y@z@<(1g>8 zz&l{IX2)&DT}>he1U*FeKaSud#|0^tIn?rnOLqd0(yzuoJ<5?e9Xhs$5R8;Tarr6+f5X- zNP(uRidu${1yOB#`(~hCxarcXUwZYc( zxG&2%sKMwcpfw4a{O+y|=zcEqgAE4!XApnwX(WNPjU-u>K&tv)w}TSQuT{%TVctZL zo8Y)|Bf!h2Cg^Y6#Es20ym)OHd%Z3KuFEr!k@-^tXCi3jjF619gnL3@nxu>jdj7i&Q8ypQNO4bwflI3xobPpY-TsZ!2D zj!t*hq6nRG(|ptSe|!z6PF#T>_2I|N1zVelx=UDUHTm8r$5QU4h9XKp+SRkD)wd#; zCfrbRF=9GJhr;ZG=OwI{QZDN@uzH#!* zRH|VajESyo)@JXUCbAUm27$I1MRC8H`bX##U5y8n5Q}uJ&_%Jg`1R;#5R8Wz$Kupo znfQ9*Y#hxNvuZ`x-HwRTlRwGa6~9&yuQv4d|r-e3D2QN7KE@1f-vU<8E4Z?`PFHlXRbE)K7wc>zi3_ zD_3|H0$J^pvS9(V>3+~CeC~9WK({?PruAF1sxouBz}$=ZOna21XR#LdITt-~!6M6E zkZ{+kke+7!tYyYoilVusIahKz%u8k5suMP`=a=QyqSBGML`NKTF3|kg0;2)(WD2en z!J8QvFPk$k*)yY(g<7`QR8%uy8OU5mCE=nJ;F6Z5a8jw)BiQ z*Oy&oW^d0n`3vz4^75tSlY^}=9c0QjOLm|tv7(vY2fj04X8g>5mLR3%Y?c_9NTytr z45X_pUYW@x+{`+7Sz*CT!HE%|2!ArrBGn!2WIH5IHl1sYksZZpavxzd9?#^Y`7k-B zyiA&k!g`kV6d)yAYqq8wlw@g}yRRcosHq7t)3LO;q68!kSEc@>O3+})!AzchAeqM) z7r20o0#>3Nhi+N3nnfW4nQlF5cDASN16Q)oMwAq=b?XM#~*~ z=KyPR?;I*A_IL85sWLTb&RIAVg!{Z)EV0y|9LotiA|+a_0IREmR3G9pSkNrFNZpJU z?j{e?#j$!7aVW$_RQra&EtC{>)a>~NAq@p+tR79M6S8%lCc5X{u$;|zx=Oh|#ngrX6 z?J$5D@!Fa_JwESXGQl$CV(oQxn4T2XblIARgt5CXtEIKp*`0T9>KKAo04v2g73FeE zPI697pCgj0JIqP2yt~6SkGNIYNJ_SIkFmPP_v6?Lnu#G!N0 zxxr1vKh|tg$xe>%)*WeZxEloi!u8$}N4NXy1AGep9Aqc!3wHWPG@rIV?zz)H^7%i3 Wki*>_4-*;y0000P)1qMQBh$<3z2vMY{QW~jGiPD!!eQ5udKDEk2Ta~_5 zX`()q1f^*cDpCju#x6Dlj4yF)j7{+6-1ga**)v~%-(1)1J$s*HQbinCo;fpX)>^;s z{(WnmK>33m{@g*=-^-7P?6_~R6L9%}cQWwr>&IQ+Cjy#t&mAO=V?GD}(+qj>kA0Bb zO8UEX~dF*)zAF`@WWQm2s>izqfUH{9nAe>#dAYC%P_`3|t(=2!f!%^lABt z!YCn+=Ln;qS0#9>TUrv ze__{d6l3XPX6e-ZoX?8i%lG-eS{Ot#NEME|M%P}(Q7YSxg}MV}su6Lm zU$oW$l3L>FOuyMt+%Je>q6yP-Y<8`1)c1Xi$K$G-*a2AGmg^2gmxwb=g%e|>s8#z}4mx@xQtJe4 zyjIi4ty=^9?LWSYAN;q6tv+DUrD~lms~JzX;f1&a(ghr?5f7b0r3;Cu4p;MQrvDMG zUf|<9|8xO2ZjG?M>EXqfDaK89i`@)pfl-qMQd_)>jg2LNYISr@kg7Y8U`*K$b$zp< z(+lwSyX*M=4?jY$*P)&&e)a}%@i&5Y+wplajc7_9b=pW4@n1T5gOuyEAO`l@htPh1 zK1Wrj4Zbcm3^i*hftN4-?u8G~-%=bt)WIJf46wBoYP~Lak-6#U~?nF3;%kX#1HW7GyC!UGY9xG#2`^_ z{O|t&#~u={TN4p3vq7o&>x6p@XkhuL@qwc0ojC!Vc@uK|gXF!oO?3HPXA9UnV*g1^ zDaBC@%`8_QOqA(P9)MMiM;%GbowPdvUijWET>4;wz5AN@t3N-O6h+3I|Etd_Rxi;a zUypI&HQ=$YGW*!ls@2TggBbS$$`_M=IeiN9=4+65&j9^3CZZJG9^29cvb;%<^jR%_ zx7>mFrO^mxBPpE;0cUekonmB}spN*YOFwz(${7Ft(@ppd58wEc-FW0k2mO9T!ywpC z#(wGZF)se+1cP6Wu=!{gtv~Rgqc|Pk=4{ij5QBXDG2|3Q^W^K0tH0)Ja%_p+4v}I@ z0|Mo>%Z`?ZHiPuKn=L5Q%wXFJTdJ(7+Dc8;EqURF+Ns|Z-^0JWw2sYTgd<0q`1aTL zFezs0Bx&$9;`$zbnxmhdpnY`<(aU`B%>z)1r?l9@7;^4?cqhoccTNHu*9nGz4zjHf zXpg0x4rlC8oVx_oqcQ5Tb$H+Avt<&gS@NgG7|9HWQv_+eIur0qmCL4QT~hbN+e4f> zJH*N^AK(7QZtU6RVRJK1iELS*`PL5bz;i(O-7PGgTL<0?pbsp;|M_Whj{q;f4fR%m zeG}+I6x*dC0g(V4U%D;c6I7R=NEoHmgr3hv6|g0d2wh3+)na2bYiqRPQ*%yNf@Dpt z{b;24@#_O-5I&xKq>V2>-NT^Iq#>7xgyXDDX@KTuSI{|k1Kzn?z#DWAKYI(fc^+!| z_QVAK9vYQp>Rpdhbooz*#jloNM4cUS4E6%!53F;3b0&Q*Zp)O(i|`fx-p;TD^Q+)f z(kV4bmCgd~a1lR$dyGEUckew-{Mqxp#OImjiLsNWKe;zuy-HwL&chEcLJs$!J#y^s zEqIUfx0Uo};fg|^~F&xu_fa~uAt7j?a zSIDgm#K*>ny<_m#_mOM+@YbOLuC_yh32=)uuF*AZP8t}*ZMGIB+Cj+sC}|B!MvLof zCikL7$R?Vj9>V>-LON&Mi|{+OCBD(k9aQM!uZBbgsUH7 z*uRW^<2Kfp##lSj!fN+8*8MgCak1et{xZIXyFh?9AIEp1&!Zs$LA4NZnX2TDnPByk zfG)O($^tvdtiDdg^{qDIz0rKDYssoqcNuCbT(j}8SyP+b_hYQkukBmmy%%CLCivaE zG2F8kLwORzh#VQwI`%!ZH@MhQ>K$&==)SY-ES}x_BYY{`#Km8&;JwR-5C<_B`(Q{+ zW9G3T=b2DCA~8MZoMzlCLb8nnKfO0vbbCI$197U`>RR1Q569!ki9L4^D;0@?;QZAX zzg>;d;6zUyYe+{|n_3gE}KLy;0-()4C*} z)ijWbQ|F^3nSSmGKLI-q&F4;Pbh<2gNT&5dZnYaUT6aH%=*CCz!rM4>{9T0iJ^|ev zVbT{&*2&qMBnaEqEkU2|YA_URg$9<-xtM_>X%on}3o|YN<7&Ke zCc@2i#UuCmIJ}<}9;YgWM3;2i3WjAd%Ayu}cf;Fz4Bmy)jAPHx65kJ{TM1eb8njiN zhZyvbqY+(LxXF1|36dP&x=kXiTXKM8ZogsfRkpFZ;`&N)%SaA4G@)9Tf%|{F87CZF zp(FpovAjg$*0ZIyxIMFtW0Dkwm>hZx&0qfpa&r~IyQdNU(H9vSP7r4*W!(%&u#Z8( z{#2^0#2J#{V}jpejG@&1W=rOaZZ#*>xi2l(wM63Lb;T>EBMdq4mzj~=y@z@<(1g>8 zz&l{IX2)&DT}>he1U*FeKaSud#|0^tIn?rnOLqd0(yzuoJ<5?e9Xhs$5R8;Tarr6+f5X- zNP(uRidu${1yOB#`(~hCxarcXUwZYc( zxG&2%sKMwcpfw4a{O+y|=zcEqgAE4!XApnwX(WNPjU-u>K&tv)w}TSQuT{%TVctZL zo8Y)|Bf!h2Cg^Y6#Es20ym)OHd%Z3KuFEr!k@-^tXCi3jjF619gnL3@nxu>jdj7i&Q8ypQNO4bwflI3xobPpY-TsZ!2D zj!t*hq6nRG(|ptSe|!z6PF#T>_2I|N1zVelx=UDUHTm8r$5QU4h9XKp+SRkD)wd#; zCfrbRF=9GJhr;ZG=OwI{QZDN@uzH#!* zRH|VajESyo)@JXUCbAUm27$I1MRC8H`bX##U5y8n5Q}uJ&_%Jg`1R;#5R8Wz$Kupo znfQ9*Y#hxNvuZ`x-HwRTlRwGa6~9&yuQv4d|r-e3D2QN7KE@1f-vU<8E4Z?`PFHlXRbE)K7wc>zi3_ zD_3|H0$J^pvS9(V>3+~CeC~9WK({?PruAF1sxouBz}$=ZOna21XR#LdITt-~!6M6E zkZ{+kke+7!tYyYoilVusIahKz%u8k5suMP`=a=QyqSBGML`NKTF3|kg0;2)(WD2en z!J8QvFPk$k*)yY(g<7`QR8%uy8OU5mCE=nJ;F6Z5a8jw)BiQ z*Oy&oW^d0n`3vz4^75tSlY^}=9c0QjOLm|tv7(vY2fj04X8g>5mLR3%Y?c_9NTytr z45X_pUYW@x+{`+7Sz*CT!HE%|2!ArrBGn!2WIH5IHl1sYksZZpavxzd9?#^Y`7k-B zyiA&k!g`kV6d)yAYqq8wlw@g}yRRcosHq7t)3LO;q68!kSEc@>O3+})!AzchAeqM) z7r20o0#>3Nhi+N3nnfW4nQlF5cDASN16Q)oMwAq=b?XM#~*~ z=KyPR?;I*A_IL85sWLTb&RIAVg!{Z)EV0y|9LotiA|+a_0IREmR3G9pSkNrFNZpJU z?j{e?#j$!7aVW$_RQra&EtC{>)a>~NAq@p+tR79M6S8%lCc5X{u$;|zx=Oh|#ngrX6 z?J$5D@!Fa_JwESXGQl$CV(oQxn4T2XblIARgt5CXtEIKp*`0T9>KKAo04v2g73FeE zPI697pCgj0JIqP2yt~6SkGNIYNJ_SIkFmPP_v6?Lnu#G!N0 zxxr1vKh|tg$xe>%)*WeZxEloi!u8$}N4NXy1AGep9Aqc!3wHWPG@rIV?zz)H^7%i3 Wki*>_4-*;y0000OUpL)v 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png b/apps/desktop/src-tauri/icons/ios/AppIcon-40x40@2x-1.png new file mode 100644 index 0000000000000000000000000000000000000000..0d07ca391ff2f4655c738e501d87ccebcb60d97c GIT binary patch literal 7044 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 afBy$5=4`_KV0!BS0000K literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-512@2x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-512@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..db277e11f155f8421bb56849b3576aa815082b9c GIT binary patch literal 796589 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 ^CA+K!Rv* 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

-13=4&s%!#(Vhi zfFa1BMz75MHCe<@I-JA+A0hD_$!ijkHkrf1+^NhJVVpb! zRv$B@5d}KnD?GcDt!YhSEFjJqc^g%0AH%s^A*5yrf+()VU~L%4_Zk3S0uVr*sA&{k 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

$_k&9TY;^=5p>@ZwQ3}PlDOw2A<1q-D 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

-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%0AN+oi8`q>ixVKCCn?iE~)ElVZ*(TZN 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ℑNnOHm&B=~v09<^dVMkgf+7dl|)lhn@i}H$xr?5oAUe%_vAPJ#hv9nT$7tO_Jj3GWj;Bia3B-6zn_P9 z`@H|$k(j)x9Bk0ZwSx@I6(bQRF-WjWak+o5GuTQ-g*h^AH|lsFu~YDKcj;yao{)0% zHy#SR`_6aoYm2V9rqoz13?)iA>uGtx0r4iU>wTyqN)t>vd7&*a^g!j!sKjn^B>D~5 zA;mlOJV>9HL+*K8JFm*OgTeCe=Yh$liIL{>-vIuEHluAah6f~5qUZZ#v%a>NGPJZF z>`-hS&7rIPp6T#Bb^x^c#JCOIQxp*$ijW2kzCLIYO4(AqLyV{T{dh|8y8)-AV_|1e zXkvV=d#8EWuS2}lVTm5O(f*osq{?l@G@z*~>;u|5$MB8Mu;KT%jFoK4 z)bbXwnhoQ)CJMxodT%oJ5gnSz4X zUm;2^L99Jw9Bn`++vrIvEy#%wo6Gd5hpX{oqf?wg2iDq<{El<>7Dqj-3AHD{^}3 z`$QInfcA&`nld&|>wS{cOT@QniKDZeB%`G*;FJbHYl+--PZ{9u@3=w_A4+@T39)Z} zTl#PQYiU3B{fjkVS�o)`SxsqP1y>=JRt@Bba18Flv#bV|Tk1Yoipkq7`suDp1kW zZLk7DymJBXp+Ys7PHJT9z~PX9+FhGaV?zpx7SDz_$>$`Odge>WpL_8YqEI>Er6&Y% zq;E-yDV1_vde1X%x1MSNb3~Z3Z+L1DpQLp@jc_L82Z+?+I2cYT*m#3Kd3n@0h#en_vp{Q9!k zpI9EN{6P{0-dKXGP(+y-$y5C2y6nCqxmL@xF&63Ux+8qcgeUprh4DXS4C6DPa^m8G z^SK(85tHDOtN8|V!0+1OtL{H7l4FI3&3xi#TBfji5KAb9z6x36n&6W*;{UApo>20H zzA=jV34f+h!EI#i5LQT_;sLrO9aI}i)I?aD)nv-wDlsHvaX^rau-`knz0@gX8Kw@6 zyFs2Xc3s!szH#$XKKbRd{ORXKe*e!G@BhOlw{PiIB=6^oo(nb*a{GSH4JL$+siyCc zez+ly1WM^eAx4fT!3txl)1pAQT4;aw7s>y#&o=p)W$LdNSMrgMd_z9{=~v~cx4liC ze)|(k13)(L--YMGj@O`&=d=B+^?eNp-}*{V1N_)LCDAWl&+{oIgO~(}aGy#Js(p9R zQr|WbC-G-$m5t4~XLGG^cBWbbXvjJ-CRB?5UNav% zBzkI5z;$C895$e|Sf6YZ^!5GtR4*v`pQXhfK% zgxTHp-uO9hpKBXziuJI3CYx6JT05(lU{CO`VbVJ^007YG2^R>KQen#K4zlvdEK55| zSRQ(qP_t0$qktalkM-d0nPVuQRhNLCw`X>3n#DfWc97?Oce}!YvN` zO%v?b8WfA!mE4}4Hkw467v4=`Xbl-1+E$npnhWxP{&mR8^96kDJ>Jzhfz_yuwJ+{< z+ot_8-kUd({EeGJ4xjcQ`o}W6zR7LLS{jLWUln`T)6#zS?@D{`&&c`XpAh?Je<1Cp z<$XN;_PxMuL9!xK2o()zd8!h2g(BBX$#P2r zLi|R;Y1<7!rlhU_tuy#eQIU*_4`k@587m{gsw$JE1<(1IO6DrQ9NOA}kIp7*q>i{t z1OMSPq{M4dv%DznL(08SVd5TJxW{JSxcR-M0QlZ)0K9T{DGn}*PjE7p3JTeS)-6UJ z!DuL1xq%^)g|p?A;w}t~J!(b?0X+z_N^&7wQ|Q;MLOuWps6_^9CGti!J$>N6nk9Wo z9YIAPvPXy6EN?>TVN4d)qH7txbb~x}kOwC%+n`CHGgt_6om6Y{g}s9zou^z@iLNB( zG9Nv_R_!5Pq!$U93CH`eBn;wlNU|^dc@=-KBKKergAI{$sAMHLj4)Dbyswp@|Jcn7 zdGS?|Kl+@>NB`<9Uw+=?$;JEc8}>f@>e+>sy{PblM1QtFFaPo-`NKc_#`-U zNDED`oEM(wo~1|6T=2>7ig~sjz(O57fpk*HsmNAHn^J@x`ttgaUq`H5ONppabRXpO z(!n%&1{rNBz*cCx-KMCh5Xxv_a}iKDjEQZ;+*#pYFkEfV&F=HXL*-24$)><$6Jd_0 zQwwr3HT$p__X*0dk%g}jj)0A#tqvlFlCv#HM#P+A1A4Q25EUNsSZg|i2{Ae{GoE`Y zc(n0aWqrud4`Sg)_llz^37tR(eqR&!A!&nYm^WKAr%$8N)3zD$u1eXO595X8p$rsS z!^gvGsyFU@N}h3VX-7yXlu8!t63;-7CjPb$jfSAx6IQj)`ua|-L8L7Bo7YMHr24a< zt&=(oi*wi)bUY6Y;8hJ@w?ZM}4G0yU?i&)!_ciQv%7#)4ug!Yx4dOzb?J`sf!=@0Q zCDHRiNdQDWZI+RKKG7YMe;=Rj->Z+$5`dij9AC5UH|M2zP6%(01O9$O>RU9P2K9Yh z3qt^!g+fB$d5wtWq14dGiCz1u&?xA;5@~d1#=ocP!df=rY%~<2|Fskan|ygaZmzb| zJ1;Nm{Y#?n{!wW^{|}cx@HRRB=I@F9fB#0>)uIG==i8S*_;A^a9&DA*)=D|&>-P57 z_AE9yJ0b{8BQ}TFM``_Q&?E4MTcaVv{=6=q!_Auu!0g&s& zzo0!j(=e?1+6t&x2&kxV#YRY!#;raU;a4>Swy9# z6a_0<7|`yK7TsYP)uIIP_ir6k4t020ZLKynbFzj2Q0AmUO)eFxpW}>TUWavHF+s-~ zU(a%{UMv=X>yH`$Z|(-b`fgr(Wmf?BfvL=M0fMAu8l0MTqwL)yh!gv7Y{r=mnrZRn zVbq6a=DSq~e~rB{&PQfhB*f?yFMG{aCQzMfDhVo_NV&k%4BRgg7T<9G0mOwBLY&0B8Lp#pi@d+X#+2>fRA6XxaY3z49pSU5Uku^E=j`o z3ZNwgYAN1ZnXLB4rAI4tTkhXb~XOn z3%C)5D5K!_>%KA&a$4`PWV<>dCPrR^ZwK5{94fpq5F5?%_2=Fr#UmaY^fl@@{H;T! zwWHl3Ily?+>_Zm5zEf8Sn9F5H7u`DNF`vixZmv{nEe`SLo>NYTC#@U)_FmQ4rWC;G z9zOm&B#a`u?~>j1bC2)slJvH}&aJSLQF!;UDL1!0G}kYNt)Yc~6rrelvuJ}^^^PcS zf^zOK$^D?aS`f0ZagVwIXmVIN%wS@PAg%rP+DRZo9(XL}d24aVG0J$)bcBpUih^E+ zfLOkFZN-nIl4Lu)`MuB@(YfQEMZc z=4%>KsJG~-Q{Io7i5u(RFP7ii--G9G=j+00)B2wL&tbgSX&mJUTI1TN6-_{?M zi&Ji#8L7VST>CS&PnJ(01wFx(x((HigIfLPZeM?Du?}zYe}5+0S`*r~&g$ToY`N~6 zN+ILEPMQ#_?RFoZ(=ZF`nRT6a1kZ>7j1v z&{6N>bG0#P914L|RXWr~>-YAK&DLO8_Ob2ryneY~{Fh(c?QwtW=jHTMAC~^5?}+`z zZ!a6~SLO7!rx#nm&9yC`d;Pc$@r?VKr75$Uym0nKqW7GrLL^-jjd5n^K~yKZ(ApTf zxGqC$KI$Av`VJT9MwD|Xp(lbz_>H9~XLyZQ83X^}X8GL^q2t*u?2_;)k zG2))19Fuo7jt3{cR83$gJg(VX&ya5`fLK*1k@JO8;#pXR8ejLr0U4qe+Qiwa+#|G! zR5lL|J~%P0T1#e|H!COjHTKZ}c%%S$3p4;;T^axv0|Hp1t9qZMDOhZJ++LR~fV60I z6zl|XxWd>9&FPF;1=)?o#JB)Anbf`TuqYi6d*=r#GTJFR3X4pO=^e!)VK-J7;({Gy z1Zkl^$zV}r#X;p1aKivQu~^g^PW0_SvZfXAQzZLlb0iEF##S=A&ArwNu}H!Y9$G*Z zloyo_&e4XEyrAXOropsi~7DOZ30?IrK`xo?a7@n=Oo z_UBjfttI~N$)`?>GQhUO>kdIHbZ(gRnkl_5&*a??NG_#bU&blCZP@IIO!ZI}w5?FQ zckjIUu;2Th>+&N%eqHWAILk*r`Zf8=7hhi31UKZdTNm5+SUt4s0e+1Fynea-wLpxn zUF?9uH3eWj_^$`oi<82XOo#ns`TFJXda)J`X9-#MsubAX<{6?3&!e0=_mLIsYKP&i zl`sYFQ}12_<40D9CE0+mmfGe!M~DqVYA zlg`^z@Dw%_Z^%gjEO~<=QZt;|OMDOW!EX4bb@=?(L*@Rw?gi?36#nkd>^3~l>#JV@ zT4N%O>Z8_tt!|*gK}F8)?>~FvMSA#T``VZF%x(9fK?I{m3^uR@G>S!S ziUl?v){GoXdvoBt?;j_ZRBLDf6neDVXDAwzT&*=vAJt<_I2~ryb-3sCg|qP6u6GMb1@W@EuQ1O$=pLlVKD`~h`jW*L9zc- z4Jc=i&yN%dV!#DRrH2gbfNig}ji|6}+^)@=?RC5CJ5(!u(D29e(@;4BFv+&_T-rq& zXMvOTFRkpBBwt&J?3)3>`P z_m=EjFeM)C(sKX))${<=4wO&HSi+Ov6XoY95OAs}`d@2NIwhN;*ExzO8NOCy?`a9E zM0f@&0XW7h{l5xPhVk4YLkSi5J@Q}NlQ8b7BWf=0YTs&7@vuVt?ZW4 z>h4jQ{66@gQfHXp02ZE1N;^O@e@%eE#aZDq){J?}!*UZ$xK<#a=A@4S%5i`BHPix% zoG9%|BvS!-920jX7SSNg+8XZ@zGr&wc4EPu#vp$t*Nv_JetkgMvb= z5|UC|`1W;7SBHysOqG+AzHV+Ux2G{VTPOanFU9{e&oudWe&)8k^W7);lfU?m{HuTY zCAs^`LwVbik1fUi-Xw7KMidz1AWwd_adCwU7_dkB zLKH_X{qxCUft#Auz!8=jDxlA44I5Jn$V%R^4mIW8r|VrkXne%z;USVa2PN>o>~N`sVRU*d#EqeSPptZS*I!; zU~A0aevMo13qjh(y)q|E6o&;3Py(bvhPs3-JG;!MT@pc)KF{z@3(*dIgim`Ew2~89 zF^J2Ab=S%sP4)!l5h#2%DG_a9TM9s6Wo3X_HX07JcU4#(?ir(a9&-DpylW|_3AP5@ zXsk8ZpBvm;sHSULvH-La$~6>V4GKaWR%}!Gjq%V3yeBQsH*IU?47G_cM6mfiXqL(X zPiZ*;J`K+$kipo152AvNecWqOQGpXvZ`A1&XPc}9vJBwQ#++{;+Y*S(_fJqNV8I_& zoFI}y+l>AG1f|Mt+cpfv3;Z!`E5>EsbC#|GL6csEy^LW{J#h*?*msn91 zSS<+mc9UNd9@v$EIPIt8XNPkiszMQrijH$yOR||VpF#Do-a&hXH{XqhZJIVkJR3}T z-xRSy=Se9|2vz<(YlI?I_+EF!5KY5^tU7f9>c!1<%5vSZSm*d|M?1$H+JN~oZD5f& zaUlj7#`PM-B>I_Pd4?`7PT#E#eWU<*vnT*gr_&4)5-A6Dm(Ot5N=J88#9~p%_zVql zxE%mZNOnY1xHjEv3ODx~$TsiY7{=t=3!DNsy3qg7IxI)VM*p{6`hN(ivIL4eFY zF#^3!QXiPGlWfeT@`}I@z>^>Z(Q{%U>Z3(Ooz)+IR zqn+&leTwT5B8TRBuE(zjO&};W_q$l@COc-)pwwWGp9Xi~<^ulv%yU=rXI~Wgy+3{^ z_g-)E`0chS17dS)Eo7P7WU)a8`|yg&aAmdtXBs6@H2;}RNj1?yU2?S?g73VxHXu~~ z)=%7!x4+}GoP%DHkAM8za_7~1^2}2=mI;5`Cot=D=`>;pSJL*lZ*DBp|C>uwV?8Kb zThst;6cFp5Jq=p>TEwp%+Y1G5{&~pZ*8|V?g4$NxoQ4$t+;=bkDzn`Z3(Wod4hZ97 ze>>cVWy9ltbf^o?@caTCu|vTZC<>(!yee2b+78NcGPEl&I)Ff3QoK(|ITo|Qv^s!N z&dMUl4X8iV3(A>K<on{I=AYeALamd~(?uKngMIq2e*Wvv$;k=;gL)pSaUI?! z1IR2GO`2VS&?s`TLjiT}eMqnSZdF)$HFnO}QrRW=`|tVpJAsrJ^Q}{k>+5$@Z%my? zQZ3Qc%NA<`vw4f}m0-a1>Pt%3-5Rt_Qy*^cb^nZdHpyHzZlI{}wcphh<2i_2Xl(M1 zqRRKIrpb^{$+c=LQkz8d-(}Nb6How84)w~IXzf38s4m6^zmoc0vhUK-w9D;9{Anm+ z{19njHAp3(-;Xk$%Z(8i3cK^Ro~(z+2G6UG_ZRF0c)gn%U`UKx)5HT0m5g_2w%;2~ z&`d6HAHJnJL5&FP_2iNpb@Ws*I0$qQ^*7*O8#(VI4Wu;zB|xWQ zLx+0I(;|HOykEm%RXAB%`UXeA>8-me_5m9fgzmPZ z27C5^32wiRRB=tkfH_R^G(drO7M6`I&&vmXZUF`U1Cd1qaQ;7kNA%C06MgI%v4wFX zSBo;>)VHSj@Zt=0giL8p(VP_n^Pmvem2%a+v2Y&K`OUhp{JB*LcYRrdUVkW8U-`UT z{15*`C${hJFg=<<{aHW()e#a}m}=0NOvot2GgV_<6_B}W-FS3>!g#d41r$UIne zP>+O+TmYIo8l$3oCKilQR3UFWg8a~{&a(4X5}9ODunIJ>>-0L`FQk6OT%{re*(N3s zyT~AYg~T(wR{%?DGI`~z>J%F%Qb5ijrU1*FDcdd7lDVTkp|@;;bip|CGUybJzpdGf zibf0-Qbj7{EC^Z5W`4W=B zAWlows9+;o#Gu=0@qp1X4r&vj1`&Flu&Zk2WoZd=XNH3n!_?Js*j&MXFW(jU^Us@n z{1Yah{OnnteBv|?&lD279a8%FOgX81%`jU%J>kf?Xqub_i-^emCEvaKa4Wt(_`w_U zLyOn{OJ99`k^6sLzW)4cOA^85VpF(2ij{L5)IAbwEflxI{z%?;XIU5r|a-#!3!#Jon0vUPn6caN$yscPq zq7aj2M$%i4?M<5e&z^L@N*=A-G@Mb6!Zd(Jdj$vjL*el|BysJZA$0lpq$|fux{Mlw#Z= zx`oW&n?6|}wqbqg3A2+Oh8C0GkTIS|6QB)%TE;Xwl+OTo*H8*Ou>m?K$$+iQCHT9C z`Lx>}+}jTXc#`!>fxxP<0xpM*p%yZLr8y+C0hw7x!7LOv*<-qmOZ;g)8z{{98 zA^4qu$J9Ts2Dx2s^XO1`dJ((XUj%s`E+rq91CM%)<}$)q-I8G;gWo*uTQlbri2}s$ z0NcU-y!I$Y8|;M*W6^v9?*KZVq@P9tfU6Z+B)$&_=`QDQmV5^Hl%G6ULx)lUp0{?w zs6Qb|ta|)mOp*sE(CuG-L>P@`Z%_8@UP`-NrP<9>_vh`o!?$kQsrG9e>*K!WuV zf(gH#*u)Tjy_Q+vUI;aWGUheP=!6k3>i+)l9Q3_OFh2jy9x%S2FD+Yrqq|aVj~%lp z7WdfO^);PW2#@H)Mecv+d9fwNrv2nU5dE?LQ0$LBEB*iYU9soy%jsS3T#E6P^YCym zgPd$Dl**IQygetriWaRF=Sxmyt`TxJcq+?3Z`=@j?m0O>byKeW&;L};OLN`s-d{W7 z-^IU<$uU?%TbX>9b0OAye2AlDAb)>WC+sCy38N+>-yM#X5xa*g9ato?crC9b<+GWj z6KN4GY63iasZ{#?9LrrJoDGU=E$gEwD_c{6++hGD(^{e^h5{^38#_-7^Q_ljW0<7`Pygs5qghVZXsS5xL9O`7t5slGtZyp)6c8?)u;P1T|ddSYeF=5 zlzB&V*C^~O3`$Cp{hphw{5-l8fA}dME|9@H%XHzHr!V9~AG#%%3;*c1f9D1H=pVeW z`S9QN#P!Xl@c*;-X1}&w*O}iKW9@VM%TAO;l`PqkE!naSl~qo;NetVn265mN5Tp_y z0b=B-lFCaS5+p(DA;@d~i2MaXjC8Ib6(CjaWXYB+l9EV@jYNt)#a?Xgz2~esveulV z`NrJa$*V+Au%WAaPqX*hYt1>w7~l8%E_Pa90JgMzUg5JfulQn9NiSTZ&|Nj;)2(G8 z)1iFp@CS=S2<5atOc;!I!_$v?*w#bwUn#pHO7 zWU|>5V!Cj-mxr`dVv^v8OhLC`X&yH4$BwF^Dah2R%1^z(%l89uMqm|ltH6N4l_zi_ zZ&OazqbrkZRSa&!JMKIPfhIDS^-=%~6&cI0ZukLeG5zvjopG^Ap-)w$KCc8E3I?F5 zPpWaxT}`2eQJ}iZYqGQH#$dv zdn0pX@J2K(tWSkRZyoc7mNBJbZ<(9;7$MzX@AVsW@$|E#8-M5U%b)G40GFMz7tJ^z znyhDOsiRH8Us=6AlaaS&qG0DA44bhP!mXqne5j`){9CAj3kxdP;qe}SDS^_ zdIMN9XdB-@kHguA7Jwgb3&8gO@4RIx0GJJ0QhAOK)(uI`5b>1^VVq)7o!ZmX0VOI# zQ7c+Q>B)VFp9Re()cPM}-5tR9l3M1KD2Ozx)2hHrXfog)dyCtJj&n@$eh;tp{Hs z+0He0-+eiJvU}k!P;mIPQ6xL`9cHyX*O&L{zeRSPZPSUxB-8uvJcvYd%1PY;moj*m zI6!K($*~o++9*BtnpAw@nndB>@6VAp9RltZpiahqR2-H%oS#!M;l;Z~Bxtk4s}-H< z@G6IXWpmtR!tR+ydhh@uNo@A5Y|dGn4Qc&ilViuC?^0f z(=Sq$(A6@WzcUMr)tU_wk#lK(9&6POaTD*{V5Fkkn7|a|p&ZN=h{aTu3(+9#Kd@C_ zBTc?W0D0zNb}ABF?u&5Ht|(}|nbwK)v|3YYu_0?FLLk3|OIE$#!zq_{6<$jIP4?ef zOgFoA#}4@%wv1Mm@C6zciyKY;jC6!@^+AkBHt(01H@|v`^Ht zKkOC&2miHrE()`RQ_(}*a^fgjRdq&y?-m{Q2tW;{iaKC2ln*aQYA|!;d@-pXJzusKBYd6-!4j4!c+o2I>$C_ ztndkrmZ#(ZYyjlvmA~`Ii9j`#MM27}46i@F zR{sV&F{ALgM0v;8wG*~h;XIc>-0fT+VLByd5i@`wc>?g%`=y@CZ~#e16_lNOx&`3F z6o8)?20-5wBYU<^W3*7Eabk?qegMWO$0F2C~bcg2A1$l7^NvTupYDnFa-*PInNa*|M)fY z!cx>5l(hfkFBtKDD@?9zGD6)p^@qOK=&!%Gr4N1UVw24uHqZQk-1&9rtomM*s1GVr zRt#+yISRqyxOSR|cY`@;hy3k_z0ZF35`FTgFVXj&d56CG7q8Hd-g=kry?M3E_cLpL z*n;~(N`{oUOGH7U?(tQ71K`RQwREt%^Uxar2~Ij&a>6Dadt~161v10gzF0e}N#kZQ}^W|;7$7kEj}T!TD&V1~3J^V4iHX`K+a zl>m;UKt{GEfHgLnd*ugsA+18%YOE+s40?oKYe@|cS*Xi5)7$Lc_~8dOAGuc8PU6!u zIl?>eF&#A3#dvZdnF603oU}_eZODB61c}TzZMkTxN!S5$N0@%nik#MF&*{1KM2w&l zYk}VRx+&(L^{JT}55OhRG4YD{*H&cwBet(aBf3mC;84_Q3T94YZn#6bpz#ann2rM1Bt>ZnJ)`Og) z!>#5qfP#KffA8Z!d2k+wL-IfZ&QZjutuxlZaPK@rlX_P=c{HAVorJxu!SAH7a8Nw| ztw@>$Y!J<)_ugc3B}_?lalel`pTG{|lne;woJ?~34y{ptltqA&rzco?N__qb4XbP_ z2{d0ur>(&>)$W7B9`g6t(ziuv=Me@Df~6whNT@eI7MM!9n~;oS;!=N?D09ledtuL% zsuXIG3K5niaoa$%^++QrK$etnkNQ2=h~6OV$u!$5d3THD**E7e{SNWxex26u{;2Z- z;c$M+Xw!^sjG~W09kKtY&8l$cvF{T9*59T} z|LH%b^+#I+V1o!ZrYR9BJ7-Z4&c13t?O-9y^C{?fN|X)t6RaxbqO?4c-jg2H;3!Ei zib*{2L1RUc+yj<|w2pDC`JrZmlokd50T*^dDzp;RC1DMkp;ZW^F7o3ONda>L1S(@N zb)iJvA_ol;ptQI}80LFAMP6gdnic?cnax{6y4V;3`=AA=i=RK*;Nl!D#|rGZ{>IOO zKsgaQPDoyxEiEN!2?ig_;ll>NPe=pcy)n@`nve3dJk*s(wMs}5GL?~1;lF|jFFWWA z#yJeK19s=29#4t0gUSfHugwIVjP|B|R>d3N;#P_bL4iujM|qtLi>MMFqWrv(n?oMx zDJ6si=aLzur$ud-2f-4jMBudnx@iT z)7$UfrmuYEWqNjN0Nizbp=+Dhe~;v2=s3qhYt@hdKyLpH`;@=gBzZrCAGX+{vmN+n zQ@FFk!Q`v^Kxc~zJV;8?nKR4V4)MJjR#@o$ylB&Kw#LD(kZ=`3pWLr2#QagRDinR~ zDI-rWuub|`je^0O0!KN@NSQRyUR)o|CX`Pw6aim4fL7h!Kq;ff=dT&OZ4{h19U5y? z3%C|oOSJk=o%5Jecj_@*L!lrM1F4YDEW*Y1;x}yn^-Ib;$MV+PX&ovDj%G+Jhe{`s zljXbnl-=dvaSeJgxAdZ9e2z=_lQDXadcl?Phr|Oi*Ztlh^>2mk5%XeQA%b&cmiOOd z>or59pfhATAIu^#ahVZV4_c3fGuW0NcC4f0*R~ml#J_KUPJ1*a#xoh?!kZz@5)POZ zk~_FGJQhNhgeD}=iy^Q`$zniGus7gzCX^&TK{ut0XU4mtMr?}Q8(=&jYija)3Hq)U z8hYf;N1{S2>#s0D6ylK3>_>#frcE(jw|jf>!>Epoc#Z^z>Qff6XhcMXw^6KSvPuQD ziQNwY&kI$I6}bd)p>}~6QBX)|oKFOrE<-&)5e0e>dr!@kR9-)~jDd9ec}tKV2fWKx z1sy7f#S3~{chgVbGOiL7L!qGXhLsu^&)3xc(l5$na40oap!F*#uhbeXYcL0BYUm_q zKvVv1styu}7z@RK0?{9eTFYouc76bdEhA!1P355kDgs_Z^`LIYSU7D6`)A{l`h_y; zZ@(GuyuW$wU)^AU_mlkHe`|{k{1To2Ki?t#-@Zb;fqUg6_ikU;hU#VlP{%X^BAtD$ zsuTGvnAM{$qezsllG!A7+ada0y8XiQbm_nRgUzDwIcl%&K)?fvP9XtDOZ0P1cJk(T zr7tDWFy*2gkYUc|JR^&VkKoHSDDMPYiFB$Ppy&nIUN*C8WFjhY65 zpT*@q;9*){Z;TxO|9vU3z``V+V44#X_@gXVRK8EynS|iPEWSO`Nsq`M8bt*@)Dejb z(>#pJ3y&FaMS0F_1TS*6Fld3APzeWei9Uer^mvPzRsRBAR6R-rKr2d(g9(zXCxoM? zNl#E8nM(d^M!$@&JHJr6c6Fh5?=U_1)Jl&$EA-%_7j%771RQqN;YEXnLq@OpG_AF& z8eyra8KJrWCgFY%+d;y&?_6vJKGV;B{xV(J0R5@-}BfP?AT7! z^#EIGi-WmmRkPiHhus3OPx_U5vA@TWb+Wcv7-5Eo)8YlHNN}Kn{{++hg!|3DK91Cb zfS)NgE|OeNaNd$B)86lSmq#~0uf^uwOu8lp&0>%lLQ^hJ{cvbWXjh*>tv-Eqg+MkB zs&xnDlZRo&pf#kFQ6Lh6{U{?4yBt`8;pE=j0hL;d@14O98OSjK|_}+NlKf znEBz1*EjJY)MU_}$RReN@VVS_1dZZIdLd^&(5`kp44MAAMqyAIl)Il-S2$3@lueMP ztX32;#2ca9(~0LP6;{p&H3h{&M7G&|;_~viwiD&Z*KhZ%YeQ?)lwl1`O9`)bWu=7A z-1H8?d+_Jf;>gmTtaXiu^}nT5-ECH#{Q=NXPQk1Iq${`-_Bs3d&-NK-99|ZV3_O*H z-tz;!DLtI+LEJ*tp1ya@Bme^)#+n}tj%Lu&C1TZZ;vPPI@RlxKsI~!(WH7f0<@!O+ zv*3*BTTHGU=?*SKS286B6)C)!tx4@?2t@ly+L_a$5EC;GRkdrQ)?k3~9Y-`{i^F@! z+@siT@p>ebCe2h``F(z`?$#Pl2MDeN5ZHTS1~hayXsH@@H3Co}CIG})Au55@KzrG6 zh%=G+n%4|CCcS763xU}QM&7)=NAZD%-~aZk?r_?Lvf=4XA9i+tH9YtKap$dVBY%_H z-}(Z{Z~ptl?_Q(zkN%kS&z>T=au3P9*Scjxd-DV;A4%%|XmV+Q(n1jcGU)LLwNR^# zwPrL%`SN8tfBZ?J&;Jyi{a1fL>+S72-B~jph->5~P5JOq{3;izyFz?tE5JXrJ#z7o zE2t6``Ag6k&om+hhKubdI)Mv?%l8zO6(|K1ie6s_n?lTNoJ}Q~M@n27L7WYc7%(C$ zg8A5H3-Wf{uMuun(rO^dsVGE4Ntgw`f-XN|TTvO{;9V3OfGlA$Lq}pwvCp1R85XYy z=NUUx)r{Im1Q<%5Z^}KEwrYl97@h}c<^v&*4Q5{K1Jru87CQYJ!Q~Wa({O0q`;2kXqt_bRRzUC9_EUh=!EBpi|59n zb>P1RSW%f^Gd4Qv!-8J^Bh^GuJ^45*6bgLbZ2cO0fk9XVQs&!dXHn~7hB=-1nod4@ zcAl;Bjk3Q@uEj+hNxQ!PfZrY7HJy0aY) zE?s8&sh_?~_kT?2dr!YjU;oDQbo-rix_c}9#W2*~kn0e&mQ9dR5GFt@BhFeU%y;j< z#d_`Ilgpb_^33wz_bI2#n)k1}WGMh4)3v0I{p$`sakOTD%a9j<(=E0smg%p;biYye z@Q`77g`qK4Ba;-fxr1Vi z@_G9`Z3W0+Glha!ap5yaU+3}9HvQ(7D*>{ioO%z+D725M`EQrbCs-ps&kJOa-AiC! zrZ~u?j>-chB?F+<+-QO30xS6RDZz!|Uq>ZMw*WMIUL@`jnVJ;>a?u6$K;aU6mCz&t z$R-UsyaWT@!EORl?~DkfhDwB1?mJFqTuj(}+S_UsgI<}fE5Ax?_VdI{x zLEGOCp?edNkgE`fZVisee*F%TGor;=0y;+3A*qR7OOkAdvpOAx#kXC7jZ?R9CeGGV2ObafkIK z98n1)%+|0!C{|(~UBQ{!v^OsI;c(05Ev+8`hquU8#H*2 zm}JPiQYw5Rj6G9q%z`|u+%uH6;Z!N4ZIC9BL0Bz42Jq^K4S*l-2EcY_zP&X77VpNB zPPv=_C7LI^QyLsc{77cRie_w9l%zrZr}|(!MOJxAU-89Z31aFjUs8l|=(H$E`U-t2 zh*F{PK-C2z3vF1YLiPzr0R$vsVOnUQe3U z!UlL}8^hnYexO(1V*2`b8-4rf3wr9A?W}O~%pg!zxe(pXR;UEIu?kPj2hV>WukiLh z5!k->6Q8_9f9q41=+!rFZH51f^z!qs)6MHw=<2o0*?6*T!y86H>23|Y)mmt=zR@n$ z$l4EvyWD@D>hFi#gSgi=f8H(|-iw^PmSWOT?u`dQkD6kkY*Robki}}|xnpb|<-d_r z@gcQFKo-}WMBNXzTBOBubFW%mv_kNN!GX0 zxfb}8V%(gj)Z0}J`~Bpq1h(Se?M-5kLoW87%pKnUdo>w2dL@HeY=`hs*!V=={Kqt_ zsqAa4`OxqnXdZf;9=X>#?z0Je* z+!Uiob=VHHH>R{JDF}*1m#~MWfKYl))ly_XZ^U|nGRNfCOScDP9A`o`EdtX0yu<*g z81tHHFGim+(smvjg`XI(Y5d%*iQbvVZ0DnP0)JNGAsRtGoA6&z~&e=CxGU>^7|LpT~) z{xjM{#&2+52ckkY5R22;coEFGA#fD`=Eh$w^02^0>^BfmDxwT^0&=e|MIt0w{A z`E*Vc!E?MqZB;W5Kn>fpkospX1jBiR5w^%xVIZJFzyTyrQQC|(7^pZtv;h1BGywL4 z&~5?PCBa9cdNoN_+}M1&s72rh97GAd^walY=d5?t81jmFn&!s>w1j6Ze3~V99Ho?i zVGG(XJS-<9?K89wfB)3f%ei%l450!H(0m_~1h zq&v6U7PWan_k3ibPk;K__V2gp!G~X_Cmw%oo4^y@b=P(Cgb(kwP{uj2bHk}3WQ;FXxGhE?_h;nNG7d3aZXcd$FKBWz75MXFtboxp zl71Lpo0h1rYyiL%r6dJ$kyw*fUtIxEwHo1+hb75ay3^8@(rl9o+06n1Xu3+R@I-=^ zyS4%rM4GZgcf#5Nlj204f@Q-CBwGhsYc*07Cg|nfg=rC>mLeM(i(>(Roi`f>cv@+M z7%0em@qOsjB#%Q~?ph(rKAeg&hbapb?X}Cj}s=5FvQp^b<+%yxY@);j^zf zOBTqSbo&8Oq~1)?-s})lbhKWi3+!Q>QS7jZ@Dz_jkfwF?=Fo!xL~yLdyz zKTu6ef&XvL27pUmMq^-n7SU-Y;{)K@hb*9OJ+Ou2&YPPA|6StGe39r^esBA?j}!gT zUsC&%Z_}P1C?DGz0cU&Ret}uXc~-EbAB=xipO`f&aj$7l7;=X8dj;&LYDleNJFanJFNP=OP2No$%s z_XR+S;JSMDE3V;4jdEKpo;S15#f(6P_u3|!eHpnIseU8Bxs+?#0!@nN5;w>blpD@J zkOT_@8*GAb+8|-rcno)>NnNV|zJGh9=~9A~W-4*z-WD9Vt_1{Mhl(D_uw<`2e( zFkx&TO04GlY2IM7$-_V`byWZ#MU!B9gHEs)?c{Q$yEjtsBhM&(;|Zc~KXFb!e05g} z9!B>We0eB|+C8W(h}y;k@I!Ma|7sNAdlTXPTNiZsve3_b<}xi;n7;enSLm_tyu399 z?$AAVUELaQhapQB%zvc<5nEh_%$$XRrYw1!!I~XVM^i&QXP1VIS=RB{UEbo9_UYIt zz?LBWkHi2rhdL!?TRm04rH?NA9|w)aNa?HF6%4{RF zve)OEVfV%_b`P$xuCnFON49orp;+pD*Zp|!@ov_L5?Jd3VCPf$XpT6z5CD4))w83J zzqbD5tXQ-sTSEf4*&=Q*qt?)$>ax?CToU)KJxhb8b-7i8ErtWZsiUT8m}-zzG8lf_|(8EuPP0_GlLFrqn1r0+>Gf z+QOcD-^TP=2+spL8lsww65qdf4nfoxe*ZL|%&qn{5|BQPNxX#OKtPi2p8F-zlu}_K zp}uQo6){^5$iWwv=6jNW@8Jcg$kF)lxJH-#@2`0gi-?5;5i(D{K*Q6AC_KG3W^Y=g z1;ArTNzxV(`+RFT;gyu?NArJyCg1|+swLN%{`Z`A0G3Q2;-v(OMI*qYZ~OgfjDP@? zI`FZ-rU#5%OZ_(L*`=5}0>VXjpc!tD?3Z3)9eXKiGt(o?hIv7$@ z-LY1CuIj9et!x0A6{3{Q>Z1}}xXQe7%FGGhQ<@aGbfQjxnwuv}=ux!x^fKHY$`A?Y z*05A{-8^E6tS)l@=!>g5kq17P{@ zxBvV^b}qR1ddk(mvw4?lrw66#eEc)u;RtD7A+TcH07iFZ)qf7P_aH zWGyF{D5^f$`pQQ>c0vEpJfVbpgr|Z&fH6!Z0+NblLd!KNpNj(( zIn@-EIjKkaqXZMeBZUH7zl-g_e0`JtzxCb*-g`>vnU|EFerBZ`8wn_E+Wk21s*tgew{{DHt|310-{D0=>uF&%@y-k1qXHU}e-+z;?YzyO!n^*F11L^|7 ziJ0HFEscQUjTFsX+aUoTn^$}uat|KB>GWc|?QvPMnCPqPWu zUbl`S!{Y#_1x7TAPnYVBWCW?}NqmMmiDmG&MFbs>VokkEsg*ffvwd?zkpcp;d(|us zYFX%PQ^|;9Q-Y$Lfu5Pk4|vZBC}Ls)s3QhXA=#ueAJ%3aiu7uyO=uKij37_gbmOy) zXI>{I03Ssfvfsdpe)tx0P7J3M&=VzZLyz+9JHXExKT(`X^*Uk`HY^w_A-UIpzWE`5 zA!?2aw?ra2Af>lVr>167ELZH%NR|SntZ4z9Dguz(rj3Lkj@IR>QmjT4_9(GuFQ>D9 zSYPma+}1?NbZG=IK#-!Q|J;90lG{6n<_|IsOb%{I@qQBVftD-p@MCx(k=Ck9+sUCrF?9D)9q%6aRz1PyBPA zp!EmOQ+w`pl1o=R#E+>>uxdEBSQ17#OK5^J-2%8P3YHr;Nnd<TZis`W>v1#tn3&xI?VYE!{90reoU z%ulnq=jZ!Y#`AKjB8l;gp4ak}g1HP5xfDoK64kL9V?HZ$&Js%v$S2gbcpUS+VqfRZ zIs@ZxtV2I+0Q@*K0B+wtABR`$M&Y7_HzQSAaX{*iR7NOOs<4j8CbjA95kO7T3=2-u)wic`6wJ#fIy!eN-gAk4Sy-0j(GHP0Sa@OvSs`_1cBWPw^&51tOcJu z`lnLXT_dA-f>HWs31KKO;hz%MnJ2O~2SaMvMpKtI%Kt;(S9*4v`ak~E1>L$W9sD;G z_V!vtpwnEI*m9lyFub4t&bP?EUG9JX$Is|zzi^e#^_>3f&!3@3zxBd)AlnN68&|sL zvXKHc-wD$K*OmYTl`yQ;{ON)KB0u;t3M*2gwQo#|0oR6`h1R^?sddI$Cl&%WiF{c=(Ns7-0B}<^4<4;~v>C&s#81eQ@nD*fTtphgYKD7U zO_HEsn`x%P;F86gMgFXSD#Tq+Jke}0M06TJdI&yqFD3#IWPi8xbxI=r01sm5ne0%l zV41WMF*Hd2l-!6ZrVyJhu83IUwJpGu7}I|ZHHpWsy2P0xI#2-C7)2#Enn)l|T0s*v zVb#5XD?Y(QS-oYaL&K0Q@uE3ZoTUOAA$vQcCOy7V>={eXtt$kYChgm&`l>nAx7Lll zhOsIv0(L9B_H8I=6sN9CCk}B5!dkYJ36IKKqtJIx`jiS{yacl6S|)$5$I#(^F7e)m zq2qHVzpZ0a9?4N1pCAZ8!$9UUm3ipYSQ-_?>VeW;`|NH zXOIIdDFt2>)(B)9ObTg%y-lF-8e)$%{#-tbh(paL1;GRk8!f@%|{ zX|O_}REws_Jjn4R0ayHZ6lj5^m4_uFRmrA|m=4v~PT$9YsS+x_R=I5@rKd!oX=zrX zBhd~2HPOTN6`%aC)|hjdqGGd+;9Rypd>f$e>dkRozyA=m7r#aF^Pi>VAAWiJ`%QuO z*i*!B-zL6teT(#4I<=Nv-m>B~!Ni+vz#-+nH!gPt-jyq)PdrZisZWr6?vqOs-xN%e|=)C$nU=|7bsy27|qnL16C3OKM%bISmb=Ce3~4S~XP zRnK?|KeC*L2>agv3eH#gChW*$0E zUV5e))p&|mB$?0HEv~i%o=Q71$ol&w!TA84vck=P7`ADp8ba+LWdaC(3iQ7^*5v zPN7ktu%I@dwqU)B6#i4c2M+LILzp7vuz<$6u$X7SCXIl@kjn}B^D9t;rkAMIEC#R> zEr|dQWkg0oNnB8>@E9z@p^*~#>mWgDGvgH&uX$3hlL}%=;EEy$65FQ3Q(bJ4c8XIx ziri@~(Mw(|?u+1Fpx?N$&`TTm?`w|{J@);T9(#P<==;l%=Qj3%Z6-`WREtnfFMVT@ z!$nJaW57xeIhuh0{Zy}UvBHtx{%tHWEhuIXuaf^r+MEGg4S&cn6h z^uVrv6h?#eAH-@e%|HgaA9ByO>1zjPEo?+=2_LK%{tg3-DIQD!oc7<$TPhZV6oofi z!vL-~2UJU9qwaF$g)KHtOT)uGa&a9DthTlm6W7Q@Cj)vCz-&aqC#_16*^U%vpAa{j z;3Y3%C_{Xbur}~ad((jPd0m(*;a+RbWwS<$OU+x{GtCqn6!(@+iWMiAYXA{PLFSy4 zjAcrw-;gltL=z?`-kT{^rOSm^Qzk5u@2M66K*Kh_MIN$Ru>fSDBt|9QKjWoe*S5Br zwambKfy0}}YYN(n`c2Y|hFlLyka3$b!ZK#)~80KNfMj$?&5l>~N@V*g$uFE!gZgBbT9NET*Oml_GAl zC0uJYSvWL0y!efuP5BxUTB%|AAb_|o#s%pOi6ux}ef@|-o@m5MQCAU2T;GuTb4DWy zWn^uv8=8y1m|bK4hJ#2bt;lHqE>IG2)zgT_6U{wzVJZy+e{J zWFU-nk3v>!t)ZA~=bpGuF_GBN)u8Zu3P{BKMe2xMm-xQ@8Ck7?===s~B(xF5Cjqov zQ%w`8CJL!BAnP}Xq`Ok^IzQ+dM+`xf%Z9nhMwjrGFivz&Y$dU)L!RHNUln(9riO!JoG;pXCl-_{q!mOQbMCh}BT0a8!w7Rw z5^LewP*pf^!lpB!N(-9`Rn8OftHg_A;&&+cAnH5Mqc{jd=xnQC!6|8tP`%Q!AxL;# zi)~~AMHVK-;7nvZA*6cQdM;-lLI8g1ON3PQ4;28Q9#5&gTbq(Cj*Mnp z)H1RUi&j2K!WZWROulkOqG!;HQBqaA{b^00>E~$4x2}WUDZ&taH40Q*r5X#OGZ?R8 z>2eW~67}bu$ObaUa%jemCm~$q7_^5I@%XGnj_(P$z66ujSwT^yNcdje%js4P1U3Q; z5@HYu@@WwinME8!%%poh>oxW3jPSq`n~HKUur=)O?b2lf|7~%9PrShNSKnN>rhw4( z8{5BMKu2F{^GQK^>ICV4jrBLzZG81CeQvn?~twz|Fc4C2^u<& z*ky|X+^-8+;oH5(stGM)Di)l@B;_JiBIkugix@14$rOUHB7?W3y1`>@Ja%jUycT;O z4J4~P+W?r#l+FQ!5^Du~b}=b4RRM$jrBypY{Lb*$5pkjrVO^R5W*UkYnhs23T1&=S zIF6w5>o%zAxv`_XlF`4(&1CZw*HckmP2hDlg~MJjxYwK;dS3U~xCXF1%rIwAN@cX6 z;PjIfzT7Pd5JM&m2`w&xM-O-FTq75w>(1}_ROMW1djBSirCPa&BPMVS>8 z%_KdcaGRyG2Dn=mZ-&8i9U@~LMn|YB0>zB)Wl_9aVHXJnD3OOatMs080QNjVAQTNY ztzIaT13Xb-zs48qxp71&m>O=C*w;TX2%|%;q}ayt85R7q<-Q|C(S7=Y!w63fU{6$0 z*vGu7lWL;TT)2pgc_;gOH$`IYNJ_t$dWoA`Bb*P>LORb7XP6yMFYrAvp+z!|0Fcxz zC*gay#@Jw4Tx5b1V|oUxcajMtBaUw!42FZmTG^jbxm2NIVu-m%3@`rhX39id1@ z@by<)OS_?XZhh-Euk_AkLCO*?(D<`DJmK9fHt^E+eEs4U8~F48klG`!()x#gO!U3i zX}SMC;ypI-{I=P;mS|!nB+kxomIy&u+}JaFzNr9~KlpuGe*d>2e+HCL;4F;=bOkQvS-VDnYhjjUT~YX4L`9i|Ydpt* z&z=r;@HwPfB~m7uCb$pby`|v$=aOCl=_YPfn+ALZAPLddc)t)dM;MqTF%*q+j$|T- zPKjdsTKr)H;3p*oU~2&EGAS6;;saS4NR#=#$agfws2JO$jM5yXQ&3XX;}CV$l<*>L zTB$-T6nrsdfK@zBl0_xH@X6zb2T|4IZYHV^c#5Svh5{-qrQ~3jx%m-rFAL7HwnpKM-X*P6eXhRgl1B>fs3H6jy1jr;of0LqXenkD1oKfN z@{{v5sh;#+j>(ivUbrU2*LA%0f}2o#3m;KY{G%wFv7 zDx8R1lbEb%17dkoBO&9)(Bk|zWXRH$4E>zb4ww4x5W|=xfipyaxSw{X1{3jAqG);cT1X;0tgmT+`zR6_ z$llLLq;L>piwMtll*R1p_lRB8vc`@+mL*=eYQhSYK7CfVfk1|Nu~kSp-1_7LAmPwvkuojx#JcPpRSuSAn!Au%v*E7lp6<;h_74N8_afZ zF$_8M7>?J$es&KHRS$H5LuHlc3}H<4paAO$6eJRA7AvA@4ZvUk1fy>C=8VR@FTOFs z*HQ2TYBB;@JRgJlAkrSfso21wq^44883Sr*8_xY0YL+%4F`G97+5nx#ePGt1MS|@@ zu9|b$=|Nzk@7$e?1ME!^PXsUy)Hrah38~|joB_$am0f+%_W^GJ0-whgukFUzhF%w2 zY~XvZZ1msziT<^JM11cTsQt?=Ht?T+ljO}U6=;tQ+&O0Jo#-Mc*e-kHK{B0*EIzNl zhOL3nUU;de{+w;GfO_x72G}CEhf*yk@(#dEW)hcV07ckc0c=;LtTSB1tZ4;QR}PI? z{2!mYE1V9`nNkw5xT5e$X@&zR@MX}bHrEvxZ>S|9z`Og^ewzt9CF=f&pTYy7d11Ij;-aY%USPB#LnJsh(x})w zGCFWNOGAQMZR$hw8tQzsXS9eIG!=l>NJk%R?O(TS^8YJW&pw0z{#Y{rbk8ThFhJAk z@0kP93&@WU*aBcLMyk03ZO~tjH&LCuaLKxyyzoH!XR7(~q*^E9QABWh(E0R~zkClJ zM}(B(y<`G%kwalNv*H0CWj{xiY@JS(2k?l%3bJS_CLIN z{$F}SHt&Dy)A_?fL3z&1^^}n{WBByR$M#=$Zfp1X-}ljle&LrlnBQTguYTou`sUZ3 zqdV_!7K7_oHroDKmsy7&)QTexqHucrTGP@=AM*4zbz27^d{m|l-eol5 zwgZ2s;U`XWEYkb*UtzP=Iof85`LXW5P|9($K}0pa$DvG`MWs(YG3thaew(uTB|GL+ zp*Kx6Cd(}(*UdOf*`@a;gephYv~S{Zh|pAJ5MesV-0(zir8hMcWNt2yNigeK%AgUg5C`C=8e&|p?JQ_(J6b0z45$7gY z1YFRT%hU=o>N#_U{dLNbhc&6t9;U?5Fmz7CD4-XB%i=v+8=xtZr-(8{;3P`k1=cPO z!g&SNI!q3E3eMjcs-bayld`{2$iN4?L7=&c$^%e}6mTjANi%|hALLniV&pb6O{3Q^8&fdr? z;Z1-Alw%alLn4g7bS{JY%PgeJ6;%w4Jn?B{OL!l^&=3?EAV!@mDkT}AC>jMLjlHRw+2^qr zAn19TB8Fv)aHvCJALx6dKa;H$h62V;2Up;Pm9c_l8Tb--{^4wzHDE98X%AcMFJIo0 z0N&fC^N)Rv=&k38fAvcnyzfi2zW?6F2Y8m`ovjgZ<=Xfq>zczJp~8-evyZDA_Rs9* zO==r#aKBi~ul~Yz*uDUTC!J0@%E0&%l}(c`o2SGa4v#z+)TVq@3KbsuHWQ z+e6*#gP|!qjVTi`3g>{Ug+Pz)+*H~Dt|62Qz(iB3=@7ZTa*5TBF(g;0X(*8iLBXcB znjn$Yddu~8JpmuY4$B9T0dSxX*nhN)Tj5BFjlPhI;OKtNFNNqlpI%P1dFGluU12!Y zdxt1YhQhl(9GDMWrDjw*UQJ_bJT0yyG;*&d}tp!J|6EI{6CDg)qL;{ug$Rsg$NVBGf&pjaHq28xGykLmM5Nb633&`RsX zrDBECj+H2=!3U8b{!;}@IgMQyNcECR7Hj$*d^pe}=JLSV!Uta)Zr=2Aj)g0j6eibx zU-{?RJ>U`jsC2ZQJ1`ietiJyjI2UIVV%040OEXF}nxMY8u&Ga)B`h$e;W4I9q(UUB zYT)UtX6K4?R0M19*Lg|nmMvVOQi?!_f4VHlEqW|VJ}Xr3(FCS)c#*}v-jh#)Ll7gw z2EOkBm+f(n*dU61cPSZ2iom_r0>l|#Vd|{X43;cv#{#VxWkeXM24i4_0<#fV;>Js2 zZ3Tl&r?5u_zDtP#*Pt(O8e~sF2{R;8V zeu~=bZyU&Oik+LPDwfkJM@n=IW5YEB;K+&zRc@EH=LyreLO)jGvh(L)9Z>}PW>2U zQn_$&iB^fliFs-Qpj`Sin8rWvJLkF;=R$AaV*1mEh@N_W?d1Qn%V$Hzcwyc)JaAwF z@%FRcdvEQk!B7758Qu4hg}(Rn>-6B)pQZQTeV^{R>-yFVI2%*jHLqpQmZt&wlEtR( zt51j5guKOJU2Q_B1D0oTb^Bqi=f&@b4waZ5)!3ymmmi+f)%?Q;Q(JFHbHMODCE~`XPtBWfExG|dNi302 zur>*SzZ1A5UXZ%?eGIIY0m^des!tLc+w{IcLD-T3Zm)H1RHd|D@Gyts$pL$d0li$} znwxk%G;xr`C07}RXv}7fSbN=mNb)p>p4h_U06z}N?U)>F&7_5~Z>UquRyGW@xu?%2 zmeEMk@K%oJwZ%bzoeSr%!zc#SnpXfL_35So_PXVa_rm@n@{IQ;SJ*W6uUpr#FZEP| zAzjx(M9m_TB2A+zAei$txQ#_!x()<)mv{STETH~i7O)ynAubC{j1q8*GIEABx)~Hu zG8mL(zU&~vAX>B$P20P8Bv&IKlH(P`- zs2Nah>To(+vz&#pzaCFX$O98tHYgKM7OAnFt(|X5tV1*@q=3xVkt^+mX7kTNWB=Hj zK)wIjKg=~`_Pt>OK3m~DNROWh@=k%MPa#l&4C{bK@t)6ghaj%zZ#Lkg7uE

;OaZ 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%0Acgw3GCIH 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�ouoDPSahLI33mMxNrVgBAL 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 W?NxV5idId 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 afBy$5=4`_KV0!BS0000K literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-60x60@3x.png new file mode 100644 index 0000000000000000000000000000000000000000..8fc32bcdd18fed4b9cd626627f7c6fd1a1efb31f GIT binary patch literal 25443 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

g9|Tl`eol6G1=f(pape`{;o=dlIW1g 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 e%gxJLm;VnK5>U}On^l?s0000+GC;hCQs` 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png b/apps/desktop/src-tauri/icons/ios/AppIcon-76x76@2x.png new file mode 100644 index 0000000000000000000000000000000000000000..d6b0816b367895561fc0fd712d4d6fe5eb45a5ed GIT binary patch literal 19151 zcmV(=K-s^EP)1^@s67{VYS002ssNkl2CD-+O0fGj;(G1PBrYNdN>Oh-Nk^iVBoiN|b5Y<#N${kX3S7{vpuS)>C^mXa${~3T?3j2OIUx@hsC%^*w*Twu=E|z>r z6UjN@TlTnLEU@h>z;bU=ez#mMVKi#J@nT-<-^pK%DZ}hz&A-VQyvXh~Kij*s58BmX z@Sb(m$6W*mK;Bbh;Wa6G`P}`RqpN`hqe-QIJ)h0BRYis1gY9B~Y~KJDzd5m1_KMLT zbUK}r#Z1TNhyfO!zu@?l&TXGJz9_N4{=7!>k+N6P9$r)9(S|GhpIq!%LBZYcFVObg zMb^Z?V!to%Z@M#YP{4+{U}~u6aL3=_^-%tlP05gX@7ZI)I;m2zxgptrifYzO)y$%425k8+UU_2hdbbF?e)&7k#M-F?= zK;MZ@x9n z1(**m_w#b0vqDaT6`H3Tn${K0MrSmSy@3^GlC3PJ@pZ@>aTX7h;hkAJn z2@-3zTuK6fec9Q{)wIwhbEUuZsCawxP|xookLi*#mEN)cG-BciSG_2SRN$*veVt4uebiPmI_RcZP4XKSbyYupsk% zl)aj1HyFYdvq9`G<@H?#xQl?{Vz)uN9Itd~*48I0xk@!OYm_pCHIFIQoBL5`&bYgt zG-ceO|1a!0HMBchK?ARP|Kof44Xxmsa5e8a=xtNKR~>MfV{jDRzolvbUSoOB7R(`; ztrscu(==?4ZcoNoZVFLHx`iF=OrK~$g-SmqF-rJqUIvK+BXL^Y)nLIYkmtI0lTpUc z)!%_C7on-Mr`0~r1^kZhwx=N9VXt1+dFT*jJ`HtT6_ky*+7Ez!m0;wWarfyNYN_ zK+i)KvsK}xGdewPQVl9msA2A#`lk*$(1{(-M;)&bI|=Ma+bMtWkg`>J%BB#x%c8qL z+g;qp44f#fe$en_Ab#cWbENNtf?yKcQh+;G(L-j_x$Zp=VOyxa2^1+!zRlQlf#EQfgta@VDGg!&*n=K|n47Okk6*&t+tB7#!9ufBd-|)vr|%}xMTL60HL1QJ6Ery6!7e49X%U z{>nX3xxEp++1#7(K@|ZES1dj4ibJ!9Ug;3BLf@zW4I__5Ptx7j!omG;ii+7Cepnle zjDO;Dwl<)Bq`I=l#>Wl_Rw;2}1LCm`Di{q6ka1;5loEO>{G7fj6}w1O$eJn0+PaDf zI2c&D9G!yV9LDdOhDEi(aYN|r=L*weFJ+2+PDra(C&Lfk9(M}s4oUHrdS8Qzp?{AB z!`xLuK`erCvJfRGG$dw=9R$VE6Grh-+?0%5Rs8C?EWkdF{P#dn@sKDD;0s0JG-((< z?J(*YF-He9?QDChfypZ(=FP7QdN5N^rLgH;${M>|3?}gkmYo-t7#Oj=!RA81K^DN3 zPQu8IFm%x&%ZKu19qgj>mOzrB4Fwl8luuy7QFAUeJ@S1K)~L5stnr3eER9ff{Bz)P zR}V%OiXc0YLtaIrFO;Ut8>5WNp`kVM*kL@`|l(Ge`lX`d-c|uNr-HZ#RQX!Fs9wyAzzVhb~ zBWFVS`{00h6}|UKC94w!=0t5rgs^K+GIZbGLBt~HQ)AE<9;)7vzfxTk;$#QYLO#U@ znlh&d%b^wx4F0LFx=ne+XP6JA59<1GO))Y63KlqSn5*HGgB?oU)SxM=f>-RMRJ$uP zb0^BZ*IkZ5so|r+)IAtf?5R+Z3Rn)>hoy)#pgofisAFq@PFC4l;W#x23py5mn9oAUp?nEMHAT zD-MQG#PNA#-~w7wJHEj7DSNJh2mHxcOaZ= zp!hRl>eav&5P5X#-~IdV!)N}Kg+oTlJ}su@0_^&IE~fD&sru*@=moq8-7!tRshyYD^ z5cLax`7C_rj#F^=BNKS^34rwtqw$qL%Z1>vG>J#vXQA91@}3AYr4x)Yo)u7&5H`_& z9w_!BaX(`)-yI{S6^AS){7^pk{yR8Km?=24H5{*YhF%Qir`b767n~f-UzS9PF`P^k zT(~fW|M**X!qFpZJoOCl2cILDPZ6rBoI_wSAoD=s-e>Z5s9@54_tte~Qg?idnYMj) zt`E}_J}4>L#o%q?skEe7OF^R!b3_z3U$GdY(SYEc^2G}8SJ+?V@R%3D)#F_l!g;D# z%;k6g=t+3|=_yodF5Q24?j*ohzl*HjV67OYqAUa@kYw1meq}wP9VG!jMxBR}8|jG4 zFuue)?+a<6llD1_#F#gfnM1~b#CIA(%cBmI6Ge0z%ESk8r52+@)y6(a0hZi=1Hs0D zF+B0)IrzQ*{@p9sd;H?p30^*hY~jdOF8sKz!;MkLI9zP$5xt}c1O8eN z5ToC2EAx*6LQ&i*!ctw93XO2uPZvqO<7U*=Gltz~j5Hv2%W`vVD16 zO@aU+?Y6)!#UFR0O<|-MbMFZIF}2Ej?a__MCX7L#Oku!C@fGV=(nG5wzg{rke0^gK zU-`yM@Ymls1;>xF^&-_gg;=+P2MF%CAK;z`IpAMscUs47O)Lk>*b^8fTvRHAj?@># z=3Q(qqi&eMm{*ZWask}mI#^nm#$goUE^;~SzNSVALm^5ma_?t=X%_&EMn=@-KmX1X zu*Mmr)BaSd3Nm#0=bwHVdFq)1ewE|?=gI<^tj(t@=Sm!%ttA`~?01pa!a^$b7SwZFlJ0qS*B>^I?Dp) zzMMW|Wq1;_wY5)mFruXH*)`Trxq5cjC^P2i%tPI7agd3kv}YwjlHX4TtIL#B`OM$S;;$M%2~75=f&fTjZKFs968){29QP zUI2XVDZo=N0&QQAfmxti-U}CTl?-;wRQ1mp?Mfd42Wn$cnXHkUI+BXLSg-GV|1^C5 z%dfy?$0mHSE{t2`2W)OF;5|RG1|NCv2)_P3f$iUYMHr8i>7$~JyZ8Z1 zHHClkYd6BXZyLjQ@0zpdu^eBMRagAKF+ct2ZN`*z^U<7+UR&GcsyOLX@90{+n_ z-V7hO^#q@Q8T|53EBNdexjeDf5{VCRkbm+d!neK$@RL8z=VS{s(872O^9_3McjRBB z6eSCoQBFiGuw}ig2|apsbLH6=~=uXV?QKxD^+A$0=-aTn8ReX51JVh>!3Q1I%jbNIc_z6OU6RyufBYNYi^ zWs3RuRb%+Kzxp<)`GD@s2tM{>0C#c??3w3`d#w22^J#*^T;c!Lw*hXu1vx?BdD6MJ z4hJYx{KO;>M~VP7WV9lgL#0e=?VhVP^_7w7b7^bEmI@!eA4uHbg>#zyR#P~cBy19W zwKW|qaijfRnO#~i%ruU>G{900cvilMdWQQ}k-F@(YS;|7NaiU0#^3qO%W&$oB?tB+ zc7IC~dE=wr5 z@1bq@++UuBqlZyjw2H5AfyLHV4L9C$06z5#SHaHKQpag>(6_b;ZoLWML+?ho^B%T< z8+_nvb3%@Ch5s?m;Gez?;Vsuoz~5?nbgRcwWU(-9XXOZaez5M&3wiOCSe?<>JUzQT z_2i>$t+=%CEOU-7oaMXJmI_|$0SWlH&jza z8pIWaM+=9z(XEPwbc-w13QtYAk{YFZjsNmTuj+q^b<#_`L>Hd8EWzJ@}^i_fr6maU8tlzsc?b4$1U!m*@QcmjSN%mvXiD%rlV(tboSjO-#pok-%SW z6$8&^by5gr7mqtrE-gF*_{e?w2CuxRYgy*5OY=}yA$B;H_=-O)$vJ0W;fTMFg&4dz0r1WbDz<*ciWQS#Z;~E!#T1G+n#99;hB~ERM68wE_YBvqo_Y+_ z19!7IeH7^IYuZ|Azc1FxokK|vl(&XQ5HVh8FllQgF3^GtVKjDSPKi5;K^?iTzjK} zwL_>AgdyYx>gpq68v?Y(j%<~ktrf?P_#6l758lgekge5=Tw<8*7-b$=2FunBYcCU( zm|dPz$5MPB4J5v;)dpY_^LwfcsPz3^pf7H}B0$^+fOYM~Y(j;MfJv;n&`0}_g>ofJz<&0^0)G9|C*aL*SmVH6 zhCJGVmtdZlPu3b|jz95Hf-iiA&kJA8Yce3hf7__|`OYrkY37Z+^OF;(=d^kexilkX z-w2JzCcb0tkb3el!25r|C5DHA&YThn!p2nVqevDE+WiSY7REYFjD^B=zMuRoK%3~y zMO!OU9;;PnlF;5n54eJTaFMxyiz1dxZcrprT`9U!@-uBLkIrB?(%!~wI9LitgKHh( z>F4I~$A8X&{ZVBLt){p--KpWGTQ=a+KYxPd+LwAvjS33d0!S%rzx4)yo8L+BJXi8J zHmnun*1#GE!RPLr!TBFWIC$L%mOE7L{ti%B*Kb~|mH1#T3ab~N2YiSv)dLJHDTq$D z?2w9$#p>Gr+q$-qu}m;waE)29a*aC`YsU4Fc-E0kooyw*F_X%G&HT;Yq||Xx+^M>F zts)w*Qn@oe^LX}H)B+^0ff>o^5+*~YxprGz*_Vd(ANs7kXiE%oGEtp)Ell z-B*_lluVuIldWDmt*w=~L3oi^F_y|$Ez%jGj;VA! zg<RRT6ft1CYdY(&(w`^(mAyCfUuolvur1+#_g+ zMEr0nUIg}0*1}79;SWE5jvbQlVDsKNEMH@Av6awPjGuU&Eywbkr-5$XkU))*PKDm0t)9!to2+R!h|fL)N@A-A z?*V+}1%B+zRAc1v%Y|`&V!6a3=>T1TwWGgl7bq5N>5N4JPufF!NgLE z>yw)URb$0$EGCuw4XH%K#bi_DDCm*44Ydk0z8n)J$pW?8QJ z^WUc2e&Ved+zi$?j(bL@xv%$iPBnk&8ZN3WB7oKAGjq@`ClEKc8BlDk?zuw;?Qr1? z1FAM4!CEsIq&$FQ8%wd3!VUg;oxwMr>uiuDSa)%gXQj|uARIXWiIub<8XJJ&*jlKO zZ4Wi^7@6LrI|iyYwXzNmH`*6eVM#A69aRe&ON|6J20c&m25m7&8YpYo0K54+@^s>9 zUSZ4fxvyN%6?@65!TLdt!Pv@7nD#Sai&ovu+1>k(!SV`jVD2o;@sX3qMKo=QUOfd$N(}ej3G~9# zy6;397-U^wZQR}Z!dR;HsRo#UO4q1t*+9oo+S-tHaRMR>D7i_NIQ9TG@`8686O$)f zL{5cUT5I}7+C59AysWyL#iRYgSGTAQMH*A+5d$zQfS1?:-1YeboaS@K*X-Y5P) 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 FV1oX=5fuOc literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 1d481b3..9013328 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -66,8 +66,9 @@ struct DirectTask { const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; -const DIRECT_PROVIDER_MAX_TOOL_TURNS: u64 = 12; -const DIRECT_PROVIDER_CONVERGE_TURN: u64 = 10; +const DIRECT_PROVIDER_MAX_TOOL_TURNS_ENV: &str = "CLAUDE_PRISM_DIRECT_PROVIDER_MAX_TOOL_TURNS"; +const DIRECT_PROVIDER_CONVERGE_TURN_ENV: &str = "CLAUDE_PRISM_DIRECT_PROVIDER_CONVERGE_TURN"; +const DIRECT_PROVIDER_PROJECT_CONTEXT_HEADER: &str = "[ClaudePrism project context]"; const DIRECT_PROVIDER_TOOL_NAMES: &[&str] = &[ "Read", "Write", @@ -244,14 +245,16 @@ fn known_proxy_mismatch_error(provider: &str, base_url: Option<&str>) -> Option< fn stored_claude_credential() -> Option { let config = read_claude_prism_auth_config().ok()?; - let provider = normalize_provider(config.provider.as_deref()).ok()?; - if provider != PROVIDER_CLAUDE_CODE { - return None; - } + stored_claude_credential_from_config(&config) +} +fn stored_claude_credential_from_config( + config: &ClaudePrismAuthConfig, +) -> Option { let api_key = config .anthropic_api_key - .and_then(|value| normalize_api_key(&value).ok())?; + .as_deref() + .and_then(|value| normalize_api_key(value).ok())?; let base_url = normalize_base_url(config.anthropic_base_url.as_deref()).ok()?; if base_url.is_none() && !api_key.starts_with("sk-ant-") { @@ -268,9 +271,9 @@ fn stored_openai_compatible_credential() -> Option, -) -> Option { - let config = read_claude_prism_auth_config().ok()?; - stored_openai_compatible_credential_from_config(&config, credential_id) +) -> Result, String> { + let config = read_claude_prism_auth_config()?; + openai_compatible_credential_by_id_from_config(&config, credential_id) } fn normalized_openai_compatible_credentials( @@ -370,6 +373,25 @@ fn stored_openai_compatible_credential_from_config( credentials.into_iter().next() } +fn openai_compatible_credential_by_id_from_config( + config: &ClaudePrismAuthConfig, + credential_id: Option<&str>, +) -> Result, String> { + let credential_id = credential_id + .map(strip_nul) + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()); + let Some(credential_id) = credential_id else { + return Ok(None); + }; + + normalized_openai_compatible_credentials(config) + .into_iter() + .find(|credential| credential.id == credential_id) + .map(Some) + .ok_or_else(|| "Configured provider credential not found".to_string()) +} + fn claude_credential_label() -> Option<&'static str> { if std::env::var("ANTHROPIC_API_KEY") .map(|value| !value.trim().is_empty()) @@ -2204,10 +2226,11 @@ fn direct_provider_system_prompt() -> String { "For multi-step writing or editing tasks, use TodoWrite to keep a short plan with at most one in_progress item.", "Use AskUserQuestion when you need the user to choose between concrete options before continuing.", "Use EnterPlanMode for complex implementation planning, and ExitPlanMode when you need user approval before implementing a plan.", - "Use Skill to load installed project/global SKILL.md guidance before applying a domain-specific skill.", + "Skill workflow: for domain-specific work (data analysis, paper writing, LaTeX packages, biology, chemistry, plotting, notebooks, or any task that names a skill), call Skill first. If a listed skill matches the user's request, invoking Skill before answering is a blocking requirement. If you do not know the exact skill name, call Skill with no arguments to list installed skills, then call Skill with the matching /folder or name. Never mention that you are using a skill unless you actually called Skill. Follow the loaded SKILL.md before using its conventions; do not invent skill behavior that was not loaded.", "Use Agent for focused sub-agent style investigation; direct-provider mode runs it through the same selected provider model.", "Use NotebookEdit for Jupyter notebooks rather than raw JSON string edits.", "Use EnterWorktree/ExitWorktree when you need an isolated git worktree; subsequent tools run from the active worktree.", + "Python workflow: PowerShell/Bash commands launched by ClaudePrism run from the project directory and inherit the project .venv when it exists. Use `python` for scripts and `uv pip install ` for packages.", "If you prefer Claude/Codex-style task tools, TaskCreate, TaskGet, TaskUpdate, TaskList, TaskOutput, and TaskStop are available as a lightweight session task list.", "ToolSearch can be used to inspect the currently available local tool names; it does not install external tools.", "Do not claim a file was changed unless a tool result confirms it.", @@ -2230,6 +2253,123 @@ fn direct_provider_no_tools_system_prompt() -> String { .join("\n") } +fn direct_provider_system_prompt_for_project(project_root: &Path) -> String { + format!( + "{}\n\n{}", + direct_provider_system_prompt(), + direct_provider_project_context(project_root) + ) +} + +fn direct_provider_project_context(project_root: &Path) -> String { + let mut lines = vec![ + DIRECT_PROVIDER_PROJECT_CONTEXT_HEADER.to_string(), + format!("Project root: {}", project_root.display()), + ]; + + if project_root.join(".venv").is_dir() { + lines.push("Python: project .venv is present. ClaudePrism PowerShell/Bash tool calls receive VIRTUAL_ENV and put .venv first on PATH, so `python` resolves to this environment. Use `uv pip install ` to add packages.".to_string()); + } else { + lines.push("Python: no project .venv is present yet. If Python work is needed, ask the user to set up the Python Environment or use available system Python carefully.".to_string()); + } + + let skills = available_direct_skills(project_root); + if skills.is_empty() { + lines.push( + "Installed skills: none found in project .claude/skills or global ~/.claude/skills." + .to_string(), + ); + } else { + lines.push("Installed skills available through the Skill tool. For domain-specific tasks, load the matching skill before applying its workflow:".to_string()); + for (folder, name, skill_md) in skills.iter().take(80) { + let description = std::fs::read_to_string(skill_md) + .ok() + .and_then(|content| skill_description_from_content(&content)) + .map(|description| format!(" - {}", description)) + .unwrap_or_default(); + lines.push(format!("- /{}: {}{}", folder, name, description)); + } + if skills.len() > 80 { + lines.push(format!( + "- ... {} more skills omitted; call Skill with no arguments to list all.", + skills.len() - 80 + )); + } + } + + lines.join("\n") +} + +fn direct_provider_prompt_for_mode( + mode: DirectToolRequestMode, + existing_system_prompt: Option<&str>, +) -> String { + let base = if mode == DirectToolRequestMode::None { + direct_provider_no_tools_system_prompt() + } else { + direct_provider_system_prompt() + }; + + if mode == DirectToolRequestMode::Functions { + if let Some(context) = + existing_system_prompt.and_then(direct_provider_existing_project_context) + { + return format!("{}\n\n{}", base, context); + } + } + + base +} + +fn direct_provider_existing_project_context(prompt: &str) -> Option<&str> { + prompt + .find(DIRECT_PROVIDER_PROJECT_CONTEXT_HEADER) + .map(|index| &prompt[index..]) +} + +fn parse_optional_direct_turn_limit(value: &str) -> Option { + let value = value.trim(); + if value.is_empty() + || value.eq_ignore_ascii_case("0") + || value.eq_ignore_ascii_case("none") + || value.eq_ignore_ascii_case("false") + || value.eq_ignore_ascii_case("off") + { + return None; + } + + value.parse::().ok().filter(|turns| *turns > 0) +} + +fn parse_optional_direct_turn_limit_env(name: &str) -> Option { + std::env::var(name) + .ok() + .and_then(|value| parse_optional_direct_turn_limit(&value)) +} + +fn direct_provider_max_tool_turns() -> Option { + parse_optional_direct_turn_limit_env(DIRECT_PROVIDER_MAX_TOOL_TURNS_ENV) +} + +fn direct_provider_converge_turn_for( + max_tool_turns: Option, + explicit_converge_turn: Option, +) -> Option { + if explicit_converge_turn.is_some() { + return explicit_converge_turn; + } + max_tool_turns + .and_then(|turns| turns.checked_sub(2)) + .filter(|turns| *turns > 0) +} + +fn direct_provider_converge_turn(max_tool_turns: Option) -> Option { + direct_provider_converge_turn_for( + max_tool_turns, + parse_optional_direct_turn_limit_env(DIRECT_PROVIDER_CONVERGE_TURN_ENV), + ) +} + fn direct_provider_tools() -> serde_json::Value { json!([ { @@ -2594,13 +2734,14 @@ fn direct_provider_tools() -> serde_json::Value { "type": "function", "function": { "name": "Skill", - "description": "Load installed project/global SKILL.md guidance by skill name or folder. If no skill is provided, lists available skills.", + "description": "Load installed project/global SKILL.md guidance by skill name or folder. If no skill is provided, list available skills. When a listed skill matches the user's task, calling Skill before answering is required; do not guess unlisted skills.", "parameters": { "type": "object", "properties": { "skill": { "type": "string", "description": "Skill folder/name to load." }, "name": { "type": "string", "description": "Alias for skill." }, - "command": { "type": "string", "description": "Slash command or skill name, for example /biopython." } + "command": { "type": "string", "description": "Slash command or skill name, for example /biopython." }, + "args": { "type": "string", "description": "Optional arguments mentioned by the user; currently provided as context only." } } } } @@ -5136,6 +5277,31 @@ fn skill_display_name_from_content(content: &str) -> Option { None } +fn skill_description_from_content(content: &str) -> Option { + for line in content.lines().take(60) { + let trimmed = line.trim(); + if let Some(rest) = trimmed.strip_prefix("description:") { + let description = rest + .trim() + .trim_matches('"') + .trim_matches('\'') + .split_whitespace() + .collect::>() + .join(" "); + if description.is_empty() { + return None; + } + let truncated: String = description.chars().take(180).collect(); + return Some(if description.chars().count() > 180 { + format!("{}...", truncated) + } else { + truncated + }); + } + } + None +} + fn available_direct_skills(project_root: &Path) -> Vec<(String, String, PathBuf)> { let mut seen = HashSet::new(); let mut skills = Vec::new(); @@ -5285,7 +5451,7 @@ async fn execute_direct_agent( "role": "system", "content": format!( "{}\n\nYou are running as a focused sub-agent of type '{}'. Work independently, use tools when needed, do not ask the user questions, and return a concise final report with evidence.", - direct_provider_system_prompt(), + direct_provider_system_prompt_for_project(current_project_root), agent_type ), }), @@ -5954,11 +6120,8 @@ fn direct_messages_for_tool_capability( let role = message.get("role").and_then(|v| v.as_str()); if role == Some("system") { if let Some(object) = message.as_object_mut() { - let prompt = if mode == DirectToolRequestMode::Functions { - direct_provider_system_prompt() - } else { - direct_provider_no_tools_system_prompt() - }; + let existing = object.get("content").and_then(|value| value.as_str()); + let prompt = direct_provider_prompt_for_mode(mode, existing); object.insert("content".to_string(), json!(prompt)); } break; @@ -5973,11 +6136,7 @@ fn direct_messages_for_tool_capability( 0, json!({ "role": "system", - "content": if mode == DirectToolRequestMode::Functions { - direct_provider_system_prompt() - } else { - direct_provider_no_tools_system_prompt() - }, + "content": direct_provider_prompt_for_mode(mode, None), }), ); } @@ -6483,6 +6642,8 @@ async fn execute_openai_compatible_provider( "type": "system", "subtype": "init", "session_id": session_id, + "provider": PROVIDER_OPENAI_COMPATIBLE, + "provider_credential_id": credential.id.clone(), "model": credential.model.clone(), "cwd": initial_root.to_string_lossy(), "tools": DIRECT_PROVIDER_TOOL_NAMES, @@ -6499,7 +6660,7 @@ async fn execute_openai_compatible_provider( let mut request_messages = vec![json!({ "role": "system", - "content": direct_provider_system_prompt(), + "content": direct_provider_system_prompt_for_project(&initial_root), })]; request_messages.extend(messages.clone()); request_messages.push(json!({ "role": "user", "content": prompt.clone() })); @@ -6521,18 +6682,20 @@ async fn execute_openai_compatible_provider( let mut final_usage = json!({ "input_tokens": 0, "output_tokens": 0 }); let mut turns = 0_u64; let mut convergence_nudged = false; + let max_tool_turns = direct_provider_max_tool_turns(); + let converge_turn = direct_provider_converge_turn(max_tool_turns); let client = reqwest::Client::new(); loop { turns += 1; - if turns == DIRECT_PROVIDER_CONVERGE_TURN && !convergence_nudged { + if converge_turn == Some(turns) && !convergence_nudged { request_messages.push(json!({ "role": "user", "content": "You have already used many tools. Prefer stopping tool use now: synthesize the findings, explain any uncertainty, and provide the final answer unless one more tool call is absolutely necessary.", })); convergence_nudged = true; } - if turns > DIRECT_PROVIDER_MAX_TOOL_TURNS { + if max_tool_turns.is_some_and(|max_turns| turns > max_turns) { let mut final_request_messages = request_messages.clone(); final_request_messages.push(json!({ "role": "user", @@ -6912,7 +7075,7 @@ pub async fn execute_claude_code( provider_model_override: Option, ) -> Result<(), String> { if let Some(mut credential) = - stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref())? { if let Some(model) = normalize_model(provider_model_override.as_deref())? { credential.model = model; @@ -6953,7 +7116,7 @@ pub async fn continue_claude_code( provider_model_override: Option, ) -> Result<(), String> { if let Some(mut credential) = - stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref())? { if let Some(model) = normalize_model(provider_model_override.as_deref())? { credential.model = model; @@ -6995,7 +7158,7 @@ pub async fn resume_claude_code( provider_model_override: Option, ) -> Result<(), String> { if let Some(mut credential) = - stored_openai_compatible_credential_by_id(provider_credential_id.as_deref()) + stored_openai_compatible_credential_by_id(provider_credential_id.as_deref())? { if let Some(model) = normalize_model(provider_model_override.as_deref())? { credential.model = model; @@ -7155,6 +7318,108 @@ fn get_sessions_dir(project_path: &str) -> Result { Ok(home.join(".claude").join("projects").join(&encoded)) } +fn unique_session_migration_target(target: &Path) -> PathBuf { + if !target.exists() { + return target.to_path_buf(); + } + + let parent = target.parent().unwrap_or_else(|| Path::new("")); + let stem = target + .file_stem() + .and_then(|value| value.to_str()) + .unwrap_or("session"); + let extension = target.extension().and_then(|value| value.to_str()); + + for index in 1..1000 { + let file_name = match extension { + Some(ext) => format!("{}-migrated-{}.{}", stem, index, ext), + None => format!("{}-migrated-{}", stem, index), + }; + let candidate = parent.join(file_name); + if !candidate.exists() { + return candidate; + } + } + + parent.join(format!( + "{}-migrated-{}", + stem, + chrono::Utc::now().timestamp() + )) +} + +fn move_session_entry(source: &Path, target: &Path) -> Result<(), String> { + let target = unique_session_migration_target(target); + match std::fs::rename(source, &target) { + Ok(()) => Ok(()), + Err(rename_err) => { + if source.is_dir() { + return Err(format!( + "Failed to move session directory {:?} to {:?}: {}", + source, target, rename_err + )); + } + std::fs::copy(source, &target).map_err(|copy_err| { + format!( + "Failed to copy session file {:?} to {:?}: {}", + source, target, copy_err + ) + })?; + std::fs::remove_file(source).map_err(|remove_err| { + format!( + "Copied session file to {:?}, but failed to remove old file {:?}: {}", + target, source, remove_err + ) + })?; + Ok(()) + } + } +} + +#[tauri::command] +pub async fn migrate_project_sessions( + old_project_path: String, + new_project_path: String, +) -> Result<(), String> { + let old_sessions_dir = get_sessions_dir(&old_project_path)?; + let new_sessions_dir = get_sessions_dir(&new_project_path)?; + + if old_sessions_dir == new_sessions_dir || !old_sessions_dir.exists() { + return Ok(()); + } + + if let Some(parent) = new_sessions_dir.parent() { + std::fs::create_dir_all(parent) + .map_err(|e| format!("Failed to create Claude projects directory: {}", e))?; + } + + if !new_sessions_dir.exists() { + match std::fs::rename(&old_sessions_dir, &new_sessions_dir) { + Ok(()) => return Ok(()), + Err(err) => { + eprintln!( + "[session] failed to rename sessions dir {:?} -> {:?}: {}. Falling back to merge.", + old_sessions_dir, new_sessions_dir, err + ); + } + } + } + + std::fs::create_dir_all(&new_sessions_dir) + .map_err(|e| format!("Failed to create migrated sessions directory: {}", e))?; + + let entries = std::fs::read_dir(&old_sessions_dir) + .map_err(|e| format!("Failed to read old sessions directory: {}", e))?; + for entry in entries.flatten() { + let source = entry.path(); + let target = new_sessions_dir.join(entry.file_name()); + move_session_entry(&source, &target)?; + } + + let _ = std::fs::remove_dir(&old_sessions_dir); + Ok(()) +} + /// Clean raw user message text into a display title. fn clean_user_message_title(text: &str) -> Option { // Skip IDE context tags @@ -7500,6 +7765,30 @@ pub async fn set_claude_fast_mode(enabled: bool) -> Result<(), String> { mod tests { use super::*; + fn test_openai_compatible_auth_config() -> ClaudePrismAuthConfig { + ClaudePrismAuthConfig { + provider: Some(PROVIDER_OPENAI_COMPATIBLE.to_string()), + active_openai_credential_id: Some("qwen".to_string()), + openai_credentials: vec![ + StoredOpenAiCompatibleCredentialConfig { + id: "qwen".to_string(), + label: "Qwen".to_string(), + api_key: "sk-qwen".to_string(), + base_url: "https://dashscope.aliyuncs.com/compatible-mode/v1".to_string(), + model: "qwen3-coder-plus".to_string(), + }, + StoredOpenAiCompatibleCredentialConfig { + id: "deepseek".to_string(), + label: "DeepSeek".to_string(), + api_key: "sk-deepseek".to_string(), + base_url: "https://api.deepseek.com".to_string(), + model: "deepseek-chat".to_string(), + }, + ], + ..Default::default() + } + } + // --- get_sessions_dir --- #[test] @@ -7652,6 +7941,43 @@ mod tests { assert!(!values.iter().any(|(key, _)| *key == "ANTHROPIC_BASE_URL")); } + #[test] + fn test_claude_credential_is_available_when_openai_provider_is_active() { + let mut config = test_openai_compatible_auth_config(); + config.anthropic_api_key = Some("sk-modelgate".to_string()); + config.anthropic_base_url = Some("https://mg.aid.pub/claude-proxy".to_string()); + + let credential = stored_claude_credential_from_config(&config).unwrap(); + + assert_eq!(credential.api_key, "sk-modelgate"); + assert_eq!( + credential.base_url.as_deref(), + Some("https://mg.aid.pub/claude-proxy") + ); + } + + #[test] + fn test_direct_provider_turn_limit_is_optional() { + assert_eq!(parse_optional_direct_turn_limit(""), None); + assert_eq!(parse_optional_direct_turn_limit("0"), None); + assert_eq!(parse_optional_direct_turn_limit("off"), None); + assert_eq!(parse_optional_direct_turn_limit("none"), None); + assert_eq!(parse_optional_direct_turn_limit("false"), None); + assert_eq!(parse_optional_direct_turn_limit("not-a-number"), None); + assert_eq!(parse_optional_direct_turn_limit("42"), Some(42)); + } + + #[test] + fn test_direct_provider_converge_turn_tracks_explicit_max() { + assert_eq!(direct_provider_converge_turn_for(None, None), None); + assert_eq!(direct_provider_converge_turn_for(Some(1), None), None); + assert_eq!(direct_provider_converge_turn_for(Some(12), None), Some(10)); + assert_eq!( + direct_provider_converge_turn_for(Some(12), Some(3)), + Some(3) + ); + } + #[test] fn test_known_proxy_mismatch_rejects_modelgate_codex_proxy() { let error = known_proxy_mismatch_error( @@ -7686,6 +8012,34 @@ mod tests { .is_none()); } + #[test] + fn test_provider_id_lookup_none_does_not_fallback_to_active_provider() { + let config = test_openai_compatible_auth_config(); + let credential = openai_compatible_credential_by_id_from_config(&config, None).unwrap(); + + assert!(credential.is_none()); + } + + #[test] + fn test_provider_id_lookup_uses_explicit_provider() { + let config = test_openai_compatible_auth_config(); + let credential = openai_compatible_credential_by_id_from_config(&config, Some("deepseek")) + .unwrap() + .unwrap(); + + assert_eq!(credential.id, "deepseek"); + assert_eq!(credential.model, "deepseek-chat"); + } + + #[test] + fn test_provider_id_lookup_rejects_missing_provider() { + let config = test_openai_compatible_auth_config(); + let error = + openai_compatible_credential_by_id_from_config(&config, Some("missing")).unwrap_err(); + + assert!(error.contains("Configured provider credential not found")); + } + #[test] fn test_openai_chat_completions_url_preserves_full_endpoint() { assert_eq!( @@ -8892,6 +9246,31 @@ mod tests { assert!(direct_reasoning_history_mode(&qwen) == DirectReasoningHistoryMode::Strip); } + #[test] + fn test_direct_provider_project_prompt_surfaces_python_and_skills() { + let dir = tempfile::tempdir().unwrap(); + std::fs::create_dir_all(dir.path().join(".venv")).unwrap(); + let skill_dir = dir + .path() + .join(".claude") + .join("skills") + .join("paper-helper"); + std::fs::create_dir_all(&skill_dir).unwrap(); + std::fs::write( + skill_dir.join("SKILL.md"), + "---\nname: Paper Helper\ndescription: Helps revise academic papers.\n---\n\n# Paper Helper", + ) + .unwrap(); + + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let prompt = direct_provider_system_prompt_for_project(&root); + + assert!(prompt.contains(DIRECT_PROVIDER_PROJECT_CONTEXT_HEADER)); + assert!(prompt.contains("project .venv is present")); + assert!(prompt.contains("/paper-helper: Paper Helper - Helps revise academic papers.")); + assert!(prompt.contains("invoking Skill before answering is a blocking requirement")); + } + #[test] fn test_direct_provider_no_tools_prompt_replaces_system_message() { let messages = vec![ @@ -8942,6 +9321,34 @@ mod tests { .contains("Previous tool result call-1")); } + #[test] + fn test_direct_provider_legacy_functions_preserves_project_context() { + let dir = tempfile::tempdir().unwrap(); + let skill_dir = dir.path().join(".claude").join("skills").join("plotter"); + std::fs::create_dir_all(&skill_dir).unwrap(); + std::fs::write( + skill_dir.join("SKILL.md"), + "---\nname: Plotter\ndescription: Creates analysis plots.\n---\n\n# Plotter", + ) + .unwrap(); + let root = canonical_project_root(dir.path().to_str().unwrap()).unwrap(); + let messages = vec![ + json!({ "role": "system", "content": direct_provider_system_prompt_for_project(&root) }), + json!({ "role": "user", "content": "Make a plot" }), + ]; + + let function_messages = direct_messages_for_tool_capability( + &messages, + DirectToolRequestMode::Functions, + DirectReasoningHistoryMode::Strip, + ); + let content = function_messages[0]["content"].as_str().unwrap(); + + assert!(content.contains(DIRECT_PROVIDER_PROJECT_CONTEXT_HEADER)); + assert!(content.contains("/plotter: Plotter - Creates analysis plots.")); + assert!(content.contains("You can inspect and edit files through the provided tools")); + } + #[test] fn test_direct_provider_legacy_function_messages_convert_tool_history() { let messages = vec![ diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 9480223..553baba 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -185,6 +185,7 @@ fn create_new_window(app: tauri::AppHandle) -> Result<(), String> { .title("ClaudePrism") .inner_size(1400.0, 900.0) .min_inner_size(800.0, 600.0) + .theme(Some(tauri::Theme::Light)) .visible(false); #[cfg(target_os = "macos")] @@ -340,6 +341,7 @@ fn open_debug_window(app: tauri::AppHandle) -> Result<(), String> { .title("ClaudePrism — Debug") .inner_size(560.0, 700.0) .min_inner_size(400.0, 400.0) + .theme(Some(tauri::Theme::Light)) .visible(true) .build() .map_err(|e| format!("Failed to create debug window: {}", e))?; @@ -493,6 +495,7 @@ pub fn run() { claude::resume_claude_code, claude::cancel_claude_execution, claude::run_shell_command, + claude::migrate_project_sessions, claude::get_claude_fast_mode, claude::set_claude_fast_mode, claude::list_claude_sessions, diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index fea7ea6..a029c3e 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -23,6 +23,7 @@ "visible": false, "titleBarStyle": "Overlay", "hiddenTitle": true, + "theme": "Light", "trafficLightPosition": { "x": 12, "y": 12 diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 589c9d4..411ec3a 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -1,4 +1,4 @@ -import { ThemeProvider } from "next-themes"; +import { ThemeProvider, useTheme } from "next-themes"; import { ErrorBoundary } from "react-error-boundary"; import { Toaster } from "@/components/ui/sonner"; import { useKeyboardShortcuts } from "@/hooks/use-keyboard-shortcuts"; @@ -26,6 +26,46 @@ const LazyDebugPage = lazy(() => })), ); +function NativeWindowThemeBridge() { + const { resolvedTheme, theme } = useTheme(); + + useEffect(() => { + const syncNativeTheme = () => { + const isDark = + document.documentElement.classList.contains("dark") || + resolvedTheme === "dark"; + const nativeTheme = isDark ? "dark" : "light"; + + document.documentElement.style.colorScheme = nativeTheme; + getCurrentWindow() + .setTheme(nativeTheme) + .catch((err) => { + log.warn("Failed to sync native window theme", { + error: String(err), + }); + }); + }; + + syncNativeTheme(); + + const observer = new MutationObserver(syncNativeTheme); + observer.observe(document.documentElement, { + attributes: true, + attributeFilter: ["class"], + }); + + const systemThemeQuery = window.matchMedia("(prefers-color-scheme: dark)"); + systemThemeQuery.addEventListener("change", syncNativeTheme); + + return () => { + observer.disconnect(); + systemThemeQuery.removeEventListener("change", syncNativeTheme); + }; + }, [resolvedTheme, theme]); + + return null; +} + function WorkspaceWithClaude() { const projectRoot = useDocumentStore((s) => s.projectRoot); const initialized = useDocumentStore((s) => s.initialized); @@ -115,6 +155,7 @@ export function App({ onReady }: { onReady?: () => void }) { + {/* Global macOS titlebar drag region — sits above all content */}

{ ); }); + it("starts Claude Code with prior context when switching from a direct provider", async () => { + useClaudeChatStore.setState((state) => ({ + sessionId: "qwen-session", + selectedProviderCredentialId: CLAUDE_CODE_PROVIDER_ID, + tabs: state.tabs.map((tab) => + tab.id === "tab-default" + ? { + ...tab, + sessionId: "qwen-session", + providerKey: "openai-compatible:qwen-cred", + messages: [ + { + type: "user", + message: { content: [{ type: "text", text: "Old DS question" }] }, + }, + { + type: "assistant", + message: { content: [{ type: "text", text: "Old DS answer" }] }, + }, + ], + } + : tab, + ), + })); + + await useClaudeChatStore.getState().sendPrompt("Use Claude now"); + + expect(invoke).toHaveBeenCalledWith( + "execute_claude_code", + expect.objectContaining({ + providerCredentialId: null, + providerModelOverride: null, + prompt: expect.stringContaining("[Provider switch context]"), + }), + ); + const prompt = (vi.mocked(invoke).mock.calls[0]?.[1] as any).prompt; + expect(prompt).toContain("Old DS question"); + expect(prompt).toContain("Old DS answer"); + expect(prompt).toContain("Use Claude now"); + expect( + vi.mocked(invoke).mock.calls.some(([command]) => command === "resume_claude_code"), + ).toBe(false); + }); + + it("keeps the same backend session when switching between OpenAI-compatible providers", async () => { + useClaudeChatStore.setState((state) => ({ + sessionId: "shared-session", + selectedProviderCredentialId: "deepseek-cred", + selectedProviderModels: { "deepseek-cred": "deepseek-chat" }, + tabs: state.tabs.map((tab) => + tab.id === "tab-default" + ? { + ...tab, + sessionId: "shared-session", + providerKey: "openai-compatible:qwen-cred", + } + : tab, + ), + })); + + await useClaudeChatStore.getState().sendPrompt("Use DeepSeek now"); + + expect(invoke).toHaveBeenCalledWith( + "resume_claude_code", + expect.objectContaining({ + sessionId: "shared-session", + providerCredentialId: "deepseek-cred", + providerModelOverride: "deepseek-chat", + }), + ); + }); + it("passes an OpenAI-compatible model override with the provider credential", async () => { useClaudeChatStore.setState({ selectedProviderCredentialId: "qwen-cred", diff --git a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts index b24ca29..f261e58 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts @@ -1,5 +1,16 @@ -import { describe, it, expect } from "vitest"; -import { offsetToLineCol } from "@/stores/claude-chat-store"; +import { beforeEach, describe, expect, it } from "vitest"; +import { + CLAUDE_CODE_PROVIDER_ID, + SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY, + loadSelectedProviderCredentialId, + offsetToLineCol, + useClaudeChatStore, +} from "@/stores/claude-chat-store"; + +beforeEach(() => { + localStorage.clear(); + useClaudeChatStore.setState({ selectedProviderCredentialId: null }); +}); describe("offsetToLineCol", () => { it("returns line 1, col 1 for offset 0 on empty string", () => { @@ -38,3 +49,31 @@ describe("offsetToLineCol", () => { expect(offsetToLineCol("\n\n", 2)).toEqual({ line: 3, col: 1 }); }); }); + +describe("provider selection persistence", () => { + it("persists Claude Code as an explicit provider selection", () => { + useClaudeChatStore + .getState() + .setSelectedProviderCredentialId(CLAUDE_CODE_PROVIDER_ID); + + expect( + localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY), + ).toBe(CLAUDE_CODE_PROVIDER_ID); + expect(loadSelectedProviderCredentialId()).toBe(CLAUDE_CODE_PROVIDER_ID); + }); + + it("persists and clears OpenAI-compatible provider selections", () => { + useClaudeChatStore.getState().setSelectedProviderCredentialId("qwen"); + + expect( + localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY), + ).toBe("qwen"); + + useClaudeChatStore.getState().setSelectedProviderCredentialId(null); + + expect( + localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY), + ).toBeNull(); + expect(loadSelectedProviderCredentialId()).toBeNull(); + }); +}); diff --git a/apps/desktop/src/__tests__/stores/document-store.test.ts b/apps/desktop/src/__tests__/stores/document-store.test.ts index 44b823b..8766779 100644 --- a/apps/desktop/src/__tests__/stores/document-store.test.ts +++ b/apps/desktop/src/__tests__/stores/document-store.test.ts @@ -3,6 +3,7 @@ import { invoke } from "@tauri-apps/api/core"; import { readDir, readTextFile, + rename, stat, writeTextFile, } from "@tauri-apps/plugin-fs"; @@ -12,6 +13,7 @@ import { clearPdfBytesCache, type ProjectFile, } from "@/stores/document-store"; +import { useProjectStore } from "@/stores/project-store"; // Mock history store vi.mock("@/stores/history-store", () => ({ @@ -20,6 +22,7 @@ vi.mock("@/stores/history-store", () => ({ init: vi.fn(() => Promise.resolve()), loadSnapshots: vi.fn(() => Promise.resolve()), createSnapshot: vi.fn(() => Promise.resolve()), + reset: vi.fn(), })), }, })); @@ -66,6 +69,10 @@ describe("useDocumentStore", () => { isSaving: false, initialized: true, }); + useProjectStore.setState({ + recentProjects: [], + lastProjectFolder: null, + }); }); describe("getActiveFile logic", () => { @@ -162,6 +169,73 @@ describe("useDocumentStore", () => { }); }); + describe("renameProject", () => { + it("renames the project folder and reopens the new path", async () => { + vi.mocked(invoke).mockResolvedValue(undefined as never); + vi.mocked(readDir).mockResolvedValue([ + { name: "main.tex", isDirectory: false }, + ] as any); + vi.mocked(readTextFile).mockResolvedValue("\\documentclass{article}"); + useProjectStore.setState({ + recentProjects: [{ path: "/work/old", name: "old", lastOpened: 1 }], + lastProjectFolder: "/work", + }); + useDocumentStore.setState({ + projectRoot: "/work/old", + files: [makeFile({ absolutePath: "/work/old/main.tex" })], + }); + + await useDocumentStore.getState().renameProject("renamed"); + + expect(rename).toHaveBeenCalledWith("/work/old", "/work/renamed"); + expect(invoke).toHaveBeenCalledWith("migrate_project_sessions", { + oldProjectPath: "/work/old", + newProjectPath: "/work/renamed", + }); + expect(invoke).toHaveBeenCalledWith("allow_project_directory", { + rootPath: "/work/renamed", + }); + expect(useDocumentStore.getState().projectRoot).toBe("/work/renamed"); + expect(useProjectStore.getState().recentProjects[0]).toMatchObject({ + path: "/work/renamed", + name: "renamed", + }); + expect( + useProjectStore + .getState() + .recentProjects.some((project) => project.path === "/work/old"), + ).toBe(false); + expect(useProjectStore.getState().lastProjectFolder).toBe("/work"); + }); + + it("saves dirty files before renaming the project folder", async () => { + vi.mocked(invoke).mockResolvedValue(undefined as never); + vi.mocked(writeTextFile).mockResolvedValue(undefined); + vi.mocked(readDir).mockResolvedValue([ + { name: "main.tex", isDirectory: false }, + ] as any); + vi.mocked(readTextFile).mockResolvedValue("\\documentclass{article}"); + useDocumentStore.setState({ + projectRoot: "/work/old", + files: [ + makeFile({ + absolutePath: "/work/old/main.tex", + content: "dirty", + isDirty: true, + }), + ], + }); + + await useDocumentStore.getState().renameProject("renamed"); + + expect(writeTextFile).toHaveBeenCalledWith( + "/work/old/main.tex", + "dirty", + ); + expect(rename).toHaveBeenCalledWith("/work/old", "/work/renamed"); + }); + }); + describe("insertAtCursor", () => { it("inserts text at cursor position", () => { useDocumentStore.getState().insertAtCursor(", Beautiful"); diff --git a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts index e0a6b61..341a884 100644 --- a/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts +++ b/apps/desktop/src/__tests__/stores/multi-tab-merge.test.ts @@ -44,6 +44,7 @@ function resetStores() { id: "tab-default", title: "New Chat", sessionId: null, + providerKey: null, messages: [], isStreaming: false, error: null, diff --git a/apps/desktop/src/__tests__/stores/project-store.test.ts b/apps/desktop/src/__tests__/stores/project-store.test.ts index acfd4a0..12e4301 100644 --- a/apps/desktop/src/__tests__/stores/project-store.test.ts +++ b/apps/desktop/src/__tests__/stores/project-store.test.ts @@ -30,6 +30,18 @@ describe("useProjectStore", () => { expect(recentProjects[1].path).toBe("/b"); }); + it("normalizes trailing separators when deduplicating", () => { + const store = useProjectStore.getState(); + store.addRecentProject("C:\\Users\\Devlin\\Documents\\ClaudePrism\\paper\\"); + store.addRecentProject("C:\\Users\\Devlin\\Documents\\ClaudePrism\\paper"); + const { recentProjects } = useProjectStore.getState(); + expect(recentProjects).toHaveLength(1); + expect(recentProjects[0]).toMatchObject({ + path: "C:\\Users\\Devlin\\Documents\\ClaudePrism\\paper", + name: "paper", + }); + }); + it("limits to MAX_RECENT (10) entries", () => { const store = useProjectStore.getState(); for (let i = 0; i < 12; i++) { @@ -67,4 +79,38 @@ describe("useProjectStore", () => { expect(recentProjects[0].path).toBe("/b"); }); }); + + describe("renameRecentProject", () => { + it("replaces the old recent project path with the new folder path", () => { + const store = useProjectStore.getState(); + store.addRecentProject("/work/old"); + store.addRecentProject("/work/other"); + store.renameRecentProject("/work/old", "/work/new"); + + const { recentProjects } = useProjectStore.getState(); + expect(recentProjects[0]).toMatchObject({ + path: "/work/new", + name: "new", + }); + expect(recentProjects.some((project) => project.path === "/work/old")).toBe( + false, + ); + expect(recentProjects.some((project) => project.path === "/work/other")).toBe( + true, + ); + }); + + it("matches renamed paths even when the old recent path has a trailing slash", () => { + const store = useProjectStore.getState(); + store.addRecentProject("/work/old/"); + store.renameRecentProject("/work/old", "/work/new/"); + + const { recentProjects } = useProjectStore.getState(); + expect(recentProjects).toHaveLength(1); + expect(recentProjects[0]).toMatchObject({ + path: "/work/new", + name: "new", + }); + }); + }); }); diff --git a/apps/desktop/src/components/claude-chat/chat-messages.tsx b/apps/desktop/src/components/claude-chat/chat-messages.tsx index 76c0c71..7bc063f 100644 --- a/apps/desktop/src/components/claude-chat/chat-messages.tsx +++ b/apps/desktop/src/components/claude-chat/chat-messages.tsx @@ -6,7 +6,7 @@ import { type ContentBlock, } from "@/stores/claude-chat-store"; import { MarkdownRenderer } from "./markdown-renderer"; -import { ThinkingWidget, ToolWidget } from "./tool-widgets"; +import { ToolWidget } from "./tool-widgets"; // ─── Streaming Indicator (isolated to prevent re-render storms) ─── @@ -316,7 +316,6 @@ const AssistantMessage: FC<{ const hasRenderableContent = content.some( (block) => (block.type === "text" && block.text) || - (block.type === "thinking" && block.thinking) || (block.type === "tool_use" && block.id), ); @@ -326,15 +325,6 @@ const AssistantMessage: FC<{
{content.map((block, idx) => { - if (block.type === "thinking" && block.thinking) { - return ( - - ); - } if (block.type === "text" && block.text) { return ( ))}
-
+
+ + + - - - + Sessions - - Sessions + + + New Chat + - - - New Chat - + - - - {isLoading ? ( -
- -
- ) : sessions.length === 0 ? ( -
- No previous sessions -
- ) : ( - sessions.map((session) => ( - handleSelectSession(session.session_id)} - disabled={isStreaming || deletingId === session.session_id} - className="group flex items-start gap-2" - > -
- {session.title} - - {formatRelativeTime(session.last_modified)} - -
-
- {session.session_id === sessionId && ( - - )} - -
-
- )) - )} -
- + +
+ + )) + )} + + + + { + if (!open && !deletingId) { + setDeleteTarget(null); + setDeleteError(null); + } + }} + > + + + Delete Chat + + Delete "{deleteTarget?.title || "this session"}" from this + project? + + + {deleteError && ( +

+ {deleteError} +

+ )} + + + + +
+
+ ); } diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index 903cea5..6ad6831 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -79,10 +79,11 @@ export function ProjectPicker() { try { setIsRestoringProject(true); - addRecentProject(path); await openProject(path); + addRecentProject(path); return true; } catch (err) { + removeRecentProject(path); console.warn("Failed to restore project:", { path, error: err }); } } @@ -121,7 +122,7 @@ export function ProjectPicker() { return () => { cancelled = true; }; - }, [addRecentProject, openProject, recentProjects]); + }, [addRecentProject, openProject, recentProjects, removeRecentProject]); const handleOpenFolder = async () => { const selected = await open({ @@ -130,14 +131,19 @@ export function ProjectPicker() { title: "Open Project Folder", }); if (selected) { - addRecentProject(selected); await openProject(selected); + addRecentProject(selected); } }; const handleOpenRecent = async (path: string) => { - addRecentProject(path); - await openProject(path); + try { + await openProject(path); + addRecentProject(path); + } catch (err) { + removeRecentProject(path); + console.warn("Failed to open recent project:", { path, error: err }); + } }; const handleSelectMode = (mode: CreationMode) => { diff --git a/apps/desktop/src/components/project-wizard.tsx b/apps/desktop/src/components/project-wizard.tsx index af78821..934aa7e 100644 --- a/apps/desktop/src/components/project-wizard.tsx +++ b/apps/desktop/src/components/project-wizard.tsx @@ -34,40 +34,10 @@ import { buildReferenceFilesSection, importReferenceFilesWithSidecars, } from "@/lib/project-attachments"; +import { getProjectNameError, normalizeProjectName } from "@/lib/project-name"; // ─── Helpers ─── -function randomProjectName(): string { - const adjectives = [ - "swift", - "bright", - "calm", - "bold", - "keen", - "warm", - "pure", - "vast", - "deep", - "fair", - ]; - const nouns = [ - "paper", - "draft", - "thesis", - "note", - "study", - "essay", - "report", - "brief", - "folio", - "opus", - ]; - const adj = adjectives[Math.floor(Math.random() * adjectives.length)]; - const noun = nouns[Math.floor(Math.random() * nouns.length)]; - const id = Math.random().toString(36).slice(2, 6); - return `${adj}-${noun}-${id}`; -} - // ─── Wizard Component ─── export type CreationMode = "template" | "scratch"; @@ -111,12 +81,14 @@ function ScratchForm({ onBack }: { onBack: () => void }) { const [purpose, setPurpose] = useState(""); const [attachments, setAttachments] = useState([]); const [projectFolder, setProjectFolder] = useState(null); - const [projectName, setProjectName] = useState(randomProjectName); + const [projectName, setProjectName] = useState(""); + const [projectNameError, setProjectNameError] = useState(""); const [isCreating, setIsCreating] = useState(false); const [isDragOver, setIsDragOver] = useState(false); const [refFilesOpen, setRefFilesOpen] = useState(false); const [locationOpen, setLocationOpen] = useState(false); + const projectNameRef = useRef(null); const textareaRef = useRef(null); const addRecentProject = useProjectStore((s) => s.addRecentProject); @@ -127,7 +99,7 @@ function ScratchForm({ onBack }: { onBack: () => void }) { const template = getTemplateById("blank")!; useEffect(() => { - const timer = setTimeout(() => textareaRef.current?.focus(), 100); + const timer = setTimeout(() => projectNameRef.current?.focus(), 100); return () => clearTimeout(timer); }, []); @@ -236,11 +208,20 @@ function ScratchForm({ onBack }: { onBack: () => void }) { }, []); const handleCreate = async () => { - if (!template || !projectFolder || !projectName.trim()) return; + const name = normalizeProjectName(projectName); + const nameError = getProjectNameError(projectName); + if (!template || !projectFolder || nameError) { + setProjectNameError(nameError ?? ""); + return; + } setIsCreating(true); try { - const projectPath = await join(projectFolder, projectName.trim()); + const projectPath = await join(projectFolder, name); + if (await exists(projectPath)) { + setProjectNameError("A folder with this name already exists here"); + return; + } await mkdir(projectPath, { recursive: true }); // Create CLAUDE.md for Claude Code context @@ -306,7 +287,9 @@ function ScratchForm({ onBack }: { onBack: () => void }) { } }; - const canCreate = template && projectFolder && projectName.trim(); + const canCreate = Boolean( + template && projectFolder && !getProjectNameError(projectName), + ); return (
@@ -326,6 +309,32 @@ function ScratchForm({ onBack }: { onBack: () => void }) { {/* Form */}
+ {/* Project name */} +
+
+ Project name +

+ This becomes the folder name on disk. +

+
+ { + setProjectName(e.target.value); + setProjectNameError(""); + }} + onBlur={() => + setProjectNameError(getProjectNameError(projectName) ?? "") + } + className="rounded-xl border-border/60 bg-card/30 text-sm focus-visible:bg-card/50" + /> + {projectNameError && ( +

{projectNameError}

+ )} +
+ {/* Purpose */}
@@ -446,7 +455,7 @@ function ScratchForm({ onBack }: { onBack: () => void }) { {!locationOpen && projectFolder && projectName.trim() && ( .../{projectFolder.split(/[/\\]/).pop()}/ - {projectName.trim()} + {normalizeProjectName(projectName)} )} void }) { {locationOpen && (
-
- setProjectName(e.target.value)} - className="flex-1 rounded-lg border-border/60 bg-background/50" - /> +
+

+ {projectFolder + ? `${projectFolder}/${normalizeProjectName(projectName) || "..."}` + : "Choose a location"} +

- {projectFolder && ( -

- {projectFolder}/{projectName.trim() || "..."} -

- )}
)}
diff --git a/apps/desktop/src/components/template-gallery/template-preview.tsx b/apps/desktop/src/components/template-gallery/template-preview.tsx index 3277fa6..49546a6 100644 --- a/apps/desktop/src/components/template-gallery/template-preview.tsx +++ b/apps/desktop/src/components/template-gallery/template-preview.tsx @@ -47,42 +47,12 @@ import { buildReferenceFilesSection, importReferenceFilesWithSidecars, } from "@/lib/project-attachments"; +import { getProjectNameError, normalizeProjectName } from "@/lib/project-name"; const log = createLogger("template-preview"); // ─── Helpers ─── -function randomProjectName(): string { - const adjectives = [ - "swift", - "bright", - "calm", - "bold", - "keen", - "warm", - "pure", - "vast", - "deep", - "fair", - ]; - const nouns = [ - "paper", - "draft", - "thesis", - "note", - "study", - "essay", - "report", - "brief", - "folio", - "opus", - ]; - const adj = adjectives[Math.floor(Math.random() * adjectives.length)]; - const noun = nouns[Math.floor(Math.random() * nouns.length)]; - const id = Math.random().toString(36).slice(2, 6); - return `${adj}-${noun}-${id}`; -} - // ─── Component ─── type ModalStep = "preview" | "details"; @@ -112,11 +82,13 @@ export function TemplatePreview() { const [purpose, setPurpose] = useState(""); const [attachments, setAttachments] = useState([]); const [projectFolder, setProjectFolder] = useState(null); - const [projectName, setProjectName] = useState(randomProjectName); + const [projectName, setProjectName] = useState(""); + const [projectNameError, setProjectNameError] = useState(""); const [isCreating, setIsCreating] = useState(false); const [isDragOver, setIsDragOver] = useState(false); const [refFilesOpen, setRefFilesOpen] = useState(false); const [locationOpen, setLocationOpen] = useState(false); + const projectNameRef = useRef(null); const textareaRef = useRef(null); // ── Store access ── @@ -152,7 +124,8 @@ export function TemplatePreview() { setModalStep("preview"); setPurpose(""); setAttachments([]); - setProjectName(randomProjectName()); + setProjectName(""); + setProjectNameError(""); setRefFilesOpen(false); setLocationOpen(false); } @@ -179,7 +152,7 @@ export function TemplatePreview() { // Auto-focus textarea in details step useEffect(() => { if (modalStep === "details") { - const timer = setTimeout(() => textareaRef.current?.focus(), 150); + const timer = setTimeout(() => projectNameRef.current?.focus(), 150); return () => clearTimeout(timer); } }, [modalStep]); @@ -406,11 +379,20 @@ export function TemplatePreview() { // ── Create project ── const handleCreate = async () => { - if (!template || !projectFolder || !projectName.trim()) return; + const name = normalizeProjectName(projectName); + const nameError = getProjectNameError(projectName); + if (!template || !projectFolder || nameError) { + setProjectNameError(nameError ?? ""); + return; + } setIsCreating(true); try { - const projectPath = await join(projectFolder, projectName.trim()); + const projectPath = await join(projectFolder, name); + if (await exists(projectPath)) { + setProjectNameError("A folder with this name already exists here"); + return; + } await mkdir(projectPath, { recursive: true }); const mainTexPath = await join(projectPath, template.mainFileName); @@ -472,7 +454,9 @@ export function TemplatePreview() { } }; - const canCreate = template && projectFolder && projectName.trim(); + const canCreate = Boolean( + template && projectFolder && !getProjectNameError(projectName), + ); if (!template) return null; @@ -595,6 +579,34 @@ export function TemplatePreview() { {/* Form content */}
+
+
+ Project name +

+ This becomes the folder name on disk. +

+
+ { + setProjectName(e.target.value); + setProjectNameError(""); + }} + onBlur={() => + setProjectNameError( + getProjectNameError(projectName) ?? "", + ) + } + className="rounded-xl border-border/60 bg-card/30 text-sm focus-visible:bg-card/50" + /> + {projectNameError && ( +

+ {projectNameError} +

+ )} +
{/* Purpose — hero element */}
@@ -716,7 +728,7 @@ export function TemplatePreview() { {!locationOpen && projectFolder && projectName.trim() && ( .../{projectFolder.split(/[/\\]/).pop()}/ - {projectName.trim()} + {normalizeProjectName(projectName)} )} {locationOpen && (
-
- setProjectName(e.target.value)} - className="flex-1 rounded-lg border-border/60 bg-background/50" - /> +
+

+ {projectFolder + ? `${projectFolder}/${normalizeProjectName(projectName) || "..."}` + : "Choose a location"} +

- {projectFolder && ( -

- {projectFolder}/{projectName.trim() || "..."} -

- )}
)}
diff --git a/apps/desktop/src/components/uv-setup.tsx b/apps/desktop/src/components/uv-setup.tsx index f08f4b1..c8b19ce 100644 --- a/apps/desktop/src/components/uv-setup.tsx +++ b/apps/desktop/src/components/uv-setup.tsx @@ -71,7 +71,7 @@ export function UvSetupDialog({ open, onClose }: UvSetupDialogProps) { return ( !o && onClose()}> - + @@ -168,8 +168,9 @@ export function UvSetupDialog({ open, onClose }: UvSetupDialogProps) { {/* Info text */} {status === "ready" && venvReady && (

- Claude Code will automatically use this environment when running - Python code. Use{" "} + Claude Code and ClaudePrism terminal tools use this environment + when running Python code. OpenAI-compatible providers use it + through PowerShell/Bash tool calls. Use{" "} uv pip install to add packages.

diff --git a/apps/desktop/src/components/workspace/sidebar.tsx b/apps/desktop/src/components/workspace/sidebar.tsx index 413cbfc..04a7389 100644 --- a/apps/desktop/src/components/workspace/sidebar.tsx +++ b/apps/desktop/src/components/workspace/sidebar.tsx @@ -214,6 +214,7 @@ export function Sidebar() { const deleteFile = useDocumentStore((s) => s.deleteFile); const deleteFolder = useDocumentStore((s) => s.deleteFolder); const renameFile = useDocumentStore((s) => s.renameFile); + const renameProject = useDocumentStore((s) => s.renameProject); const createNewFile = useDocumentStore((s) => s.createNewFile); const createFolder = useDocumentStore((s) => s.createFolder); const importFiles = useDocumentStore((s) => s.importFiles); @@ -232,6 +233,10 @@ export function Sidebar() { const projectRoot = useDocumentStore((s) => s.projectRoot); const folders = useDocumentStore((s) => s.folders); const { theme, setTheme } = useTheme(); + const projectName = useMemo(() => { + const normalized = projectRoot?.replace(/[\\/]+$/, ""); + return normalized?.split(/[/\\]/).pop() || "Desktop"; + }, [projectRoot]); // ─── Native OS file drop (Tauri onDragDropEvent) ─── const sidebarFilesRef = useRef(null); @@ -430,6 +435,11 @@ export function Sidebar() { const [renameDialogOpen, setRenameDialogOpen] = useState(false); const [renameFileId, setRenameFileId] = useState(null); const [renameValue, setRenameValue] = useState(""); + const [projectRenameDialogOpen, setProjectRenameDialogOpen] = + useState(false); + const [projectRenameValue, setProjectRenameValue] = useState(""); + const [projectRenameError, setProjectRenameError] = useState(""); + const [isRenamingProject, setIsRenamingProject] = useState(false); const [newFileName, setNewFileName] = useState(""); const [newFolderName, setNewFolderName] = useState(""); @@ -580,6 +590,28 @@ export function Sidebar() { setRenameDialogOpen(true); }; + const openProjectRenameDialog = () => { + if (!projectRoot) return; + setProjectRenameValue(projectName); + setProjectRenameError(""); + setProjectRenameDialogOpen(true); + }; + + const handleProjectRename = async () => { + const name = projectRenameValue.trim(); + if (!name || isRenamingProject) return; + setIsRenamingProject(true); + setProjectRenameError(""); + try { + await renameProject(name); + setProjectRenameDialogOpen(false); + } catch (err) { + setProjectRenameError(err instanceof Error ? err.message : String(err)); + } finally { + setIsRenamingProject(false); + } + }; + const handleRename = () => { const name = renameValue.trim(); if (!renameFileId || !name) return; @@ -622,12 +654,21 @@ export function Sidebar() {
{/* Header — padded top for macOS overlay titlebar */}
-
- ClaudePrism - - {projectRoot?.split(/[/\\]/).pop() || "Desktop"} - -
+
+ {/* Rename Project Dialog */} + { + if (!isRenamingProject) setProjectRenameDialogOpen(open); + }} + > + + + Rename Project + +
+ { + setProjectRenameValue(e.target.value); + setProjectRenameError(""); + }} + onKeyDown={(e) => { + if (e.key === "Enter") handleProjectRename(); + }} + autoFocus + /> + {projectRenameError && ( +

{projectRenameError}

+ )} +
+ + + + +
+
+ {/* Rename Dialog */} diff --git a/apps/desktop/src/lib/mupdf/pdf-doc-cache.ts b/apps/desktop/src/lib/mupdf/pdf-doc-cache.ts index 7ad3276..56f26f9 100644 --- a/apps/desktop/src/lib/mupdf/pdf-doc-cache.ts +++ b/apps/desktop/src/lib/mupdf/pdf-doc-cache.ts @@ -123,12 +123,18 @@ export function invalidateDoc(docId: number): void { /** Close all cached documents (e.g., on project close). */ export async function clearDocCache(): Promise { - const count = cache.size; + const entries = [...cache.values()]; + const count = entries.length; + cache.clear(); + if (count === 0) { + log.info("Cleared doc cache (0 documents closed)"); + return; + } + const client = getMupdfClient(); - const closePromises = [...cache.values()].map((entry) => + const closePromises = entries.map((entry) => client.closeDocument(entry.docId).catch(() => {}), ); - cache.clear(); await Promise.all(closePromises); log.info(`Cleared doc cache (${count} documents closed)`); } diff --git a/apps/desktop/src/lib/project-name.ts b/apps/desktop/src/lib/project-name.ts new file mode 100644 index 0000000..a316c51 --- /dev/null +++ b/apps/desktop/src/lib/project-name.ts @@ -0,0 +1,15 @@ +export function normalizeProjectName(name: string): string { + return name.trim(); +} + +export function getProjectNameError(name: string): string | null { + const trimmed = normalizeProjectName(name); + if (!trimmed) return "Enter a project name"; + if (trimmed === "." || trimmed === "..") { + return "Project name cannot be . or .."; + } + if (/[\x00-\x1f\\/<>:"|?*]/.test(trimmed) || /[\s.]$/.test(trimmed)) { + return "Project name contains characters Windows cannot use"; + } + return null; +} diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index ee8c3c8..55ce002 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -2,10 +2,42 @@ import { create } from "zustand"; import { invoke } from "@tauri-apps/api/core"; import { useDocumentStore } from "./document-store"; import { useHistoryStore } from "./history-store"; +import { useClaudeSetupStore } from "./claude-setup-store"; import { createLogger } from "@/lib/debug/logger"; const log = createLogger("claude"); export const CLAUDE_CODE_PROVIDER_ID = "__claude-code__"; +export const SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY = + "claude-prism:selected-provider-credential-id"; + +function providerSelectionStorage(): Storage | null { + try { + return globalThis.localStorage ?? null; + } catch { + return null; + } +} + +export function loadSelectedProviderCredentialId(): string | null { + const value = providerSelectionStorage()?.getItem( + SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY, + ); + const trimmed = value?.trim(); + return trimmed || null; +} + +function persistSelectedProviderCredentialId(credentialId: string | null) { + const storage = providerSelectionStorage(); + if (!storage) return; + if (credentialId?.trim()) { + storage.setItem( + SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY, + credentialId.trim(), + ); + } else { + storage.removeItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY); + } +} /** Convert a character offset to 1-based line:col */ export function offsetToLineCol( @@ -72,6 +104,7 @@ export interface TabState { id: string; title: string; sessionId: string | null; + providerKey: string | null; messages: ClaudeStreamMessage[]; isStreaming: boolean; error: string | null; @@ -95,6 +128,7 @@ function makeDefaultTab(id: string): TabState { id, title: "New Chat", sessionId: null, + providerKey: null, messages: [], isStreaming: false, error: null, @@ -104,6 +138,48 @@ function makeDefaultTab(id: string): TabState { }; } +function providerSessionKey(providerCredentialId: string | null): string { + return providerCredentialId + ? `openai-compatible:${providerCredentialId}` + : CLAUDE_CODE_PROVIDER_ID; +} + +function providerCredentialIdFromSessionKey( + providerKey: string | null, +): string | null | undefined { + if (!providerKey) return undefined; + if (providerKey === CLAUDE_CODE_PROVIDER_ID) return CLAUDE_CODE_PROVIDER_ID; + const prefix = "openai-compatible:"; + return providerKey.startsWith(prefix) + ? providerKey.slice(prefix.length) + : undefined; +} + +function inferProviderKeyFromHistory(history: any[]): string | null { + const init = history.find( + (entry) => entry?.type === "system" && entry?.subtype === "init", + ); + if (!init) return null; + + if ( + init.provider === "openai-compatible" && + typeof init.provider_credential_id === "string" && + init.provider_credential_id.trim() + ) { + return providerSessionKey(init.provider_credential_id.trim()); + } + + const model = typeof init.model === "string" ? init.model : ""; + if (model.toLowerCase().startsWith("claude")) { + return CLAUDE_CODE_PROVIDER_ID; + } + + const matchingCredential = useClaudeSetupStore + .getState() + .openAiCredentials.find((credential) => credential.model === model); + return matchingCredential ? providerSessionKey(matchingCredential.id) : null; +} + function usageFromMessage(msg: ClaudeStreamMessage): { input_tokens: number; output_tokens: number; @@ -130,6 +206,70 @@ function usageTotalsForMessages(messages: ClaudeStreamMessage[]): { ); } +function stringifyBlockContent(value: unknown): string { + if (typeof value === "string") return value; + try { + return JSON.stringify(value); + } catch { + return String(value); + } +} + +function messageContentText(message: ClaudeStreamMessage): string { + const blocks = message.message?.content ?? []; + const parts: string[] = []; + for (const block of blocks) { + if (block.type === "text" && block.text?.trim()) { + parts.push(block.text.trim()); + } else if (block.type === "tool_use") { + const input = block.input ? stringifyBlockContent(block.input) : ""; + parts.push( + `[tool_use: ${block.name ?? "unknown"}${input ? ` ${input}` : ""}]`, + ); + } else if (block.type === "tool_result") { + const content = stringifyBlockContent(block.content ?? ""); + parts.push( + `[tool_result${block.is_error ? " error" : ""}: ${content}]`, + ); + } + } + return parts.join("\n").trim(); +} + +function buildProviderSwitchContext( + messages: ClaudeStreamMessage[], + maxChars = 18000, +): string | null { + const entries = messages + .filter((msg) => msg.type === "user" || msg.type === "assistant") + .map((msg) => { + const text = messageContentText(msg); + if (!text) return null; + return `${msg.type === "user" ? "User" : "Assistant"}:\n${text}`; + }) + .filter((entry): entry is string => !!entry); + + if (entries.length === 0) return null; + + const selected: string[] = []; + let total = 0; + for (let i = entries.length - 1; i >= 0; i -= 1) { + const next = entries[i]; + if (selected.length > 0 && total + next.length > maxChars) break; + selected.unshift(next); + total += next.length; + } + + return [ + "[Provider switch context]", + "The conversation below happened earlier in this same ClaudePrism chat before switching model providers.", + "Use it as prior context. Do not repeat it; answer only the user's latest request after this block.", + "", + selected.join("\n\n"), + "[End provider switch context]", + ].join("\n"); +} + let tabCounter = 0; function nextTabId(): string { return `tab-${++tabCounter}`; @@ -292,9 +432,11 @@ export const useClaudeChatStore = create()((set, get) => ({ selectedModel: "opus", setSelectedModel: (model) => set({ selectedModel: model }), - selectedProviderCredentialId: null, - setSelectedProviderCredentialId: (credentialId) => - set({ selectedProviderCredentialId: credentialId }), + selectedProviderCredentialId: loadSelectedProviderCredentialId(), + setSelectedProviderCredentialId: (credentialId) => { + persistSelectedProviderCredentialId(credentialId); + set({ selectedProviderCredentialId: credentialId }); + }, selectedProviderModels: {}, setSelectedProviderModel: (credentialId, model) => set((state) => ({ @@ -358,10 +500,22 @@ export const useClaudeChatStore = create()((set, get) => ({ const providerModelOverride = providerCredentialId ? selectedProviderModels[providerCredentialId] || null : null; + const requestProviderKey = providerSessionKey(providerCredentialId); + const previousProviderKey = activeTab?.providerKey ?? null; + const providerChanged = + !!sessionId && !!previousProviderKey && previousProviderKey !== requestProviderKey; + const switchingDirectProviderToClaudeCode = + providerChanged && + requestProviderKey === CLAUDE_CODE_PROVIDER_ID && + previousProviderKey !== CLAUDE_CODE_PROVIDER_ID; + const resumeSessionId = switchingDirectProviderToClaudeCode + ? null + : sessionId ?? null; const sendStart = performance.now(); log.info("sendPrompt start", { sessionId: !!sessionId, + providerChanged, hasContext: !!contextOverride, tab: activeTabId, }); @@ -414,6 +568,8 @@ export const useClaudeChatStore = create()((set, get) => ({ ...(s.tabs.find((t) => t.id === activeTabId)?.messages ?? []), userMessage, ], + sessionId: resumeSessionId, + providerKey: requestProviderKey, isStreaming: true, error: null, }; @@ -465,17 +621,23 @@ export const useClaudeChatStore = create()((set, get) => ({ } prompt = `${ctx}\n\n${userPrompt}`; } + if (switchingDirectProviderToClaudeCode) { + const priorContext = buildProviderSwitchContext(activeTab?.messages ?? []); + if (priorContext) { + prompt = `${priorContext}\n\n${prompt}`; + } + } log.info("invoking CLI", { promptLength: prompt.length, - mode: sessionId ? "resume" : "new", + mode: resumeSessionId ? "resume" : "new", }); try { - if (sessionId) { + if (resumeSessionId) { // Resume existing session await invoke("resume_claude_code", { projectPath, - sessionId, + sessionId: resumeSessionId, prompt, tabId: activeTabId, model: selectedModel, @@ -542,6 +704,7 @@ export const useClaudeChatStore = create()((set, get) => ({ applyTabUpdate(s, activeTabId, { messages: [], sessionId: null, + providerKey: null, error: null, isStreaming: false, totalInputTokens: 0, @@ -561,6 +724,7 @@ export const useClaudeChatStore = create()((set, get) => ({ applyTabUpdate(s, activeTabId, { messages: [], sessionId, + providerKey: null, error: null, isStreaming: false, totalInputTokens: 0, @@ -586,11 +750,23 @@ export const useClaudeChatStore = create()((set, get) => ({ } const totals = usageTotalsForMessages(messages); + const providerKey = inferProviderKeyFromHistory(history); + const selectedProviderCredentialId = + providerCredentialIdFromSessionKey(providerKey); + if (selectedProviderCredentialId !== undefined) { + persistSelectedProviderCredentialId(selectedProviderCredentialId); + } set((s) => - applyTabUpdate(s, activeTabId, { - messages, - totalInputTokens: totals.inputTokens, - totalOutputTokens: totals.outputTokens, + ({ + ...applyTabUpdate(s, activeTabId, { + messages, + providerKey, + totalInputTokens: totals.inputTokens, + totalOutputTokens: totals.outputTokens, + }), + ...(selectedProviderCredentialId !== undefined + ? { selectedProviderCredentialId } + : {}), }), ); } catch (err) { diff --git a/apps/desktop/src/stores/document-store.ts b/apps/desktop/src/stores/document-store.ts index 12c582d..68f9d01 100644 --- a/apps/desktop/src/stores/document-store.ts +++ b/apps/desktop/src/stores/document-store.ts @@ -22,9 +22,11 @@ import { clearDocCache } from "@/lib/mupdf/pdf-doc-cache"; import { clearScrollPositionCache } from "@/components/workspace/preview/pdf-viewer"; import { clearZoomCache } from "@/components/workspace/preview/pdf-preview"; import { clearEditorStateCache } from "@/components/workspace/editor/latex-editor"; +import { useProjectStore } from "@/stores/project-store"; import { createLogger } from "@/lib/debug/logger"; const log = createLogger("document"); +const PROJECT_RENAME_LOCK_RETRY_DELAYS_MS = [150, 300, 600, 1000]; export interface ProjectFile { id: string; // relativePath is the id @@ -92,6 +94,7 @@ interface DocumentState { lastCompiledGenerations: Map; openProject: (rootPath: string) => Promise; + renameProject: (newName: string) => Promise; closeProject: () => void; setActiveFile: (id: string) => void; addFile: (file: Omit) => string; @@ -226,6 +229,107 @@ function migrateCacheKey( return copy; } +function normalizeProjectRoot(rootPath: string): string { + return rootPath.replace(/[\\/]+$/, ""); +} + +function splitProjectRoot(rootPath: string): { + parentPath: string; + folderName: string; + separator: string; +} { + const normalized = normalizeProjectRoot(rootPath); + const lastSep = Math.max( + normalized.lastIndexOf("/"), + normalized.lastIndexOf("\\"), + ); + if (lastSep < 0) { + throw new Error("Project path has no parent folder"); + } + + const separator = normalized[lastSep]; + return { + parentPath: lastSep === 0 ? separator : normalized.slice(0, lastSep), + folderName: normalized.slice(lastSep + 1), + separator, + }; +} + +function buildRenamedProjectRoot(rootPath: string, newName: string): string { + const name = newName.trim(); + if (!name) throw new Error("Project name cannot be empty"); + if (name === "." || name === "..") { + throw new Error("Project name cannot be . or .."); + } + if (/[\\/<>:"|?*]/.test(name) || /[\s.]$/.test(name)) { + throw new Error("Project name contains characters Windows cannot use"); + } + + const { parentPath, folderName, separator } = splitProjectRoot(rootPath); + if (name === folderName) return normalizeProjectRoot(rootPath); + return `${parentPath}${parentPath.endsWith(separator) ? "" : separator}${name}`; +} + +function sleep(ms: number): Promise { + return new Promise((resolve) => setTimeout(resolve, ms)); +} + +function isWindowsFolderLockError(error: unknown): boolean { + const message = error instanceof Error ? error.message : String(error); + return ( + message.includes("os error 32") || + message.includes("being used by another process") || + message.includes("another program is using") || + message.includes("进程无法访问") || + message.includes("另一个程序正在使用") + ); +} + +function formatProjectRenameError(error: unknown): string { + if (isWindowsFolderLockError(error)) { + return [ + "Project folder is still in use.", + "Close any external PDF viewer, terminal, Python process, or file explorer preview using this project, then try again.", + ].join(" "); + } + return error instanceof Error ? error.message : String(error); +} + +async function renameProjectRootWithRetry( + oldRoot: string, + newRoot: string, +): Promise { + let lastError: unknown = null; + for (let attempt = 0; ; attempt++) { + try { + await renameFileOnDisk(oldRoot, newRoot); + return; + } catch (error) { + lastError = error; + const delay = PROJECT_RENAME_LOCK_RETRY_DELAYS_MS[attempt]; + if (!isWindowsFolderLockError(error) || delay == null) { + throw new Error(formatProjectRenameError(error)); + } + await sleep(delay); + } + } + throw new Error(formatProjectRenameError(lastError)); +} + +async function waitForCompileToFinish( + getState: () => DocumentState, +): Promise { + const started = Date.now(); + while (getState().isCompiling) { + if (Date.now() - started > 10_000) { + throw new Error( + "Compilation is still running. Wait for it to finish before renaming the project.", + ); + } + await sleep(200); + } +} + // Auto-save: debounced save 2 seconds after last content change let autoSaveTimer: ReturnType | null = null; // Store reference set after creation to avoid TDZ issues @@ -349,13 +453,81 @@ export const useDocumentStore = create()((set, get) => ({ }); }, + renameProject: async (newName: string) => { + const state = get(); + if (!state.projectRoot) throw new Error("No project open"); + + const oldRoot = state.projectRoot; + const newRoot = buildRenamedProjectRoot(oldRoot, newName); + if (newRoot === normalizeProjectRoot(oldRoot)) return; + + if (autoSaveTimer) { + clearTimeout(autoSaveTimer); + autoSaveTimer = null; + } + await waitForCompileToFinish(get); + + const chatState = useClaudeChatStore.getState(); + const streamingTabs = + "tabs" in chatState && Array.isArray(chatState.tabs) + ? chatState.tabs.filter((tab) => tab.isStreaming) + : []; + if (streamingTabs.length > 0) { + await Promise.all( + streamingTabs.map((tab) => + invoke("cancel_claude_execution", { tabId: tab.id }).catch(() => {}), + ), + ); + await sleep(250); + } + + await state.saveAllFiles(); + const dirtyFiles = get().files.filter((f) => f.isDirty && f.content != null); + if (dirtyFiles.length > 0) { + throw new Error("Save failed. Please save changes before renaming."); + } + + clearPdfBytesCache(); + clearScrollPositionCache(); + clearZoomCache(); + clearEditorStateCache(); + useHistoryStore.getState().reset(); + set((s) => ({ + pdfRevision: s.pdfRevision + 1, + compileError: null, + compileErrorCache: new Map(), + lastCompiledGenerations: new Map(), + })); + await clearDocCache(); + await sleep(150); + + await renameProjectRootWithRetry(oldRoot, newRoot); + try { + await invoke("migrate_project_sessions", { + oldProjectPath: oldRoot, + newProjectPath: newRoot, + }); + } catch (err) { + log.warn("Failed to migrate project sessions after rename", { + oldRoot, + newRoot, + error: String(err), + }); + } + const projectStore = useProjectStore.getState(); + projectStore.renameRecentProject(oldRoot, newRoot); + projectStore.setLastProjectFolder(splitProjectRoot(newRoot).parentPath); + + await get().openProject(newRoot); + }, + closeProject: () => { log.info("Closing project"); if (autoSaveTimer) { clearTimeout(autoSaveTimer); autoSaveTimer = null; } - clearDocCache(); + void clearDocCache(); clearScrollPositionCache(); clearZoomCache(); clearEditorStateCache(); diff --git a/apps/desktop/src/stores/project-store.ts b/apps/desktop/src/stores/project-store.ts index e55e6b0..c78eba7 100644 --- a/apps/desktop/src/stores/project-store.ts +++ b/apps/desktop/src/stores/project-store.ts @@ -12,11 +12,28 @@ interface ProjectState { lastProjectFolder: string | null; addRecentProject: (path: string) => void; removeRecentProject: (path: string) => void; + renameRecentProject: (oldPath: string, newPath: string) => void; setLastProjectFolder: (path: string) => void; } const MAX_RECENT = 10; +function normalizeRecentPath(path: string): string { + return path.replace(/[\\/]+$/, ""); +} + +function recentProjectName(path: string): string { + const normalized = normalizeRecentPath(path); + return normalized.split(/[/\\]/).pop() || normalized; +} + +function isSameProjectPath(a: string, b: string): boolean { + return ( + normalizeRecentPath(a).toLowerCase() === + normalizeRecentPath(b).toLowerCase() + ); +} + export const useProjectStore = create()( persist( (set) => ({ @@ -26,12 +43,15 @@ export const useProjectStore = create()( setLastProjectFolder: (path) => set({ lastProjectFolder: path }), addRecentProject: (path) => { - const name = path.split(/[/\\]/).pop() || path; + const normalizedPath = normalizeRecentPath(path); + const name = recentProjectName(normalizedPath); set((state) => { - const filtered = state.recentProjects.filter((p) => p.path !== path); + const filtered = state.recentProjects.filter( + (p) => !isSameProjectPath(p.path, normalizedPath), + ); return { recentProjects: [ - { path, name, lastOpened: Date.now() }, + { path: normalizedPath, name, lastOpened: Date.now() }, ...filtered, ].slice(0, MAX_RECENT), }; @@ -40,7 +60,24 @@ export const useProjectStore = create()( removeRecentProject: (path) => { set((state) => ({ - recentProjects: state.recentProjects.filter((p) => p.path !== path), + recentProjects: state.recentProjects.filter( + (p) => !isSameProjectPath(p.path, path), + ), + })); + }, + + renameRecentProject: (oldPath, newPath) => { + const normalizedNewPath = normalizeRecentPath(newPath); + const name = recentProjectName(normalizedNewPath); + set((state) => ({ + recentProjects: [ + { path: normalizedNewPath, name, lastOpened: Date.now() }, + ...state.recentProjects.filter( + (p) => + !isSameProjectPath(p.path, oldPath) && + !isSameProjectPath(p.path, normalizedNewPath), + ), + ].slice(0, MAX_RECENT), })); }, }), From d4d6c0dfddb1399fb69c13e78e6b0d0f0a18d8f5 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Mon, 8 Jun 2026 20:32:19 +0800 Subject: [PATCH 049/118] feat: add OpenAI-compatible provider support and polish desktop UX - Add project-level OpenAI-compatible provider configuration for Qwen, DeepSeek, GLM, Gemini, Moonshot, and OpenAI - Support provider/model switching inside the chat composer - Preserve chat continuity when switching between direct providers - Bridge direct-provider conversation context when switching back to Claude Code - Improve direct-provider tool compatibility, Python/uv context, skills behavior, and PDF text extraction - Replace app icons with the new ClaudePrism prism icon - Improve project naming, rename handling, recent project/session migration, and session deletion UX - Polish provider icons, chat error spacing, uv dialog layout, and light-mode native title bar --- apps/desktop/src-tauri/src/lib.rs | 124 ++++++++++++++++++ apps/desktop/src/App.tsx | 12 +- .../workspace/preview/pdf-preview.tsx | 49 ++++--- 3 files changed, 165 insertions(+), 20 deletions(-) diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 553baba..75ed7c1 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -202,6 +202,129 @@ fn create_new_window(app: tauri::AppHandle) -> Result<(), String> { Ok(()) } +#[cfg(target_os = "windows")] +fn apply_windows_titlebar_theme(window: &tauri::WebviewWindow, dark: bool) -> Result<(), String> { + use std::ffi::c_void; + + #[link(name = "dwmapi")] + extern "system" { + #[link_name = "DwmSetWindowAttribute"] + fn dwm_set_window_attribute( + hwnd: isize, + dwattribute: u32, + pvattribute: *const c_void, + cbattribute: u32, + ) -> i32; + } + + #[link(name = "user32")] + extern "system" { + #[link_name = "SetWindowPos"] + fn set_window_pos( + hwnd: isize, + hwnd_insert_after: isize, + x: i32, + y: i32, + cx: i32, + cy: i32, + flags: u32, + ) -> i32; + } + + const DWMWA_USE_IMMERSIVE_DARK_MODE: u32 = 20; + const SWP_NOSIZE: u32 = 0x0001; + const SWP_NOMOVE: u32 = 0x0002; + const SWP_NOZORDER: u32 = 0x0004; + const SWP_NOACTIVATE: u32 = 0x0010; + const SWP_FRAMECHANGED: u32 = 0x0020; + + let hwnd = window + .hwnd() + .map_err(|e| format!("Failed to resolve native window handle: {}", e))?; + let hwnd = hwnd.0 as isize; + let dark_value: i32 = if dark { 1 } else { 0 }; + let attr_size = std::mem::size_of_val(&dark_value) as u32; + + let mut result = unsafe { + dwm_set_window_attribute( + hwnd, + DWMWA_USE_IMMERSIVE_DARK_MODE, + &dark_value as *const _ as *const _, + attr_size, + ) + }; + if result < 0 { + // Older Windows 10 builds used attribute 19 before Microsoft documented 20. + result = unsafe { + dwm_set_window_attribute( + hwnd, + 19, + &dark_value as *const _ as *const _, + attr_size, + ) + }; + } + + // Windows 11 honors explicit caption/text colors more reliably than the + // immersive flag alone, especially after runtime theme switches. + const DWMWA_CAPTION_COLOR: u32 = 35; + const DWMWA_TEXT_COLOR: u32 = 36; + let caption_color: u32 = if dark { 0x0010_1010 } else { 0x00F9_F9F9 }; + let text_color: u32 = if dark { 0x00FF_FFFF } else { 0x0000_0000 }; + unsafe { + let _ = dwm_set_window_attribute( + hwnd, + DWMWA_CAPTION_COLOR, + &caption_color as *const _ as *const _, + std::mem::size_of_val(&caption_color) as u32, + ); + let _ = dwm_set_window_attribute( + hwnd, + DWMWA_TEXT_COLOR, + &text_color as *const _ as *const _, + std::mem::size_of_val(&text_color) as u32, + ); + let _ = set_window_pos( + hwnd, + 0, + 0, + 0, + 0, + 0, + SWP_NOMOVE | SWP_NOSIZE | SWP_NOZORDER | SWP_NOACTIVATE | SWP_FRAMECHANGED, + ); + } + + if result < 0 { + return Err(format!( + "Failed to update Windows title bar theme: HRESULT 0x{:08X}", + result as u32 + )); + } + + Ok(()) +} + +#[tauri::command] +fn set_native_window_theme(window: tauri::WebviewWindow, theme: String) -> Result<(), String> { + let theme = theme.trim().to_ascii_lowercase(); + let dark = theme == "dark"; + let tauri_theme = if dark { + tauri::Theme::Dark + } else { + tauri::Theme::Light + }; + + window + .set_theme(Some(tauri_theme)) + .map_err(|e| format!("Failed to set window theme: {}", e))?; + + #[cfg(target_os = "windows")] + apply_windows_titlebar_theme(&window, dark)?; + + Ok(()) +} + #[tauri::command] fn allow_project_directory(app: tauri::AppHandle, root_path: String) -> Result<(), String> { let fs_scope = app.fs_scope(); @@ -471,6 +594,7 @@ pub fn run() { }) .invoke_handler(tauri::generate_handler![ create_new_window, + set_native_window_theme, allow_project_directory, list_default_projects, detect_editors, diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 411ec3a..49b1ee4 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -8,6 +8,7 @@ import { useClaudeChatStore } from "@/stores/claude-chat-store"; import { ProjectPicker } from "@/components/project-picker"; import { WorkspaceLayout } from "@/components/workspace/workspace-layout"; import { lazy, Suspense, useEffect, useState } from "react"; +import { invoke } from "@tauri-apps/api/core"; import { getCurrentWindow } from "@tauri-apps/api/window"; import { TooltipProvider } from "@/components/ui/tooltip"; import { @@ -37,10 +38,15 @@ function NativeWindowThemeBridge() { const nativeTheme = isDark ? "dark" : "light"; document.documentElement.style.colorScheme = nativeTheme; - getCurrentWindow() - .setTheme(nativeTheme) + invoke("set_native_window_theme", { theme: nativeTheme }) .catch((err) => { - log.warn("Failed to sync native window theme", { + log.warn("Failed to sync native window theme via Rust command", { + error: String(err), + }); + return getCurrentWindow().setTheme(nativeTheme); + }) + .catch((err) => { + log.warn("Failed to sync native window theme via JS API", { error: String(err), }); }); diff --git a/apps/desktop/src/components/workspace/preview/pdf-preview.tsx b/apps/desktop/src/components/workspace/preview/pdf-preview.tsx index 70fee00..3bd8aae 100644 --- a/apps/desktop/src/components/workspace/preview/pdf-preview.tsx +++ b/apps/desktop/src/components/workspace/preview/pdf-preview.tsx @@ -800,15 +800,18 @@ export function PdfPreview() { ref={previewContainerRef} className="@container/pv relative flex h-full flex-col bg-muted/50" > -
-
+
+
-
+
{/* Capture mode */} -
+

k7NL=Xum%Pe0y9#J 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%0A#2wwnY8r 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¯*Cx97@>H?HWr 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�!nK>g01kSUbvzd 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 z zFon-0gZ9U~?EwG|Ab|(kmIzbOFHCdLG3*u#+;`QXXuMd`NbZv7^Z8^F`gs3`OWm1v zaO_UQH@^MN@Wf+JBtJ>6wd)EoKU+#?ydcEND`X1r+9l85mvtDn*2YWRP=c{E*6PSF z)=^?BO%_E60(vAzYwnp*8pPs5m$afNi6HO_7@*jKL}mOJAhZZ5tcVpi16Fp53JNUW zPutaug?o^JB7~tRBqi{x1d%#j7kCPJ4Q$ zQ-Pxd{CG`T^!L9u@XPmx@YwSKS^6mvg~Hq3n8-!Nu6DKrqD`;`Xq}mRN01_J87d{Q*ue^-wPss+=3bk zFMv5HoF;RZJoPzCi~sqw=uiGU;GL;A@NDuDd? zNiT2KqFY1)j7A8ReFC;-uHwQ$>q78m0RV0!00_NL{e})A7jVAMxYECa$a;KI4d zcUF;SYs#Ri1hy6?>pqtw;wj#Xiy>KLPp2*obLG6?|N zLS`8quJBmFkF4*p0+eD&|6{Qh-{${Njlzms~}z#25msBk@EX99}5Yp)M6Rgg0CYyYLPeM;~Ei;dW_^nO5U5a!Ws zK7ZLk2us=tQo0}S{foeNB(c%E?+SR};Sk^XP*~pbniW>O9ZTET5(^hRr_UuoQ>J+i z*{F_CnHe2GeQy>c1l$}x;EiPfJm8El#WUH)6Gyl%bUHP41QO{d9cV)R)9VT8_uGH) zX!z7;9tuw++urNRu=8r_{+^~?;aXDm;Qn;IVD@Kc+oDKgrFRNf%pI7iq>OQX*e%)CM4gjUQy)0W} zC;~k^}PZsxQ8we<4 z09O3KQb0ocQkreQU$ckhY_o6O1Oqo~rdTtLeaQ$`p};Kw#8Mh05?D;5UF5Og)2Ze^ z{Ysh%r!3%SUl;J{)DV1q3J5W_9ge{+P(8V6<3O7hsQcxl0B#RQUBp)Y%P>cI6UabE zH)H+RRBWu5cn}RZ&l)_DXbg*=s{Vjd;;D_P4cHUIx4!bR@aThIOqB5Ba5XQ0=T1Uq zgr~$lO#+_Z=;E>VGjd6AR8sRgr#o6-FWZ7MIWcDI>gU2XL8wl&F_i=PYg>>}@XNO; z!MXtR@+yXd>tbCO3Rc8n{#wevGkPu7Mq-2j7&M8I?KMK5Iy9~SWeWuB&RTYs-jCRx zXIBt^>+7unV7Hb(6%P=KE%jQ)gzbG+96&_}?n+vI1eTq<0EV!6Dl;v{ zA}@Z+>G?81X#M*mtoG|i>qWF*gU9+6Hbmh1xU`s;w%!?WDZU{|BC4k?#P+$~OH_D+RL-j5;`Xp{u?HrlVGy^u zxLDq-F3F@DK5qdw;+t`}*7BH2)zRc-dc)qGhg3ht{#x4Mv!nR%I=GGOg3bV8dtOS3)U=)iR)DSyqEIs6C%-!3 zl4wZaF&??r23SP4*2*rECqU`#L_|;mhsAr?tzfm91Pb;uM&W&RfgW#BJ=nZ1I_K48 zMtY95Lc1GnB0pX$-S&mZpu0iuoM(Y=z0}l&R;bjOJV2=WlC^oaZPaDXLsDU|8nI?^ zzKoBPV7IhqhWItO5~9`|8ckCo6bn!|O;Z%Zae9!a?X7ZhGBUs)ir+6X8%N+|DJGH> z#)RX6M2D%xhVhsaI1YLHBtb^IZelHDY%@RfB_c(nnDJnC^@k2U=2JC9-qk&XYLdx` zZcy;S9;3bPq3?zZCiB(pi>UPDuJmu?(O|SyIcCi04g+nd<2%DO6rBUURYqOs49S53 z1e{qYk;+oC;$&I2Q!f8~4GRENm8&&dz-1C-g5yo1lLCb;ONP0K1q_h@u?$1MTh^)% zwbsJC&6$1t!}q5z({aksW^G@>93|d|N{|f*!{*x9#Ig%l5JWJ>CBFPv?Fl3c7NOt& zn$$o6dxA^d$44k2LYpwu5iN%~sSy>r)kuTPmC;T8A%e3c=33y*gcaSpPHAQ1@~ZQh1=8 zQ7*$+YKw%%u~LWG#>z6Lhl1QZZ+C$vScG@%@;!~W98&N8D|Ot6S?Pv@cjC9mM_#|7 zg!BEDGjh69Nv!+u$eeGkpzaus{AR+8!-q6g@oB(<>Y*0udh7G*Rt z2+$RLzBCinDU>vR;Zb+BhsdTl10Nn}f-nybDv-j<(}k=Nv1pvSNr&=!&e4`=9*(LW zSG0u#Erzl`^Gv-`TkZ<;A$?ABfp3-~WGS%Hwq<-;H6IW*OD(mUM1f&CyvtP^P4q3o zT*Ih!7wT-zd?Mwj4_dS^dlIpt@%D;{b&joLUReBavM0X-N6YQ*cW`C5ovZAT@^wcu z+a!?83=Beqbvc>Zp|K6#0ICyLp7=_h% zG~}%p^Gk2%9mQ0c$;JbtM3c^nQ=y1E=tG>{P$gfwRJshxPj$hJ;UCX}`t(y%1OOUB z6D+zg6^=>mF^Y{}5amgfkZjgZ7U-m&Z;mSBeJ#%vvWD^NE|T2Kn7RdWQt+^D{$;Kc zdC6>mpscVp?lb!W`m>ovC4cnu*GwFMw8?~woifiNunr-?0)uDoUB`mdrCQn!vyEXV zYzfe^-2I)XdANEr#raAWA^B>ZDZ8|m=%-;80wC6p47#xr)2Kjs2?l80+q@OTu8llv z7J?>`2$2UTPxIZq{1?`l=%1@Fti!0qb}56Zfq7`8kTA{_As-2JYd5{7$)ZO*y0UKrYEc^r5-TcBy_A%3 zH|lqVECk~7?|aVQYnq8#zbSH*Vs%0XBPd?J}Hi`js$ z0zX6GljNi!(pVx(K9{IPYZWiFX7`qym6i8WJp3#5ZQeB|@N;{@nKIJGUz359XBnrc zo~Nc-I@m{<3`~WGGxUnWJN+#(6`{eA4WtMu#@#6im@#K%xtmXd{gUKX)kc!B=8Rs? zZ(Y%|9-b&c!G+vA&=dVT@rSCcsu?veG82bG(i$`xMcdprl@53j4rCt$iYXq$VJ2oX zQ3E*js@@VuOxM?1R*Wc4TbsW!dOi%tyFYvtP>cF9iv3AK?~$vl8-65d;|AEu3a^i$ zneYnF=D-Bf+au;YfRd7WKeBKglJP2M#FoF$nUt!^Kn|kk=R3I5qoAO0;Z|RkP60+8 z0cyULpBSfynnpS8@3rX|d9@#GF`xsd7C(~Oa_QCvWs70nrN68sNwCEazUP%)$zr47 zRo+B*+fMz*VT@J{4Rhw}MJi=aqgU6ua3UA@N_Sp|=9Eilp+J%{4kGnxCRW}$liup; z6}&p@5OyS#;bteA+TuKjJ%W3*NqgklgYZ0P#EakxY8oZw&7_QTeBOZ{Zfn(HcumI2 znWA2k!V5^yzyU_ac@COmpUlXOI?7{YE6BCek(L{&c8VD(!;0L?sQResUKp?=5)Cth zND^{hY~0)dN9J$!E8@E70s7ybBFWn#x-Ugl6Zx)4g=p`g+<<1?Fm~kXP8THa8=VL; z?TEZQPb`RG!$uf{{1c@)M@+Ij95U-bqyc+5Xt)c+f+5MIW>2Ecz)+*$0p5gRGhrf+ z$Pu+XD;nYy*q>BQ{sT*lTqJ!OOsn6I8G2hrDqa98+D4TLd?_eJcfD!u7L1@3i&O`moZa64|AR9{wo<@rBaZCCen7D6&sk@vH$P9g*ensgSLa zca%mUqk1r#VT)+ZXh$SvapBfrZD*I4SId2&n9}LnlAL~HtYm%hj&U?B-;XH2qLES} zL*z@M<3?-RX#p@>?l#*9goh8-!m~CJAXOhA8M{h6$UIEXnr{|IlS*97yED&G##+OL zW*(i@_#2evz~t+O{@6zq9YkGnP)`rD@~$7Kg8h?DQ$RK4)R#~aw-ts%DJF2K&Ot2h zqEvx`z?NodUf9Bjf9eenWN11n;Sek8@1EhJM_R{64cfC^GW_;r6i+&QQskDRiwlfgG*e+V>_;JbMRLQ9*OTFGY8OzSjr~T)Bp1=XG`d+m z$z0c_QkKKV@mg5_c&YFgZCL)Rv3U%wl>2P_k3#@Vmlm|H10A^^46KQ)fLUM@1SU}g z1DSBLI1b@#**G>78qB{TBEp~R>_0YFY8z9uRlqFf7P~N5wO1il3a$M*o&AiRuC}GzEf`mL%W{ z!Fm%=&ip^{k~PR(FAMSBnr{d~<~uOg7R}-qPW(6$B9HVMKY^8^`DyF8f^M~PcE7RQ zNdE4#O9@}VD~3ZR#t)vGFmHkfeTXGqnQ;6t8F$l&;lCMja~?wt{CK%U=pNOckjoOm zdOZG?NeHaObD|kOSC7466mBeDh`%R1#JgcCOew>EUf%RK-5}4R7IDv%4J=2#g-*}= z`n~+e5A&8%?sJ*HW0*0I#-fp!>oI~+fIc$9;90ui3;+H>PU;CLdw}+FJ;MjQ2gJAy zf15PF8Z4eN`Ya!~TaDfc7xD)#(!}fyR-pP|B9?KCAMARUy2$EUF5mBYg&6fIgzWHe zXldcAz^1~uop&NbZ$KP;>_!3+jKlrA;+5F)uU4oGk$oNi;5(fX;Rm0Q3Z(67 zmj??pb!{6kuuMs{LNd4VQ#7_@=YCD2T)%{7TPordxfp~0<|f$R8{J^97kX@7S}n9=4ms-w$Ait> zZyWl-3;V$Eh6iF{_>C$yi}wOn-JjvY4boUm9bFC1)3p}^jGpb!!^SGefEZ7CJ<){N z%265am#fTJOj>JbntogDY3t##d;2NG5qv?G(K@qUMNB9l$ZrHza0*T-5}Av$R4k1u zV;t+L#=nup@CIA5q96v)*zs6?4`u!!c3oHBfkLBfnzt`VyRX9Ql+TEY6V2Dj)Q;2g zl#b&+sK*Ycf}qfIjWkucu52lfB_Ur+@9oc@WCb+C;Ct4HBYSV9_LT)HR6G?e^HQy( z@=#bFqiRY1%ksw%@9qdlYT zjV@B}X2&RbNB`VQqZY!ZOUP+2vT5u8}1NNsWpd9H!xj1qdj2? zQ52vYR6{B>yc=HQ{>sUzdz7^S8}P8O5b25(mBf&tKA%%*MjOlmbWFzWf)kN?F`dPd zp*C+kQ=iT~)dS!fJ9`pFpe1ekjVG5nlINpIKJ6uO@;K^z<>fUgI`IC>=B{wqol)a# zxZhQsU@0CFg;_Xj+#BZ;sl23Zq~kA)FKtJAkj%PO4eO+o6$zHI1ES;kP=--OtIF#p z1wgcNyIcBv8Jd*}jl7$#WzJ6aLg70cYr|jWUUc`wl1$o}tf&h3X`!K zY0KWcSeqdJi-Rajy2{f}XuCR~|Mi51DMe;TI`mFvD?K0&x5nTk8<+2Q=8EQ;DJhn~j(TV;Oot-dm+^&|NleW%`;lAis!Mtw1x%MuNe9R4AkXuFTTMG2u?yS7bk)~d8VUq=l}Iu zLe)JIe58W>y^hC|C+ZbQiiEGkg;cI))Dty0k_JKz9av$Xiwq!cNXGCsO^4~OQdfHqKu#bW5NM1 zuVI4m0mj-z(;UnEQm9X9R0NCCa|1x8MNG9mX`{Lazi)E3qRpi!Uv7Ghar}zLrTXW?rd$Sm(;(@!z!u1lAl+&jh1p1b^yV(L*?@!jvyzr1!C(92;>g`;4HmQ7 zN2+eX8A|}lNCuUmG=ej}>`Q2oJ1sIJ<~iQhSJq zm1ePw ztzY1jw+9zA&^?n>atL9J3d~q*c2Q>R*1!kti%{IE7nR9L7Zt(AL}h0xzxQ3`WQloL zrr_K(OS_2=j0?Q7r#(w?9 zj-hSIW6|#Q=_Bhw84bf%Do1ceuzyu_5J&Fp^qG-bFsZ|gLokulw)C;qxK@f0Z_$Ph za*X*nkG4FHz>OkWNxcHwoI>$?pUjV`XlpU-<9W)lH$TU`>^qp(phR(H)_X!AF7*dS zmC~Tgiz#sL0-`eVtra-J$$Uf-Wbw_Ap=j zF@?xVt-obif-0pN*@gz>`4o!hDRj)>k-k`>s^!chKPC&CP6XMbM18!X=y=mu*-Fjw zr!*!bEFgs@{9XFhw(eR`sEPMCxB)S>xtBcCCcF^|Q72FZ6k4cb!83E~DXzzd8mXIk zxeQ~bW?q>ARajOt9=Ve_pCK6d_m}5#Z78OPn{~x}@mG1X+;e{Ms!KTGL_9X$tD4T* z1Nx8XlQV-fh1V2Qz^YqO3Nn~JGM|v>#7@4&RUXXnmpaIW<@qBCk#}eMAhex(nYSHJ$(}4P$$MpY<~Vk4~7*)s;JOd z>OtUPnPB2!leqP94`&aPKJWF1IS#YN1O%*Qkuq88ZOsG7q@{W_x5jG}jzFIa{5{K zSgu_TfwOyB+@UiqIWGE0Taw-%NG?=NbaIx>Ou}z0EIoNxVAsg6+1}>R%GMzOSmR&+ zy1$6O>;%gW|I0E`zDrjl6XT|TBp2V8BCHD;?oec^KalV#4BvRqOAC` zmtH4Exi_9ZriNv%Sk@8aB6;q>VDuPWS%gcAGM%xd&mW``RVPx=@HJ2c6Yx=E&qvin zR(X<_vCnZ5811{s#1I7;*#i+%KfR0AH=(I`i`tvJv~7hC-b_Ivg9~aTf}YQOuiixI z^`7ZY&5%K1iT(r2WDhKAqUGec6o~P5VrygIhm%l_tsz6Ado$+D@emEu_%$AxEw~id zxpLU?&m$YQZ^CvcG8%5kmbX!nlc>3`I1IkC5cjlQXdsAHo^v^LjWH%LTsM?Gc9nUt zEp4&&U%pgi1l=-;09}ZiJ`1tG-gbG1D*HWmZiKgp2rS~v++Y&3tJ{L9)yB_~-vWP` zYY=$<^l#364(!mEo&XnczkIas0+d7gzEE=WzV@o&T=#cg^A#u*@||u$9z_$nncvE3%E}vDq(Np>GZEpA5Dj^6*Bfv&tFG$l4yE#bAfaIE|DaE?e`KHf!ma;6jw0YI85*bq_#2RM?-263@l!KU@TQ}o z(+h9RAq6Vepw!d~XHJO`E;_5LJG%RX-q8mvG&lA-KTr;ifNSqtbN%yoax*aiR85ab^q0J`mMPuv8XzdM?M0=CT2*&0qJf`+1{jg~2ga4;h(N9 zKsh5gbs_WF@l>Q|znnUEy>!!fL@Y^m(08ZqkI6CWESg7mniSLnaj0a>b;JX=Z7mP~ zV<0MDwPxl_M7|Lj^05_@m`8%KV3#Mia!68}k`%iMGV1E~FpZI?q&joTXgb09OvU}fGc<{fHbx9iHVT7IjeaBW9DFRnAAVm?amo$-W zM`n~w70=S+THqiQ8tsX+j-1%K`A-!z#2dF)o$yiXW8*X>8S_}vK1eNYfK9k$Uj2?e zQFI@Kb8V&uWH`S(%JJ!oi@Euxt)dC>P%^ngGQunPTP`n$pB1uIy+@`-^0NA2FS+&MT5cNa!-eloPJo zbU9lKJrqfQVDn@*c*E$Rj|^(fk%UDls(ME@r5xDM`<4^ajcOph{LFV(;#1fOMz#P< zUvSMYFW2aIC*gwi)d)i>(MeI@v;;g#Q*JcD+uQkH9Lz!G7>z zCnNO8FMEXtqY$WG9zz*PU)(#nq7rCVD6e2IpDg!#%%OiLly>Gm4;`_4ni2Y>r|x(O z`Td%^nbhpl*z%#k>U$yWPX@Zn-SB%Vw&Q03TzUn?8pvu7=B);+)ZDN~;rlKfi?jco zdrn3CkuAyW*?|XdUbI3*Mqq17kyVV{*`(V_%Wp!X?cm)}BTO7@o7cJ+tLjm2GH@d9 z=tVpZv4V_8)Ihy_I`QEzY+;qFC6VC#CZ*h;Q6o(j3p*Go7g*lxsf_I692ldf`cF`v z@a#n3Nq=ggV_O0Ik?Xt$HYV$BZGzi*fSSK(ohSTArX~rvbZuQH20qD;Kn36hnq6&^@5!cD`82_gE@n?D1rO^FHU^Yi^RXAvNd)~qLQ8r;9H>+Nb z{RlFRfxCR0>|n_-7>nm+5_U$g{E+2G`|d6xR@`y;GHODjg)Wv4N+UMO?6wV{z+d2N zjKWNaS|Qp|gVm94apLx>z*CLuHr)Jj@1NI-^Cp(($Y6I*_``y|SQb+g5@@esB$@fR zVN_KXHxT-6>TvKA|3YBznhB5 zMZTHjL(g)%597NL>GyXo0GegyfkGIp9t=91G2-JK1-gghiy!U|t*2esmd~c_A;TM< zU1+ZzUq3wNYd>Cl-fD=7xdMn~L;Kh9xdWNSu7AK;`R!5j&S2?a1`FvUUdtC8OcICG z7&x+jP+r49aish~N-wmoLrg@$v|)ZuaFMb)=8umzm$6fi)80AoO^j33OWQe^Qf=BF zW~MuG?G~w@HPL)Mxi*Y@i5)r?8}z1yow9umd_@!+Bk!WZKf*9BI>E>LMON#Sux)Vq zdNHpm#Pd_izgHUvd^4s0-bx9TFhCy0ejn~C0+xCGXS3kxD6($PQ?%2F7y~Qk9Q1Bs0Lp;Z`b{^k$zu%8z{&veQ-uB=$D#W6n?&&3;7p|Yq&(Daxl zL8Ok~jOUYp=B*x>4D-@{XgXkm6)=G}IrklOSGq6*9vmxvpZRMn+nTs1&XrqaIW~XW zG}^8&_5_)m;{xbUos3v_JyJjTdy6c&gE`Q}V$k`n&KG6xJ3a$LfhR+fmjG~4PJk&f zWR&HUjA5MmtEDExE%D=_x2Ckb4$jI zXZW^0@w0Go4z*up*nwG(C>Te_7PcH24VG9p2lXgFgqCCh-wv}zwfSQ=zY8vJN(E)r zmTOzGZAy;h07$6Rw{s6;ZeHN0omA{L!>GqA*yH+AcJa;?br&GR25`zZ{Sfut34)9J z)R*0F$sn%tu$_H*G8(LIpPZH`LL&e@ccwFc!9JlvOts0OHC`3GL$ItrM{V5LO zJF{SI{)9J$$Vm|`cF@WjzGCK941)qPLWjaoyO=Vn_N#Ycp)yv|y6Oq}`JV-p%kHc3 zo13wlC@-S+8FfDS95mMH<}BVGvne&S%zNx^ro*O_Z? zuz7|YGd^hjgzJ{hC$nc-bAS^=u>%FS`bjNf!3@um`$IPF$LMWdet`06!OXV~5=dC< z@BGlz3~&H3hXQJSq7pRrzr-ukP-1^5M-aCi2af4zq#Ao*hdgV@bYp_YD7~-qp>7_| zJHxq~INYb_B|YEYU6x6^U0f;0Ztq4fr@@%LZRPK-=BQH>?SQ7u|S`2 z9WpPA4lN1{^?zO2jEnf$VFyixf@gT9*U{siHlrL-^L_ZM&I9+H>)pu63_+nQS*NRH z;ewz8bK+;5>=}YS9kTIgACIT*R56SNubpSlR6dYF!?(MOwxM-mK!yL$*Mw4P>JczA z=u`-S+vk1jO;x7u{0SvWd%^&L!DIceiOql|kA-}PV-6Z35&`<}Gy4Zw7Hxh+3~-?F z#i@{Umc?+0M2-Ac_y`e9<_uIr)(RwTY4KHPrB(=D>q-3_GxcCtL}YT!@E6`zXU8@F zNVP3#oseL-{&8lk8L<;B==dS7jF4&NFLy&I>+@8H@CN8PZ&9kX9NBm5h#VhRh)gqiLrqpZ+LWm9g;0r}B8BeE zR_6QnVtD`db{Bml&eazJ9o!V}2P7?kQjM3vHShpM8Ar`mAl$<8daZ$p=TSOvS~f6p zmn=JNfhCrSVBqFsETc$xNQApd(Q(qnmYRB21CBE$hbn3_Jj7F)+pq@1d|2Z;!T-AR zK+IY$_1eS>34?e<%;s1b20#iW!P`cocvP7Mt!2o3f#eA>0Z2;>3MrLJl;EGIc(NK1 z>hL|}2EUcNc7uI8t|(5lvJWJmrwkuJHfoSWGzd9k{J{Il0AJ@{sNLs>n(;Nd-C2!+ zG1OX?@Peun({9S8+wZCbid3KZU`^IE1Qo+h5~H7HEMwDnX}Y#L)`B}7UjIOuIV!L2c~upO)i zB>3VsvAMmhDd73TKO4J3vcw5-+5xq(Cak5102K)vqCGGaj_XjRR!RO|^5)+dxHm9`cKe)z2yj=|LOJ$3Sr16+@#paCZY6me z$@OI1jU2sn(EN)bUtg2Lj=kYrweHo|Vin9Upzb!#$b$?N#++981EEj-eogB-0qH?6 zvrW%FDQQ2w$9g*f58UzRw``DuYw?Oy_bK4JEDYnzW&0@VM2?B*wWB!XAWMjwEnffH zDeJNA=Z3qGoK~U(2HrSzCEc#uu7b94vtv#x+rjof-?x(?@+3$3sS?pf?>h~o;cmBO zg+6>=y){7~L4mz7>IEW}efX3tZ~Xq~S&Q+Utu?Qx@y1R&CIE_Atm#NUssz8(nDxIr z;HYomk2Zl7d&jRS&|ERWSx^V~+9Ih(7fL}IM=Ov_2MzlP3&-fhs22P^yvIcXeKLdn zs6~53hx1+mFSo^oezJ0_-zZv2(t01m2#SgQWC-49$Pq+osT zNxzf64^zb+)6Rt9@Kw&=w|(^)?j3#t0sN#@vdsKN>kYfOUrWwsR8Vh%mraB?O;9O% zTdhU43DeN;@?hn0dY%wpHO%RATS-RD5<$dZ?j;fEy_e`|Ou?SnUQ~SW^{|F$Z0X6` zn|J!Q#o8O3YTw(S0-49zxu!(b)o>WNRsv9$6|8MBhE?(YaaCITX{?=cV|Al5tp+$O zd#g1uezL?EEVO?MH#fk~VJ&JCqS7VEC(&aZv`2qxal)*-8E=OQtm1e*m>%9Rrl(u@ zFrw5i+I|V^lQdL;6^-dZUJXD=6h)&s-N$=l6=507CFNONgW@Jx79;DoQUd$zexI~G6L zq5JdZv~^)wXJMJN*yNd`G9poF$U`jyEPxK6>JQwWntPbO@BwRhyk=FbO`RwL+G5Ru zPyTMTZ?+r`o&O0Y z;D0LoKdQXtw1Wb2Nus^v?nO-jpPP(?qIiv{VX&163p)S`mGYOeq7?EMf-j$^kY%LB zRRI9V&nzSW9`-Z2_gs7hd?TsrKV3We{NC(y_FX>!(v~ zk0dKrk?t~5m!1`u5T^`8fUg(-78)5OEY6rH92%N8?D>m;{3cu%D4n{l94o*m@A(gAn0g~;bPU|s(FMv-2!BD0nPr`6vZmHHgyLpmWZaG8JgXwb%k=D%O8uA|;ox1x++NkK^K&5XV z;J@(rEVsUYr(;s@JNo3m|M(1U88O)Ic^Z4VO}zphlCF_}M;@Qm*6+HXSR^1HXP#Cc zpJmqf+1AfK21)mq*9@*6c>^{cfd=dPXLlE8OtuE#e^(b4kH;R}-VdkLU3b%b+s%HU z021J#PU}eY#Sywm)=L3-#vHSOhV6X`k$#oz$Jw*`0eT~Kw9Mp-tunC^o7lOkEEZGPOJZFi#=%U;szKGexzuv?cIJnG}!of z59ld9+jrB2>7#bqH`uD%4Y+uGzU_|Qw2vh12EAO7ZqD@JeV~q*w|fX1_+^hp5U;x- z8;rR5KE-#VdETOb)b!Q~d_3RqeKKqXzW=(oLAABnHrQV3riK%}S#Bh2Qx2*Gc-nA+ zE{wsSin+nnTV16E+&(@}jRb6czrFHsB|Y?fJm<;f_Zk2VYJ2rkbFR1sOka5Hv>@LO z3Lb#gxnWUOKH^74awqvmg)V!sT7kWw*+&jzxT9E2^%j$*@3ubO!hAiruXZEfcR}BU zbFzVm!#5rA%dTLvZ0N}K=uAx*e*Xa;h`wK=_eF}3qP%i`Y#=6XZ-GI(7z8ov0mP3~~=_;TwTwN8Cs2TgH! z$3MdqpIcA5f1%Br^Zd+|*E74$x7zb-WXQum{0TVW5^Ii|Z@}psYt-dooHcMGIsM&0 z5TUp1q2~m5`Q~S0^=Ic)iS+8q=pBBfGdv6Io@26RQBunx7NR;Q-L5m(fQ#uJbhtWm>GFQ? z_WQ(CxMSQ-iw|F*Y+mJ4w>DpIygTV2k!K#X(>9@!Z)|&z-_C^vHXuA?h;YuW3SJo; zgnQAib)1|{kJZ1%m`MbXG02ep&QyoELPjfvfE&+U{p6vGmT(>8$6So<^V}yEo0{ow6w^sqHS@9MO%jOJC z=DpyLS0K=)3wDh|I~qfhfv&bzJ(O*3@R``8@n8inKR0TNB0fr%;S%rPqbI&9=cCfE zTOxM>B4EKb%;Xc5Ce}lDOzp#knmb5;`M^df=X0eH@IiP!_ssu%yOkvO#E#dI32B`2 z?rucuD!ZF}&Hr+}_3DLfo#1tP`e~Je55k{a@irV&HM@@xU(ar#XMyeP?}3eHKXXE(s68Q^ z!SB0I{|-D>9x54@YkGX|d3nQ&|QFXJthzRto9mmGe@qm_()U-4{Dflnwigb?(Z>4P%67*b zV*K^he@2G!p01bcO@?^cE_%4g{hsQR^4>eIx*r`5(HjVfT0ow>t43y?#QXIZ2-5H8 zGpGtBsPlyJY_TrnxmbW!l|aT5Dg1xEt?o1a`tMN3Y0ymzgMkqQNJPtwOZ7)bU`F_b zU(g%dGv1XEe2mULni8_pUrWHPcV`c6kAC~}E)qPM-WNI2|6Y79En6RVOcsAz4*#l2 zi~{Cu+q~lcH1ZTocDn-l=)Fl8(){zv9R~(Mg{e{+W6AJKqK~*a#VuC-;`WC+(wfbT z#$s6O229^5^?sC_L?;t|vFvM0ez`eMTAX4I$7VH?q-8Z$NwtP!#ZZCAQHKP)W_8VVDq%$$0GoQOrt=Y>xe^TgL?7ZH=n!%l~aKU&}PjWs(UK}?dF-R%KU%5Eaqd>%y&c+&V zCBH2ZcSY~>H0I!$Am_H<(g>bo%R>BcxZlW9Ok0|>4ug8MF>>T0L*y~L64vpdo?>+i z_)CbFs}|#8tFfI=m&r3@z0R@>Bm%J%tgjBiJGOv^6Ir>F3~G`=1{v)Dvne{B`Pc)Lqf_cn=cZ*^`k{%iR#Bf=q(; zjA3bR^wlDAjH}0l&7+?}5x|0rV-_(3@L-e!s_s1;aLOe`3T@ zeozNLTw>RUOh=sg&85fTL%-0lTLCqmpJI?3Yr}Y5xCOT#booWjQt}H?y)GNIc2$Jq z2Iz3~$aj9SP)56*w3wQBQ=m@6hd@=<&5$9g`nFL*jk90z-LEM{#glom zfOd5SCzZLjM0DUpSp#Wr6Gb}J@A50dwE3B6DMZ{7S6^rofHdaAU!_m_V(}zSaGFg* z-91Ksls0elCPFi%9&Ngbz=`PrE6cQg*$2tj5Kd2d5f}a%kgF^bvuP{JY#0a&K`RE1 z9$m;|{4?E09Lu#vDS~BT|4W{#6;mFznJJU#LQgGAM@URw_r$}e z;wi7ZFwjZXH-s=imjo~VI z>WD=eRUN0hf(FtETQ9)$ucqaM?g+E%O_&z~+P5siBC(+S?y)w$j^c?Uq@CIM`TM;E zRio>0LGJ!BVZTPrrRYYJK%`6M`|OzMe{^@ zhGHIXvP8N*zs4lUVhMEQ`V%c#-}Sdwl~sSzH#_EbyUUCBZzd#T-gkFBsw?KpT!UGK zq+R{U&eI%dd!yc_>3z@g|A|MU~VCJw8=5D@Z!sBf0H+Vnp#YP zqpia1&me~`%$)%m8vQ*h;p3FYziZN%i@!_9zkNC~?Y#r?sHNQ_GeyO6u8txdrr+Vy zWL8g)%%K0=u8FI0k^E|-qI~jVTaA;n|N6x9(e9O9>mM_&-88G(W!*pV?67ID&rK+e zq3?QP7QI_?J#o$0YOWFmaZ>)d2q5&y8a$1Hj)%zo~29vkWHCY~-)^0iI%w`hmW z6O`F`AHME@4rWs#99M3VAOE$f2j2VU`o4#KypRVrq$b35_sOeAY7c3vo^A&<5RkxaGW21-kp944LmQTg1o!! z_;q`E$he6n-T_TehY8lsl^JuE4!LMWdCUYcw&GM+#TZo%fnT#H{`tF<+AFFT@rcjQ z_`4o?s@ZtAJC`Z4XRJrO4KD2tm`5zBR8yR<0# zBI-r%d(9(+=kmY^CUVJoN~u!XGst_-`=hKy6ollJc7A}0jOT271mqgwC>N$P*V_!F ze;2_4j_`XmoJaP>p}h}P*R3E18FUH=aw7&U$o=Pc=lMncy^^vEcn@-?e(d(~*!OX7 zo#XZSyTYvSRzb<#a_rnyX?7;)4n@c?S;b}9jbG>C>OB&0owluB96mkpmi6H3Uo=?YW!z;`kXyRd|BB>Sx3vyslXnA_ zBOJ2rR$MnF;%KD^jh=1B^oO47n!2b7OW8mS_nco>1K(wA&MU*+lFAmpYbS{)Tb6AqU)%7qFuTX_a zF`zo!ckHSN+ag{$vBwfgT){heT>#|WTiO2Ex!HyAfaxb)C+RhN(*qAJ)pd9HLVY?r z3Y*}Z#Ya$U^kJ%fzz3Vua)8PGHoa~96lw5gH8nzcY<4Wm0xY(I`pSj5X{Vhyo@#@O z%4zSuZk1-?^IcG4`dTcfNv4HVNMfmrXstWfOSpee5cETJXHz;c3{j#)o`b!jmmuHR z2rNrs=ZT*Y2EGoC{#i(S1e0$!CIsS`%&yVfd)%~(^bIU;AiK9ob{QGjk8jEN!4zmc z?&7lW2T(=iTu(_b6`UJiFvsCb*<>u*gcN;Nzr+h+J^$+HBQtx-WcyoX`Mxr?&%lCNX?IMmz-PcP;k#uR#XnUdXNUVm6Zb5upI=KDwm1HF1C)~+L9!cVpBw~qSTKDx0}Dr5D$Gq?!K* zdO(H09F2wCMwJRwBTtImDTJ7{NW-=uMsq_w(6zyR?s{}H#&V|^!l2JLPg~b+T!K+i zpRlEMnGcNXI~nlo_T`3$>HFOw04>xChbEcUebTz%^T`X0Js%A=6&<^EYNZX(?1}?T zh@y-+*VK(hmur1u-6TzaFN-tL3x!2UnCC`J*@R%78)|w1!)Qt8#9Dh9^WB+xz1tJ{ zST(;H*W;2!X47j9-ce(WPDWAfW>J8vF>c>WF*tgFFbo}mUZ3*!kheA>cnR`3s^>+& zc6~G4zg`sSLyW^z(puCtOZ94h25g-O45@o$WeW_v^;19dKmNK$)qcPIdiwn5Kfk;5VwdwhS)QEMl^w=1!;<5| zUuEGx+3z%V9?jH)N3hR;m@$YuglO(*mN?yj4HbT)8H*e@D&)^o{)AyM(3cQ-k2syh z&hJ3@^B*X~di?%nFN6fySO{xAPGn+9H~mvL&oS$x%?$_6dHZ@5=(=yl3>LV;rAud3 z-#2d)7P{dJ z$?bef5+yi@QUI*yI6*etWd848uD92;+{vv4Zs$Qp6geH~&w^&*J!i4EXmQzeym1t- z7$Y01j{sF|!UKZlr0|oX`Pk5w@X&W#;LxoLCxK|qva62QM{#28n?F=~KpWfi&t@IJ zj~zuD^M4} zAB6;8X7Cw_OnbqmjKJGSp0^JPT|H zkx|A0CBae^BPB3QI1ehHUT?2_8w+gy0rz$8w{QRQtG7MiFMpbq0{E1Y{BAR#!_n_I zZvXTz?Qs9=mz$pd$s!#!jpPMB(wVEgXGn^WD~uErh!nZ%v+a&`Y@>r-*<6#a(m1oO zZJx5)WD)A}D&1_yMlr13;hB4E7JoVnjRbyf)g(npYMB-{*t`|gUBm@$k;QEIqd(3_ zS(=PrWK@yKg}P7-roTAt&Dh}zw~DW@BMd{f*VP&)oPBx^@ceXT{;njv@LM>4pBgCH z=?zCkkIu!1h949rd-&K7Ng1l|Le6KB4c8__(RCe6`6jZ-7H)A3A)Rw$r^Uu3={qno z5c-Hm3QXl*3>QgH&P*SNes}IDKq^Z*$|7F>Z4h5`JmZ{SQDHQS+okhHpafA<|E9;t zBzxlAYyrPlG~z*26sDKpKtbl79_q0jj*e-@rRQ9c8z|a?7|+Ri*XFz(CEilehJEe4 zjRjsWpZ)A-_OJicw(0-!?Ro#JPb)V7pEiB}oy~{W+lT!lwtxE1x5u|`M8ECYSZ++e zXt~C9eOA+JSnf*7m0r-=K%|?P`(CGE$;4I{7~L@43*5X0ZVO=>1xTYAX;63zDmxnF zq9)q#S*-2MS07dxjX7QO8J*1XyQM1J9cG+gVbCwN!)^5WcVDESe&=<5Ih+RhI0a4P ziJMcoL5W`OfXMi4n$BNMZ83_aYSg1MUI?Nj`uwJ7Nb@m(Nb-m(^`05?x#jI)|2%bb zY(vJW@5^wo!Pi*BbT7NIVpv4AV}4*d6HvN$zZ{!?QIWZsR#V>0aOV~T1@65MH|k;& zj{xm3#lN3sOQAd)m(d|u?I*N;zo&}H6u$!%5w3$e1GXwPR3%VF z0N)+YF_g8F>zq*eE zcE!L|0K8?UJ^}gvg6;3WX8ZdOdiI6q>qZXgx}G9MXOqsl`iZ3zSF2q4vT@EGK*Kf` zRSBaW0>*+{_xeS0%^2xtC6<@6xQdVb2@7l2b#5$Rxk*hZ$U(r$g-A8!UR(_pa2aic z`(K9XoGj=yv+I>h(E=VN%@!HOpJf;!=`6lUC+KN=%`8)!Zf?bts8vRO<2=IvRmz9i zYY?c~#un+I$m)itB*MCYw`rh`c`x)0xB?63HRFJbhaN%lhzFkqW}BQI0lf<(rck=y zi^??_HKQv>CNi{isGWRf51_xt>5dP4Atrf@VO&*{mC`(CdQqh3J~{4r%r@WH)W!OH z#_yPC9cVGER@x&S(X7DD4LB^U&BH+pQWR8kG-q0P1!-4}jntcBs{&qaHN>A-ml#L`fIj7f62|p_xa1$n_~2d!)1CC)Qx!z z^L0^rlg3$yI|s3?SNbL5*Lgq;YcHsV`OzXYam?y5t9=o2tHN%Bn{!3VMjc5$>ZPte z_UxO9$PtSiK-3GuQqD-@lH%423D~BfECtniH*w+1n7ZE45fc-dszKLQdUTzd1Aqxe zf;vD)tMlk?oaFfdJe(JKKq2nIuVbI8Qd6DzDAYt5qMhlZ$Ys&J^KlmQB$;Uy^g@yo z#m$ZpQ9LA%u54IM7$XHW{Yvp>j}woDP{oB;$JlpeG}dScAR9^$)uUB(*5PKpM?VKa zwky8@llfM2{r{r^Kn;+{T%DBY>h6+hc2#l=+B`F22K%Sk4@2QY;RrPPwyykfNvkHvy-Ai8GR2-6a0)}gwWI3CU)8F6^&|2Gh`5!VUH&`1~-Wnp$= zox*EpRQj;HhY`M-_<%2l@DJX>U?#u`dDL;oTsAno<6~ov-21NgK8qzZbDcv-=p51> z=0}($l%Oq3eQZbRUVxuJ0XUbgrWD zpBLLnvn;TO*@L$Sp-)47iA)F2+%ivewQO*PWznj?^gG^`+$CVgK zy@n_eXP6KK%k+o6DC*%>pdorUGpzLy(b>lgmd#SgtAlIudIJOAednF0D_{SO4H5oj z+kgMA?LYnTZR7vH-sU0zZ@ISr+qS>{>g};tbpOcq_^Ho6c=7VduJ5y3-kbc#L(^kH zSQeW8jmrgu9&1gVjB&C7Y}BeaIb#d2o|)6m>sh#^T4-A=Sb31xVw-XC-ail zoGgps@}OnfL}Vfw^^r_B^Sdu5N~X+VFHYIzvu9ofAJ}ONq4g{$UD5B2a^;>SQ#=ZD+sn>)D@OZMpU$pTf7|- z^=hmfk5L5rtHI1}_(Y6&S|ZVFLp5L%XcxAoLpUAxH@o=$-d5iLyv3XU*KJ?_q3!D*abE1tpS@VO4|8EeybefO+3fD`Nw&E3Tag8vu-CfM zJo=kf_o{84g>x9>*KB^=3X@p4&EAj*)=#F1W@?s0BAe=fR z+3KXqq8KDYij^!ZUbIP?na=&V#-e9UGTm#SZ{)Or!4MT-I(irqKJ^KpNx_PHU#rqi zV|~xnSfvmeE_Fvot=Z|_ti8=y_7iiUBHxNY|T_qplnqi zXaS5m0#n&x?u(R0M8_DalIZ82*@D2k_jGoopKnVnoS+@!yey6?ang;Sq~LT8JdsHu zWDYwfX}TcilNm&WLJmdGicqwOXMPA@zIwrJGTh#O|NZ5-Hh=TBk9PC_GA=ugKO1K(>O}*x+tlsmSEb8EP+SmyhPUMf&1hFtR zG7_J5ow3THFs(y61()t&l9=LvB}Ksp(*d%Or|5yX@AZ7Aw zc#>Q?b8D1!d;c#RFJS++og1**3BTID=XY;=%P)M}iU7Q&oBw~jJ-+$bHtXN1R8KZz zpJiFZyFBy6V+J5LrQM0E1+zQlP2y4Czecl--5B^CredjxC6v}mh#Nw&u7_-^P5k{6 zFI$JGwh)O>o=5s}3ec=eB2_)Lq6pMzbWWVd#Xuwmnf7JVYA5uvg0(=!fE zV;hYbrpOH&BP|`tsu$^=`M*a=VIpkjbteZwT^}Fi*lX?qS|zrfpWjK^Y?8b zAt=cR=Y%9CoM)9erR$dH)CWm!DXTu3MgS{XTAkk@#FaLY06HsqSa1%C0>n|v42Tai z3>M>nL8@DO2$`)O9c-VLAqx54>E_H|m5ygN?^-ihW z>QLiy>acH%$CxSWVo0$^-HXVRbI`jG2BnCa3P>$68Zbs8ScTpulTE8;&*7CFE8WK!wg8?8N#({5pe zmAYgPBcgDeMCuu%h;j!jZ^*U!Vw+vJt(tux>L|G;E62449w{+9ulJ1<*f!%JzW3gH zueUws>Gt!#Zu|3B9-M&oNiPEM7IpqVVf*?&*}nd!moHzg8}h&GKK{0G>5O>70uH)$ zndgp(*?^FPwmlfDNw#qoboGaK8&}TU+Gd-a4F^~@7dJ5(758G%y>7=DAZm~g!?V9R zWDkYkTDtF5Xy3zye00*3;FgPhx``F|S_+AqrL1=W#bdzcvKT3hiy|mOOezHJOek_U zxXx%RytGN@3tktD7>=w-@v2d>AZ{kS-i}-E10TmYyTI!_xR!rX34XTmGg9C~m+=Afk z_PSHfU6@Cit#o6~lgy+@F9OQN3u{rNDWT8m?f#4uLuA}Js^*eyVyP|kO3O>IVnm8i zqHqJw|Guc72_!hH_$@d;!fe0OJJtL#+N}uK69(UV@7+B=VDCzPG458vpLh#lyd|6e z-@X0y_ivA{eEH%9w^-tBmsD>n@6S8Kqs}|Z-P6%Uh_d=@CVI&7LH9@$pDNN`( ze1?3*1Z5(L(wW{Y?zGuP=K0-9#z~fYEdcucz65LBw7wy2YR85OWXM28Kw5P0Xmw=s zVBtZRPkO{J#Rm0^KL#`H?&M$$B&Ec~Va5*|UpgT&+$L4dmyT40Fg%Ns){%0yY+Hvj*Jw0-l?}l7M-hYF3!1=?!HYdE$EE%798{}9ESJ)#Nxr` z!SY^G71TH(cs7fO2F1eJKDp7U^MMO<78ji~n6}{3hL26XO*ZQ4m192s%|}0wHGoOv z1!@jO`dQ@kz$~M46Q=q6FHOj~J+w-YB5*!#oqgUDZxrOXGvu9+nXan^Fg0h|N5ZdP zz2s-V?6doSc(FZx_4a(f{*%rL_(Z1x%FO>iylwt3U+wXa$L8O>K;R*pW#NzHlrh}*C+R9JJS0l#m2%YYRz zH*@Qxwp$EIU7_uoLhcenqYPG$einx|6ry5U=oWJ#h0`lvvZwI%q`Q_8w!Yyh(4#5= zC)7#mUQ1WR=-TA`P&)dSrh7>CxDzq^ZKxgw7JZDtpf3_plmaT5Hi#k?ArR6;!G3MP za{^9m@kv6I2LYOEC5@4mCvVgtFa=l74~cpO)F%9WK&vir#%rq zm+S8j#-#7^vxqZ>jB6P%BF`I|F_5KfIEeWxyB$$^K8?yvrM~{}zQDVrY_Rh&EbVn; zSFZz`Yle5CIimUbr34l=mDhNpw5W}wV`|ns}YzIp}tc8_}IuvCoj7iKUSgF=5Vx2rl8=sm~U&bPG%gXL=@R{(uZ`7jYoW zxrTiX8lI$ufW$_dlyMe2+iIemsTgJsh9NU4xdLfG(8NH-oOJ1nj6bdRAdVkOZmV}3yGj5s)M+OYMHaR@-do^GW8reso2#Lp0(k{O&>j~74XD?vHFj; z!lQ7KAI00n$%ZV#Y)qf8aF=c}@^vq+*7ra2{@FzT^V@6v_dbb1LZ3tgU}yWkw?i=d z=D(fvO|$v>4*OH&TRPjNONz$A${?i-)0@Bzq9SB5c_~?>baIfbuV@qRc!bY+g@Y3k z^9BK(;MV80k-~Q?jTTiPxLMHv2t+e(o3lt4;W_iS^SwO4lFx+z^iGY<*wB>`cEIPy z>#(`#1O)M=!awixeIlA18yK7u5AD9$3KZHTk~QIX*g2)i34K(dNpypyub%M({h;v~ z5T-x(^PZ}acx905HlT1Iq@=ppqm~qGtTYbf6*{0-l+siQkuB_a1D+>j0a4r z+o4t(ZkbB$2{aNpLW*!5Euulmcwiq{siG(*PaeA*_UX5OTNG*K#Ku?cjiXQpt+0S) zASh}A0^p0+{qGgl4!u0z9^bzI z+p`Zoc>NSlaD%Wq+m=IuBNn`5B-s%j_t{RU2cu)jpV4b0el`IW$R?={U`>cz%n5B5 zkc*SwF}A?515^D4)Y1|TT@Ra6>73}DUP^r^i~M~9T0$?sINzY(M3m5!SUf12U$mB! zeMe*Dc83=vE=7WczH~TGVaVKQPc^cg3Q;zc#eGPxG*!%YoF5XHos@K>}+fgyezzH~Db zGa0<4d;|_zF9Xd-XdcAFSBZRjFHmzIqzJTLX+8dr;~GPvYa9guCQz21QAY+e(J?p% z!n5EkO|XraVqHU|3hloy3$y({Ke?gJZP`rbUT=T>mTmm};}2fiUIZ*x0r15k{p~0B zhi@I>Pv0)7?VP{fK8Sa)S7dBCD-~A03h)i?3fQR??@RA=4MNX(@|{ICW`Go^J-q!J zOoFJKeTH0Vl+D69=v*6}9}j&pO6u5voz3DnnZeUFX&pD+;e2RaNhhccQXo!$^p#W9 zA30s=Y$iC)M9iE!0n(+N8Ot&jd38aY(JsR$J!a`TI4s7vqq$m$_fW8U1O?U85 z^pno}Iv9bN5F426E-Fc^6%I)YJ7he}7>vy$JP%a-*)u^_&ZUrAloUhE(4At276xY} zyg=AFL9``~bOL2=`YHv4o+Gsh4_~VRHehVd6Hf^*!4hR1=2kN#m3p6GAU~iwU$RIM zS=Lo0I*p7!a}ciYA~fAajri!D|5$#2{Crhj8koc$z`0`UpL{da2r zkKG>s>Gt@>t@7Ib37zpzi6E_nq-LZy*L=2`G!|LfBRY1G@Re5Vf=hwWqj$x?2PiYQ zB2hel=BAtrO|;;4>p@Jh-1Kl{qlcFbIi6^;4-f47JbQ71o6&agY;Pf9^4ux=aE&i znrVI*qX_GmQ6+-K{7)=prVE}*#_4p4h!`& zFU7Ye&s96H<|_w`5bKDdD@R!Dz$XPRG%zX@Ml4FuN_*fKd0OE}v{tYim@B1@40Bw< zL=M`VWHMnM`6k;rL#pl1Py5Yjo$hTRs)0=VlZ4ES^en%JE*CAor?L1*m%Zb-mR`Sl z-QNG~d*|o=pKbs4&uvA(2cHDDz~z%b`a2fiAKC7V|8IQp;^pq@as&P;K|OqsYpw)3 z7_(a>AUr#3^o?30VnHQGRTB#{kU6&XQRHLHB%AxZC(B;taU{m3A4yg`80Pnld99nK z=z7O~#bL3TGsguz4q44x46p}`-jFsaFth|dWDI;0;+Te$#U3+vMmOATZJV>p-6T{( zNJ@dn;@_a}4Fx%%@JHyMAL8d5%xi!_z9&;|7rc^W@N0KO&h_2`y#ljTme}~uYZJpo zt#{rfaEkVtdBC`1M#>_Gt!|)0 zg@qSLjUse7##nhPn%_f_A6Hbw#*niP_LQuiydgwfu%S$<(29wk-p^=LB|;Wx`#9j) z7oPJ5Nw@Y-Y@g#VKfdGXH3InFTm0@?|M#|&`Wv@@`pQ?Y_9?)+EYhmNBH?I+EtB)u zjWj-F=;929y`;;OT60K9SM4l8PENv5k4-!}3AyEAT|UKtMHgERCXKJ}6Xtk#N0UIH zF+y8x3;;F4I3z&Tw2#9Wrj78KGoQd0GTQu`LOMg33vo8TooryPNA`KE_Gr2p(mB8* zEQgvfrb4%|I(8dqC}}7l)@1LOmLq$t+LaNRza`X}yX86Ret7(VJWp&deZ+2C-3LWa#;oslUnS z#d#4+Y>MZuwKmR3dP+KM8reHICe%ERJ_Ui9d3iu7TaK>LJwzya`R0|In7+C_Q5fN(?T&djizl{= zdrBHsb2u;g5XPdROwgGe?K6TzboDmdbWA`Q;K^Rc#K{HJ9?)1@ZjjQAO0wG%44|ja zi4jw3)79Wf7f`DF4W=OAnW<28@bnNT>7dS!Zb7(`2_Dh?-(y39%DiNhK_PG2tXLHl zh7h;`62#qdmTsq=zNNfbJa4mTV)J7O6~?OFpcwCTSsf*jlOE3sv1B!fT<<-=3?_AV zudpqgyB8`#XPKk4;7|pG7-OiP0Tcxh=NUChHVY6S!jM9R!e)d`-4Hw9#>~S8EO47y zE6>7^4VRCeSJcv6#o{*1p08l6f5>OklpLA<|L);+?nDxNZ9IT8F9I<_shTLSfqT9} zi28|;O-cvC365k9l75O{=RWL#bGvq7^9a~cfFHP%)VJULgAU#rE)Kxoe8A5>_y7I7 z?tiPWxC7q{o&ZE5-cZ+Zzo6V`KmPf6~s5msZnTuZN z#$y>rkj$03*{cr*)6;@1_g>nSPcs}CiIpEA&i1{(W81_2#ht&ly}#EN0`NWG{J(PB@&4WIpMJn*^Ls1ZcIf}~ zlcrViaJWciErczsee0t_cd%4C!8%Qsem)-rejH&Z9L`_#BI0zW8|HK}8))lvzUytt z;Zt8c%SGZCY-cJt5CT&(2}yMeoU!&>30tuS-<;izPaWsVGdao-o4;*NeH1m5M=AH<&O2!VhoTiW zpmog*S)u0{jEGeA3m727kZuNk(=1ll5Gd7l-~YpkAyeZa-D8>=<-FRM;m38o&JYnF zotaq-o!Y196Iw<8`gjKkHek+*RG*6Ovf0YLjT~$vA`a1HEV;Th_r!{M@G*w(M;6Ft zJ1zl7Y%O>(wHk4$DNHsw2!Hari#AXvdup_{9GksFuy^Tk9ffKx3RGgvA*p6oh=rf4 zvQN6;Pt#RrW@l2(?XU95)2BNr@ab`_|GaH4`&s+u|8X4!EFW{|{~NYf_|5wlJHO&4 z_dCrtidz(8(ZeVdY=cFWOtm&A@faMH@c9UU>GCxUGM&$-#mMqpq(l}5!U%2J8L-98 zRJIJ5%WP{7Rgqz2qcd?d2`_3sgi~uGu=>e&cT$}b!#vJ!9oRaDn!q`}Ql(Yim(+sH zcL@<>bq<3uG)`HTm;})B6-4&LYG9+j31iIRDQsA1{s+n^u8Dbr4NuWtQwUAns#aMJ zgSy-eYt;QWp-^SbBiBPsC4$`zLx_n9GlRL;Va(&b>KCcY9AiZQJ}m_i-Hsd|VNL_qWG4Y+wG{ z+vCeV|M@Sx-exR7VRE8MzL3mo1R+j(U$)}ZMKQZEc@3Q1YOZLqNRTzrZa`$t#Oc~- zsQ)y~RSm3*&U`~~!0lCREANjiz%KN}i3v(=EIR)Y(uq<)fZjq#}cR44)2<%n6&EyCeWBgwFJcsQem} zaxMahW?8`uruGC*jr8zM9tM%n&uF(Ez$9~kDQX|^?t1tmH1Q*F>LDj4FEkdc$sLne$w`ulZB_J+HS-aIWCZ0b z2y36=`AMGaa++UzEE#2{KR#HWRa*2b2Nz^i_A%2nJNNr%8XAH@l4>wg<>{GjWJffqMA>L*=@`mfsh-jRh+X)LtBBYt)3XM5V zeg&dtC^68Z8tq7Oa20wJ6t%~C`<~^7;JjX6@iU)&fB&z4emlQEf7{!B-^Yy)@NrcE zeAV{&^8JgKuU;Okf69XD4aCaK_#T2=w2A3E6(*%=&^0~Et+?R2{E5QgY{B8_Aq`0> zqe}kZ?0(ht8gx}1%Ld;;eqdRKZ75|niB=M`7>@Bxfacavv(pPr4pU{r@cnN_;yDqR z#xN>!Pf$tf5|FKQ1505-6c0qYx1x6TBN0prlW=h&b5rFsoBT8zQa3vtgPtsRlYy3e zTDLh>DHjAH59O8=tm?szsyrd5QtzGfJvt8%%$QjjdV}GZOInTVIVlW^7~DyGCbsEEamn z$;liD_RSv+g@jq-F&=>WY?i7y9RB39;gReY=lkSpjImSY__z)BB;SNqg>@7ZCFeUf zD>G>u1zW~b+elI)pLMK>a7Q$7D)}puDEH%HU)50PHVWQ6>z_Z{!-0Ot_V~7~!Tszt z0{HNhzi-+8`rqwylV{JK^XX>wi=~AJwP(h|^iz*aQ}h9`X+=c=)yFaxBm~jUwJq>b z1ii@U%<#+)7mH#O&jDto>GregV=vGagH#uRBOPMx8RR01(t-my=!=DDs;e9*3>nUD zA;m%@G3uO_)5R)^r{;bDKG}n97%<;|Q6mVmI^vjuXAx!~`8mrtXLMDoXO){EZT09@ z_ZhOzbx4_H(#Ct8RdGqRukL@braH*Vx*E z@Xkjd0Q51Vcz;|)m{lM02&8Q%So_wFubOYo&6qPBw?88L!P7EEMaC~>WK%^)U8Xxa%Ks)e(A>@DFSU*RyoNvk7=%`gaCRyk9n z^^9zkwz8b)cpqs~X!SnjOS@J_NfvWWKX z8-<4IamZBPiQHN!_TE+)ND^8F`2*ixA196s9i|J~v=NTj{#7i4r zLk*)~G2~e$%nYa!8Suh;9jqs00s@?)qv#r|%Oc!I%eg0*6_Yf?qcAGz1p|wXlQc#q z$(T`(y^*u?M>V^Ek)^wQ5$-s-7Xcd=;F$8_Tfg%=zw@gORRFF6pw9lkZu{%6*#B+w z`oBT{12Kllk5b=_4%4^7>>L%}M6?}*y|W_KO$VH)3<9d{w!C7*fiMTs{@`9guA>V( z8@UCI69|_R_qX2R1oS$>Z-k+$#z<_{!q!MXayv6jc4ZTR-U##sypw3)l7md}gLV@E zRc3&UY+ELQ8^%fSm`}}d(6qcZlq9w&DQS%UHO2JC0(LkVo8xdsJjqY=64O13IK38C zVPVN`px7eIwWZy;SzbqWgN0M&ebkK9YOaf6j>DFYY|f@v*GDg`M8ZcIq_J5ft4sJ~ zR@@F{3H*{Pd=|P&p*wLhX6+jMb8>f-t0BdBx_?>-w2|9ZQTVhdDkhP$$}?({@k=OR zdY}(j$QW)(uJ^=JP=`0M!tgMu5PfWNkc{dN${I@J`fx^zii)t+TozT&pdy6OLZ6Ca zz~jeDMht5MB1)j!wIE8Yu#4-Cn5rBp9H;FU?}Wh3!)6}^{5_xh+~QUs$Nl=8)#-ae6o?bZvg)LfC7A;2Fb|X#eThnTeTxU0~C!kJ@5XuS;z*Wj(5rlQIaLf zsBG?Qk6!qtNLKs^Zs%?>z+M^dJ&OV?R=MU-2e*ml1aiV8l@VnCbaHDPhj2=ZzgDOH z3WJ?4L`J9sI2}SI0Z@H4Tx5Vmp(NL$lNrrms>%GnRl90tZbmDgg~9f0j?ihWa1$bC ztGQGay+`?M&5Ka&$|n^IvjLoNDtz5K3;o5DASK^r#H1_RMy-@t=r&JoqX3?J?a$es z_iH{bvcQki2;iHx6Z=#4FJ8QSx!&@Y)v_s)zI49iumD|a3LUUYM!AV@YmiW%GXf@? zLD*dCvH~O8i6^(DYr%*mC|NDKxclv}7KbrP=t#*Rh=jUfoWefqhs>8dn^I&-gKObl z0FY3m(WItg05wA$8GsZqoEoER!)}VJ7c9gnap@sxFHR2S^$hYCTdrohfyn-6e!a-Z z+q3IWAA4lRPk5o~FIX8)ZLGR!w#tH!*%XlBKHim#5kt61GMTb!XDu+SNE7+MX1l=N z99a_Caao5546~RC*FrBolNHLf4}p2zBnsv7Q?&+UEubh1z=Z=oSr>8#y(JEVj*A zyL98C(CoXN7t_Uwb5{r_XOpZUed z`C2~J1;7FQ?~Z?8vz?4TwEfc${osS=+`9ioVV@I9M)L)jn1tY%K@LsVTmzrniO)hj z=qYH8k(36D@QE4Qn17$)BF-*^-ETmZC=X}4S|nKR0Da!qOvCCvf6%~|5EG8nK$ zK;{QA5$d!?@669dZ6)pOoN_89wJGt?1Ci9u$P0yavb#V=KWgOU2n(I;CbPu;GYEqr zk!n%lT$JFjW}yofk|T?n#zIdxs+KpQnFMf^Nl7`A;#LivR{dc)_p=;&PRLUZwW3XI zruv+otTHMXJ+)QxTYOgP`=1@VrMPkR@eWWnqhZ!X86UK;>pkRSbhQZ@y%-gjPm`*l zg%+U|(kMfgY|^-xKBn1M-)wBu$r|iLOH=A{HAZ_q_8XRa;~bMQtjTrV($|@L7h4VA z(r~NfTv%sh*WVa#`G(Dq++jkJbYyf~D1ST13u<#6B%!d6g+{)BQZF=7=eUtA}L9_`gy@*#w2f4IkrYSHOf^i49av(Sk zZdWS^LKClb%r|ADS2EEJSh`suZ|OQNnFbCntTr?CcxHs^5#C7&(RU26LmiL+G3g2r z8IxGzm?#a@aZDpDu8#?ud0IhH*N*44i^8nSInbYDWgyx8Bgq~^8N)wm!zJ3?Md|ozL;Page z@MYWQ^GzRzJ$U(2`~C0Q$nE6(mhGS3dG>tk{+9)Auc_9cwL2j-m`A+Y)Fmz)uV4vJ zG=%`u&W5u^Rij1q!dpET`+V**kqW7p$0%GZjjnYF)SSf#`@JX<1r}S)Zm$V-HVpfn zQ>Ade>oo$BnARtP1}M_dwd9nXggCFzFcbGVr0bBE^X$)`heRbOvI;^HA`u-0EbPUc)u>mA%918*?65pG+vc_&=W8*NSQy?$wz(h^ zMEJMpScriPrxT`FE-xN3$rflyp7W4h1y@wMdwP&k$isWk4q)cRwTQ0)Po#L+#``j- zMpVo3bOyZ}LAfazXM{_%Vv`GKPJxivCTW;ChIDc1dP6KL%BLeIk;g9Qd0eap&O#5m z-kDmYRcFd%E(vln>Kar8%6Lj4yHsfL7D$>AR^<#-V*wPqN)&0-h)t!fL~#AJc5Vl|d!4!2 zX~>K2vLZ3l9C-zsXu>yoX1Og8Xi4qpv-n%a<-{ySieREmHY3e#=M*7Im&&;!4aP3F znpu&fHVB#Hb7vvZYKV;4Vrxc$khc)oyxsSJCnrK8nHfrlPO4;^8Uv#QP=u?dv-FF3 zKWd26u>98PxW@Im{WVn*nz9QZ6a{Un^P_3c9Tqpi6CnDUK&=>s%PNt~`dP6}V$?aJ zuw}$*&Z2P7jcyhc_w@Pt2v+X`vc@`_P+;7ANGH$caoQ~%6?@~cmS#)~uJc{2N}w&9 z1tS&KBP%KU$JXWEk?s2^_{<6TTiB1;BQKe$)2HH*B`a8zu6|(h{ES zE^;$66b&|;am(2CtK+6$jtT*0%?;VW1^g`{=<2S;oRP)652MsJS@}8ZTFGJ<+$M8H zbJNR;yLhLM4!wo>1?ByErOHCb9i+kPkU^d$UmH@{I<`qci3((VBf`WkfnU{_$RiKZ+K`CesYAzj6v%ggU9R!e81^fOZ2Y zRQ06t(U{4c&9hIA*L@TL=c4v&w}1ONUrH2U`BK9FNAlm@^7rLSLWy!Q=Sy=t3rm5@ zqSleH22|#!Xqz=QHwK+P*^jOZ39HgWWmHS5(YT%M?1tW<(N?seO$cqY6g3sqq)7;b zCGMK)R`R-Sch>k&AehbW8=mH-fG-XRuK^^IoXATXA2Qm6BvnjGP^~#nguWJ zR#p;JOT-}<&zO{Fv#+#6XqacH)2yi5%q%XXoWmm^GfYOdKyG@@VbMU#nKA9@tDc?! zjXrn|T|JYdB+V z-M&{XXor(vVH*tokvNdT@;j185L^lhdYM=U>xRuq!{X?X{{AsKt#}CCgFwlAaPJ4F z0g6p_YMXSlle2ufP?QJP6k?b~CCZA2`a{7?=7Q)rkM2GQH-HHfu@;{yZ4HSS&aiLp z;~nflL3iF8fBctnFJ8V>oBwuv#rE~@-2Um?U%%cHl%70U77Pgq@A=B$#H>e|^~c4# zhSY})4RmJK&==OB(@j=A)3UwzpQFf1WIQ3!#VxwZd3=pp0Jjnm42vX%JMvjHF(n!A z%n6W?l$Io+^vkCi8kro?mRp!>A?X{XuF*ZXrqRM%&M+HH((DrQynng+!Ve)5PG+#2 zSfaZw+X)Ii>mj%scx0b+!l}0T>gT|s7dZ)#?A?Q+Q8MqwI&ny>K`9;|9hm~F>$KZU zZLV1W%p6D>Oq@+IOddN%*+k$8t1dE6R;3GE?6!q6)5q)k%Hl#{?>Ej$^5inVf`*`lJB zVOE+OBfIRWPImfrvCg#YLYibOlqcVck%RzqT9IheV9ANpjHkDF1m`%pm4oAPyP=Vl z$iz&gS>O-hBMmni8s*C%w&u7k#jqmPf;+Tneih(~km3;^I5HWM*rO33%OKE6wa8K4 z)GXf6M-+o_PwiCVBGD$i1Bs?C@J`4BV}xun$uR>OcU&j{%#g|S_@|w{TSPD7cQBBl zrHoLK!9J^x$O33@6DqDLNe~SUA2dS9{EFOwnanF6V_`yBZfQ1ls$(#d#7b;6eT^`G z5lr}x5m%nChPM&)ll{H#?trhi^YgQ}|L{+LseA#xlm);K-yR>FEBd%75Df6pRmv>0 z>#gOY15(;jo%2R#u5qF$a81*hqXkb)W6Fm`Cgf{Fs%hL@cko-H&Q*VKNnw)(e~@8f zx9Z*1>hY*XRPy<_<_Rc^-*LoI*l3(B)zTF(Vo+HZC89PL5>6rYYAl2_DX^@7WD`7M zRJhw4^_6H52=#WDjDilb8hfaakoL6uqI8d|bkdx#- z##5gl`z-LrYeZ{i^r;{Lit*3ix&8GIZjT?bStRewe~USz&M1wvGBb#w70Pb# z6U@x+iSP29Zf8rkxojb(Qa3P6IL8#|-qO1=x|9>$ygA(qjLmRf4;Hb71<8O{EjYV` zX1y;;%MtK{;?l?KSMcjb@DEk(Jm^wDe`$i;=aF~#t4Pnul>pGcgMy@+KC02F5hDk>;>3Ewn z)?**U%#ePTO4wXQVx(G18fHs`YnG>=VU{#w70X?U&!d)&Fnk=MP=P6Rf`kS{$G03g z9h~uygX5=K^6C%ZoiR#A#H{hX|F<=4Y~Vz*uw8BzkOVUrqZNG|UMjXeiXTZIJ&Xls zah1Fo91pUw#H`z-Qi#!K^Fub(48Sr#Y1!yL-bG=r0;RrQ2W zlG)tQiW%^DSooM^76fCZ4}3-DF~?Q$q1IVVZa&?N@3{yt!gE6E%)e9m@eH0nc^VXW zTsDeTQ5X44^f|}R!1Dz%dNo|~xYCVRGTvBL@0Fs=;6SWkp)Fw_acY^Fl0T2ab(KM6 zVMrhpEl;6P{oKt^EqPgK^od+iO|mRGvUOu1Cs0*H$QDRCAqxdcr$NIsGVhvq($vim z&B?l_G6Qyhx~!9?6_sHKCiDK5L`-^N$SSw1w!{)>V|<1T3>GV3ip_Z{As}+va80a+ z-E<=`wh|5O%^1Ul-Q~p4mrJ z@GwCjrCL2@t7KJV^#);WiZm}DeDI9h=KuBEU;o~>9s$@14yX0uc9MSX{%;%kZ@VV% zt45#NPaMnof{B=U67D2cy1)wKSOkVXr$o(aK*q40Y;Q6%EY_AIu%kVWpA^#%azZcb zFfpVU*-7wC_%2hTBVKRHvo?XW(rQyl5plisfVM46dvV*Pe%;pv*FqnAh`vR0! z-a$tL#^)sxdfSAwhdUD&`$i6DGMMj#Wt2J;uH6M8p5!j?8go%)sLdltiL@(&{YOf{ zlF`vE#wQWbYzdXaw_qS!op}ziv4QtnRS8hj+LA5a4q}_h)uuWMM!=JkywGZmzxHBi zscS{>UWz<6iJEY2c?-8l8Ub;P9W^pIvl}|mm)a7*lNsqsn^8z|kN}~soDkVvvi(^p z>hgIQqQd!z%VWITgz=0aF*V*xh4Ig>-aqYO`V^La;cN=S_z^`eOnq{kla)dJWw}@S zCqo1Wt4(FX!viD&yji&qmab}u&rx`-TG>i)))s5;rbbnFHz zkwWNxLnZgyr0Dceo%4MV(G8VY>o1OwW#5vwyT} zwuom=oDRoy)JQ%girs6IV5dHBZO*igO3^$Q9HyVe8CGHXl6u zeRgYl?jR?r?A0fqm`LAIX4pn(OH~0DbI`Pmg<{LgDW_apUKi>d?`=8W>*`Uw5OOBe z=~5LPX6iFB1E2&uJraz?Y#SEZ)52!FCgqv1Q8kxotOc~7{l$H+(%$NK0-bIG6H-$8 z8%#WLOA{m4W)PRjI)XHJM3ZgP5&;>=z=Yx#*3}${CY!m8QVT#e%gV(P%^LwB^rZw_ zRX=`19Nr3;SwX>#!D3|X64LWp=&`W3wQpOwp1geVdjGxu`1T+F^!E7K$Myc?Z6*P} z+IRqeZETpsden`1#=Wyrlb{fs4Tb_vYCAD;A;Zb5rFAL$@93^ua1C-yxqQ}4|9&N+ zph)?aG1dlhKbHBh>wlGm2GP>O;&OeCZA2OR#s`4~AOSsUG0N!PkZ4Qf)BxUH1Cf(Z z79lD80JBk6laG6*i8KGjII9>U4j$ai0lfkR<4*IpS&cmh-d8OIea-_Ri^{@8+ z%>^JSMeG)*5~Sofsrswa((6>lm;UlFZVXHkN{)EznpT7;45BLS*HA6B4Rw=^rRGfx z@}CDi$~;}oal|6FJKD*HjpKT^nCsB*H}lG%c~w{x^ZC6?Bnqbet4hIS%%ZWrMpRYT zQl_n6lj3`zGvj`5V)cDm`qBfgShE(W#$O^+9y}_vDs$2iW^hj2)xQKYt6zY9uzcj> z(TvopQpjHDcjKh+;yh7?)ss@I)tWYAGHzmblIj1x1}dURX-5l7`X;-3VpHFXb98kh zsV*A<@Fh1M!0v?m4aaEw<`eK%6#$3!e;bQ(H~sk?+v983UHjjjV00_!HokTN8?(RK z*cKRv!9OpykQ_57Gli-7^!K}L31|wnq0);%f-7q9NQBWC^H&)1kQ-Av7Nor}^ z!u3p|qo@zVg3Y`V!jQ}eGns%E=!e2)R9o7*eh{pNIY@W@v>1)gpR-t$7LlE3W%76y z3p4>>4OJ3{J7^a$i#Kk`k#KXGKFBi8;k{VskUX0?8^U-X`Z=$**i>Vduxca=p|0h% z4JDGHFvNRduGY(R4~QbG)Ud4<8f%qf8C_oY1&>cIJPbq^y0pXF0tJv6rZ#YYiV_%w zmTuooFetISlixx$DPWy&-ClqZ?U6{Xi?iU~Jir#HATh3vL7L4mSg_ zUdSwq#BC?LUW3#!EX;E&G}y-yAtk-EWUjdWX^cd>LDv|AdJHn0R#2>ieawL7=mt)o(jaM~yYDc4b2Wh(B*8n8^240veU*4*1|*nzXC-eIHn8P$BbB@!4{eYz zO%HAT2VqdMsXG{CD!7xm&94C=pUHe#0~c2BBs68Mnd@4!Oo0|=Asr1tbk0x-CChx% zybqY(=xwS!kNjRKw$d@Kg`QfWVOXc*3~5;VIe0punNCY*Lf~YTAJR;1npwb(^NiXR zOnfCuRT(5O7Dqp1T&0dS=w!fw=CQ;h8&e-6(weqeRhcVh$#Xmle=UMmtL{mdDo5x3 zfXDD^nqWuY%+l5+3ny|q#nZ@09z-B7UO}J~+9>`kL%CI@Dm}hE*Ez9KM$!0bKv_6n zgHx%eUvCo!M^%@f_sjw>+D9?;WWAH*e$n>de#;S(x4caSz_GsJf8O5QpSVlbSB}b^ zG3S!GQEX;?Tri8DO$m#3R2q*7Wy!0#Oe<+t27M{KSPVj{u@Fx?9t_L@YJ}39JdztZ zWPxLPk%uLxzBjG)^*6v2xpJ9yx7GZ*8x#+$@_LRuJc&w%_09(wN zld&v*3`~q7teR(m^{nP6E^8D23$qQTSyOvhQ4}J2Kf)2BHqo#TqS&!A1u4+fHJBlM zQM5G{DI+l%_b|*DT3#+Hn`6l8lvK!)5rRW$po!!&wb#5GMoX|H#CujamM)hpvQVG8 z&?Ie*^;L}e7DjOF1X(cLj$yINES)z4gomYsS~iKM_noFsB1^s(JsyJ9#{;a9+4g&x z>&1+&^oa0uOdFzdd)K|9`)}ut1%cN02a1O5QR{^>?eA5^|E%ov|jW| zb*0VQP*ek&d??;*Y(9^&4P!ZON@pNLk_H>YBuTRX+OY6Vdp5LI^suBm8>kOoN$TU_ z?#8I9nPjeJkgA?gLX*f)^X-G&1F)KquvrRYGuHn^FKvQB_VGq0BX*+aaECek7e=PI z5!*rvno4w&Qc{~{)$>!Vq^YrFPS&$~A>w`MWL5o+u5M{{K5nlV>`~EBxg|AYUgy%s z$bm4wd-KkqqZ!@M#_X3>A~^ivNgw-|p;Ph}I$11o4~Q}jLkrt(kJ}FlV&?xQ*;A+`CGV&N)Qr#~)26+_C<mk~6FK}nO@ z5)p1^C#5l#yGo=iiu$RM=pkXS)P%BXrf{@;oF=A1J(Sh9jA)jZ&4WDK#qdSWb z61e%1DKFScP6b5k-dG#-ypo{qb>>b8AMdOYdmIwCp-@=E;?^NhH^$;ny4)S5hK;bv z;-u4p5~kWDR4Ii23Oy51ds7^}-2>x9#SpQyr}b?M$ImgRca4TcZJ&h`89pQ&MKoHm zyVm=Gh2!u1roxFy;etzK3W*J^=4Xt84>6aft4Si`KsiYrX746qp2)`Z+c-^);O`Np z)7Ksg3$dG~4F*h-IKuUB!JUj5N zOGWW1SMTf-rp7^DD)z0$=y$FJgoUo8t$uT^^Q;9X8A;`Y_8Iwt>V?KE_gy*#AiNG( z=Xv$hQTqr_t0c>&Z5>3*;1hSpYoKX@|LuP`DvZc7!ihfwGWck=t0kuKOY> zo)N&5q$`3F|D2jD3OtE2%$m$@HM{QtwI(Cw95jWo4-0DQC1lU4|77}N;W1MwG>rA_QROn^FUj5>< znHh(P&Z%LQxuFru9iQ+<^ghE!L5|o510q;uJW7cXWCd>&+eEySs&#<4F zkpD4(Y}dMZDXZO#CK0aWEYZ^m1rwo*>!VS)Zv%rhu8Z;EmS;P3c8Fm5VzpFCj7@Kh zkl1AOP<$HT7A^2NsUCRb(hKSA2PqaNsR+W|Z9WWVZntXntK%Yd>l}`GCo&l8j)!oH z=f!ZEG;3J+2Jacp;?84U_G+#}i`H&QMJbMlK{7-uYK(eMRFkLCiL)^1$NO$`_}2jK799-n*ldf#lGdRkX&J-+c|v(|t+gj*i1y;vX%5X0Gtt%clk z5U5s~2E8Rj3`rB5Ne&pUQ)g8PL}2bjp&t%?N+d!S8=OU21dTk(|Gwoe%Rn~T12m-t ziLSYR)yOn?({PXq!$zegsk{eX!FkkZ^RzY!>}}kP&T7UW#0i>&!pa-y&Hyhc8SD`Q ztuP@bEIdIkNyM0e^|NUyGlR{Nsay+Y4IplW4KK`-A*_cIfUSt z4HuOLn}utUH8rpm$Np%s+Jp}i83qvkz-^I*W+XIIidckpBzl_9RRZkLgip&(V~IZ z>O&+URsFpzlW?WuU-pP#Ii7t~egMlyr2l_+Lva4}?Vp}(8~kfs%Li$O(FH`I2v{g- z?=DxFb8Bi^Y%)t$qm)c(V45Pph9WsiiXqSL*k*5hU=`eo{jfSYS}Rj0jzSIlMrQUk6{|# zYB_SA8?gmtYi21V6}!3UrQs`E4PyZ;oTl6FBCUcah!9*A3n8;1{w&SsFZ;U3%sm{l()>o`s6kvSM> z7zRCh6^OKX6tlujU`D}DB!LgY&fElTFC>=zl0En1U$E_+|LC@NzWQRz0Y5SyfUUrJ zagRQH=}TZR`}@58B-zl3sg!PL6}B#^+3e$jg3Ws;QKcCE@Mx`SZZfs5$iY&|moZ^6 zqh&C?%}_|>JQzVl&EUQD2%XS5?(9ONxDnD&j|!>5T-uNmMg-xIt7*b%{Tyc*z(yL% zPXgi!##XJLSEhc^UrYB)??jzuS?tX0@bf)k+<@!Nw_cE_Nv4D$8>b5+wLpRe4GqN< z&3tJMOWCulal4QRH(@n3F~!lkmW_z5O%mx;zrBjaz7@rRLgY|Xg*BI*vvkK86r13a-WMZyi-Oe1XWK|c`VT|U8lF3~Iw}r37LcchWJ4(|craY&8 zHvo6E%t0E?5p2Sf!jfT=uD%s?)kmi^JM|M0_QHgBqAAlRoso6nfkr0!I=bOkyFY$w zKWh8(7rv!dz??u^6n@SsTb%~qj1#$*3$~1vs#T3Jk-PgAVg{FGX87dOU?5J_WQ-S6 zuz;AiaYFH@g!H7N;Mjc7a>`dp#psHBm7{1EL1Q+JP?)vLRG1zut>8{*<zob(}<~ zqif@3v$f&8l!eH2y^I@opMD2mbhruklIAR5L@hnG}bn{(Kv>-gb0e2~@gcR`(5NVF4 zuC>UB*W#hg0v=+a9YiH$zN^hrJ$=ROETRiz=mnT7_9WgUTnP8#>V&SCx$xP+p=Jtb zH7)Qg;NJAUSfkJ;{OYU0N-5M634mGWB6P1lIzVyMtIC2l96x8C9h|#s zBE~X|2xU>X8z-XMIAfq`kd2^SQyiYnc0=tsVi=0W2o330L1gH^2MmJ+Ry&Ed_Sav0*#B0|u6lWc5&{v1I_fM15AdLyXL@pzr9=-YlO?l>oNXAbIIGy1 z-H6x!C|#2d0nz9D4zcNZKr>HUMtrKw=`bM)!VG3qBa2v|A;nBM*wMKZO_dFdS#l(v zQM}w+*?yhnE#bgHPHd*lKRc-I_-7Vy=c2Tj#{i4jAL?Q+jAC) z+u-oN3l@2^nJ+X?RETG0FWM0;m20x_UCf+FtaT|JpApSwwsdSI@T8|#HV^wTWepig zb|@xIy(5CB_O&qU0wd6d%|dkyX`nLNtIC1xh!c&)VzIGE<$GuhHAENQP0PAeab}_< znE_~)WXW&@9b*%XGj{(3WURA}j1)aGK#_vBG&iLRr34P6Gqu@8Lh=-nUMUofj`*0D zV7UmR067iWbj|S=jvbxl#Bw!JMm^WmWX{vmMHBtZ^T0VBmJp5>sKiVotTJU9az_NI zco{wwDoH)}{cZ1jdJq8li5>y$=|`&!~V3+WoglTv`{Me6MjUii>>4nP%_PDU4`Wp2pP%J>Z~RA#3~Zg z!UPdHLj5<0&wmiC5FCSw68Z-3p&%CGJs|9oXvSj7Lqsxw5zy4`wV9mA42Ia8I{}e3 zn%}@ERQ2bLkAYM{)N7Oy|4Nu{@IYTweu|Ph{jjivHplFwP)h{BgouZ9W77~W`heAP zxkq76eZSfq>zInIPy({=}W zPto(x&zTCVB?+@x)Vy7{YFsB?D8nZt z6Gn|w_GH^9_pg5D_WHhKx6%J%Is$$a9Dp4Pcx`%Y^>Sa2?bme5`e6;SRQmQ)T_XV_ z19rEr&Y-QbE23I!wlnsWv))lQ7>31cnDc6P-wfg!3j>NrufwP8-9z=_CWl3wUVIS0 z|B(~k++tPP>EYeq`q%)L&IhpywgN(shm1Au@VD>*v`BFM?Wls8Gf#8AL#va#EN=9C zEum)M#63>D-p%dLC4a>?;p|k6#3k0!IroLn=Mm;6YlmOgAelk|eKC!) zb!|O9qe&5?*F6)u9HTSi=0HY9K$$1AC6~jaav5kJ4W(+uH^60%gA0N3WUypU|4hP# z7CtZT_sW{Fa}!*fVYP1$s1*mZ-jc{7C<`Ua+MFx1 z!68{UM5Yr}v$3JAg%io~xi2hr=IaO%s?SRwQ5HT$j(mmtgVZ3Rc=|VSk}Q@L7CL5e zgr-93tLUoB<3J$%^S=85Jbm)y^>LoR;;o4TzAZF23V_a0- z3wD9$YcTRpS{MnjisWD>MYM&{2##oGwu4MPV)`@C2w)^5R+-hnC~T^nFN7-jl_WfW zzdH8tF_I&2^o`5bl_26y$w;i~f{6#mof{<$iLM#YrYdc*8DzE@!X~VIjxZc1mm+vX zQ*>0%J>cX^v>1gtVOyK6W`%YusfQF9IK?aBY|o*IjoPd!qCi%XblO2E@`5_L_WRx| zSKC)G)`rs&aL)sHo2-B>txs9s2%B1zO#(8vu|x=)ZKp*>%BkIk6k_(_^i&|{T$;p1 zOMB{@qxwM0jk|Ilu+nC{1t_v$`0B87J-NUb@dci zJ=3tmGvgaMsp)GbJ0&S`5t+{UJgWxugoBwyCZkOh3C&r=O`OEYGT!h&lSq&4`u#Rl zi|`;KF^VVeoMJ)m+zku_$DaQF%XK1Q-M*T%ge`L#qMW~fwdcP7?nUR4auY2|(o!Bk z#>v7>pJ3=%T(7!`v+H|>0EmJ-n0}pJ+Rd1H*8GCSZ$JwpDCtw|xSQqIHwiF-+sOKrl5rIHb|T1xB{gGib*5755ppp`N2ks3@PJ`PvZ3q zoHU(k8wE7?lCmgT%NMyaiaUxfkP zjRSCx25xVK6JViC>>tj8A^~!t6$%+g4J?L3z-iV2>yY7*dB^iF#rrEW;hP%EOiZXJ ziS?oaK;bmp%qY={_O(sqSESFq(-|zwVSO$Nk%rETm75qHj)(E(>6zDB1gUJ1%}Fy; zT>?5(?RxeRl2XD$CS3t0_&lOxLeepVxjkIs7;{!kvl#T*mWILvUXz%5nxN6cY}8W$ zLF814Tj6tY@H@bqVfwrfn91wz-3r#=r|L%6izS$BDenQ6gaQO9D@a_eO_UGrVPUU? z0on^05SASP;fjctgV`83<*ei=sL7AH7n&`m0DG<|@aR}LLI6B)`*hg9m12>-FfSUI zj#4ZhI;A)rMEwBNLVW^L!>+rv&B4pn@hi0{K8tLu!e@d7fhi5%xCkhdff_w5ntAhL zInI$4z4U-3N;bslYf$B>uy)JWG1~oVtBly28<3-s?m@ctdw&EQsrN~izn+^RX_4ex z;REn;j2zL6Q!{y>8^AD38mNIILO`)-YJ_4oxRlW z%VE01NY*U@5>tlLU}1-?{q2KWWE8?^_Ye!z$w{!T-Rx5#F|73lMXN|=LS1N;$Tac+ zFi$g_x|X4F_2$wR<+810nG^;lCcPT4Ad;t%Z~GY4EI>(gYi2ma$<0ccTQbU9gm)tP z^+W5Xle{%yxcBtC<0;pen=A40|L5*qgLPZ;s=oi2YoC3tefmbz*sUa}(Re`-N?ECjng|9Z9V~BUgz^Rjh-qvaI#fUkQCn!iwn4cx z2;FpZIek0#v-e(Wj?DLc=X{#$5vcHUXGR8RR@Imeq3_9iIwb{Kt)je$+QrDiUz%ML;uaEuGABEHbr2*wk3K@3+4tblp{pV$t&|=`HPnT_jQUlTip;$) zzZ7*t;L8B%QbLrMzF^2J1?GHb+6ov@D4eo#_fT{eu3+e5E)iNrUyB^uFOB$7Lp~*? z6Xm2rlVrpWiSkVOh8|5&irD*jyioZ}7OTEa9>sB~SnuSV(IKL!V)j)LLx_C& zc$R>Eb67!?Q9`|#La!?NPfLpRJX=PtgJ@}*{qq>1yTAX)wD;g0fk~;D^ce9o96^>@ zfQ#Egrf`UGNyNCl;?WqtZ&Mb;Fm_DiS$*h7F$_Jx!E@6T?3J@fF<_2nZuI`aKPTWs`E zmY_8qTiSkJ6ylhSnGg9c93cx6Z@?O+jIX2#Hf~)tdJ>rl7dh?BF>u$_d(4O_>s=KO zYvI8wSC7AbUTK0Ka;$wHr(R*ham!9tgJIgpT0b)ja7lqt?^LY-!L%BPYrQO*xCR?d zw<94g4IkOUyaWA!?YrucrdO60=&5HSn6iD}5pmlO?v89_988+g9(;dF`56MGQlzUs zGdsd8K}VT7h{{nUO;liW71j`xWX=fWlG(?vS-_P&x7MolB9)k`+@TzJ6Akv~nE|g! z-?;kOF@TguoDC;=REb5_NrSD8bPPQMky$vIJAe>Y(^e!ge>Q>^CSx?trg~3{tO}cL z7}kWP3a#=XmtYD8Tg_M?G>>H5h19HI?P~L@y96R6f{>5XVZO=WLQ{unyjjq z#m}+WcY!dLO~o`v*Ur!hWa)a~^}F<6&lSMwdwcfuH&<5+2OtaeqQ;nB<+K#*C`h-_ ztjRssaW+ScB{GUuM&v_u5GoYHkgEiPeebr>H{yZSAlmW_894}Ps&mLVt4%qm(}e^1 z>r(vQ?XQw;tp$?Wiu&%Hx8i0orX6q+5Ht{E2}_vejATsHf;p`Lqs#IR4P zgwa6;T*@zb6;0D5sgrz_jMW0?eN`){=@{R`B?evNMYqqIMvFsZn-idP$ZYAn1h5zG zL&VX7arBVn|6!xb5grw^&+F^;&J+Nr|GBnZ@&PRYMhlzmr4@`a2G?5n$|+yKDpKtR z&^+jj*i@S?lvj(eiZcAAa7wuCu_nsaOcjT+<2l*`E-xqKGvOHE(neKsfvo-T%jtrK z?{wq)Z5*I$nkg?n3@inou()c$XKAeugTk3JDv2{=s zX7`H$i3=MuyO@f=SRv7iBg7!hU@97a+;TwHCd4saXOQAlc*RhgSIysvmSsQb>}?qy z(?7LIf(ha&VR~SG5lL~hsKaQIBCerKYpr8$2$Z1eKhrju1WbGeA@Uu7EixuHA!=iV zn@AAZip@q#@Jyz0P1hrb)~4GF^$dln8k;)<6d@jml)_1Lfjs6k#zGHQQf+CU&r<(B znWhQ*(FvHkVxa56uD`H#vp6o6*KrE)dSn4$sQ)nEMIH*=l_JWZZ)SD$*s5b3`hvBK zI8erkZ%lN?7-8)d-h#;p1_x?V65SX+S-Fr2vDr~5QG5CpVG_W`Yp3}YIj@)v+H<7# zt$hOwS1-~S><4WQQ-Wm;YY`opQFiNoz+>nHCwpFdsbCi!vWuJq&7dKmXX@qL^>d2S zo1{GN7dLL1NYE!Na4rRvsz#1mMkrQzt-=UyKv-d@Ug8O;smEQj!bv_V+s%hBT~DrY zn4z*d{xqO^?*uK8PDFz>BO^LYrA>2==l?(|D@&jxr((d*b~~@}^+oq%=2ppj2Qd+P zVz_9#h1Z3ANdqNN3`7$v@YZ8xAz@z_E&i>$T@6|V-REn>ZwiU&0Xx_$$jGtr;cCrY zNU94kTPd?MhmjlsE#5i0g%k@fm#{NnIHw9~%)0`XWDV<~JvGF#*JS2HBQIv6M4X34 zUxefvloRTtfTh`Mef@09BD}t9fY&b$SUbT?_J%_v`iPW+WeMV|Js%$MOzA~MOLWW3 zs1^=!i!H(?X=oH)L3FFLWg!JKS`mk7u$7arg&7s;8TP$<4l7>lL;Kj69@HWuwXy)D zF?P?d^#AlK{4=oZjbrh*!o;!CCtBf|8<1L}yqWxI9Fp`qXz(^xZErk|Q z&BVwMmkvTfFY2J7TjZDpoKxT|sv@0FPu^t!Ez#L25JC)-kr88|PQ!?wwie`?D<(?y7_0;T1hEr;aO zUSS#vQ$6^w-@EGqx)_LR6|*jk26CCfi2STs>_A-vEljh#!?hHQTm^d31Bni;3h|#N zj~%Mu)e|sbp(Kk11Qk8q zl~PQ*|HHN#35?L4yh5wavIN>?MtTs^?1wgFXYO2&RuDAXtV5>q{WGE@M|-D1g&-s9 zdcpAON}*xHSkmjwbAKUzt~3m#eD)+Ifc}4itfyx0mk`ZIF`tVJebjnMkLG6Aq|cD#70`|UND;b9NE*lu7RU9?>Aa?ryP(38kX zw?j6gfW^a|APP%2i*ak+g6P#mLDY!A^lSk)!XoHeT^s}%eL@@#6p9rL;L)gbnhy{@ zBesdbG89D!8dnXLD~@r$!jC0AJV-B*-hIgpwNBtnQh33twe%g2(WZ3D>m)lIm2;R= zSJW0SDyUj1bVOKp;6%x=!X<&SAdr|0&~c&EqFps7#(gKNBaY_asThUNCg<%OL8jQnvnTuJWuMTE6uO$E z_@zBqg}J>;#!$|pi9a2uy?T11WUH8M6DneigvWBcI+F}a+3D}jf+N{ZQPvvFaomeb zY7mZTm`nqXkeqq(IBISRF-L*;_3i%9%$XWRh^B#n1bX$=kRs$A8}30x7*<1a_dts` zJqIc#i+6Md(DyBf3t$~Gu$AKKTy*IY;vRw^W=kik$d%ORksuQ>r7d!azO62{`(cq&REj+*Z#Q0-6hZ_Wj5QXVg6z^ zJa%#M;S5^!v*u))B75%TSP0tZ;ulp1_0T4toQ|KB{z=nWl;t2{a4K;kL_MCfMOY;o zy=)L7W3Q`I17luN@Lwv2j?6+y&%lW;XhK*t{e!6-(ixFR`9n{DNY3CqNN%7--l++I z@Z@(^z5-|zGkH{CKnAv426B+pG{#7ZGu18TNO;&zQf+H4NbK+tv``d^A74bD9fhgs zWO^_#G!WE;Iu1#8u*_{3F{~5GR-2HtV_z;7AG3SrJ1WFBOuATy66UG8#Y|Tn$ zxrUB#uwbj`u!oI6EM;;igxzb{lbiCGgB{Dd9SxZY8`g1&wK!!NQTOe`NI6q%bPq7; zKp>Qc%|K#-cYil)o-Yt%&pN#POf)P^Tt`a-yzI=NFr68UX$EmW>`drFHHNs7>Yauc z%R8Pyo7i^#B)8iHABBq}&tACWpaJ(OX27Dfb{Qf>Tl@#?$SM z(!l75@GL~=kzT?mvFcK8?Zv7TT@z-?rW$k+LD3B-PKFFCe&z|;_^WHf@0C@N^c$K4Wb~fF?#1DD}MjeH5?;e$3ytV z8dK}IkJC8lnjjWGjJfPB=tm=ZVQGD5n`5M^=BRMBvOB!ck%VSRj)F4fa6c?|wpsX& z>L?WZ8b3RTpe@B+J>)1BAE?3pXBV?}%39Q@^8@|&AupcL9yMem7OE9PIvR9W zBK!2ltgD!6ZJ_5)6!a}|RAn?14aBl*3RZouO0-1g3Dl9l2R8d-hThDyK7_$L$@9(W zp_$3xl1GfxQ$4$NijdL6?4fAp%U5@R9HfU61qv%_6DlWgG5~QkBN{FVaJh3U07hpf zzIyZ(Qrei*%f>GZ| z50e08Kh{U#h=U@zavoFK3lB_q_ahI8gHE}`62~}PbTXQ;E$z@>eT4$abl?Q%$ze1Y zcu&v{Z;t*K`2J6WIJ}(xVT1YsIC0uT!KssCJ`DQr+fZd zme3=>$J;i&@#3>HL~DrUMK)h$1Y!@j8pxq@1D2o5eS(=fMh2gmlNlmqB#+OQvC!1| zF6uRbbgq9T#nT)hnJ1yoi^Y+P8;Uj2W86s*AgwKAT;4~x4j3T~&;wzW)F6yPwNQ1t zXdH1Fu#HdMQ@wh(W_j2dR-;iwCEo|ei(S?U9AS0l?MJI%mr0BsCvSbPsCBY(dB~RT z=?w<|Qaw_+J0AiXvubpwKyn6qzrQ#rPvJWp1{Hbk-G{x;4x+<9gPPPlB`Jsm#ufjB z4f-Vq~IDix~|96;1V7 zOM8Y;j(5Z?t!S&^dsEf+B0qc29Z*sp2mEU%@8FLav ztHD1*enTO&Ml)L}ov~m6QhmDR%JL2gHwdSUNpvlyQ$N+^SYl$R+Nq`dzOOba2F8LM zhE^7=HlWK{J4;|Xgi+*cfkaBwZ2A`$g6EXbCYOTur4mV^iO|bGxd0WY;LHuITbe%% zG4K9UB_$}Rj)|{KwpfYwx_c`C9gTZLW#_-!*k2yn8Mq^X98KUdq;<^G=O}sZ$AxV^ z&jCw$xd~}jy-ri(vJB7!GY=p{t^26C1+~zjMNnqDqK5~41jF7ccB#W}*qk0g z3WQtPAVND>fh3~iuvB7ateU{OsXpTQ9pdbd^pj1N0UCy0moutu373$z{Lr~<*H>gyfny5oY618bEBfs#XR zggv?N>FeXBlGf2Zj^w=6r1X{}a0VO|CHtTeS)7>@lYyn2mNwX#4q?^0#@$I%ubU7L z(p8`Y4@>vP8z^Iult5Y}CpmXK5RT0yCLux;@fcm7!E#z6Ow~MQ7*zQrBs1h0l*&@K zgd$Ia`+yWJN!Q8f!| z5W%Ud4Y;XY{C-`O&8P|lmsmtXwgG@nt zEfO=}QtX0In3+McN2K@zv>2pKGtFEODDYN}um=p;dtn+9FAWwYXP)Mn;E=iEni`ny z+&@5kC%3rvY0Y-M*8*|4Hlv zCVGdh_Ca8XFXo^!^b7vzS{9A`g-iU85o4pCSzZ7nk`%Y*h}R_K=U~BWF`#0@L8+k@ zJ^Q)Js9F5ZzNdy9)(F+FPmkJ*4H%cZhD(a($N;*YVAWhay7wA6y*WCk{pYf>d+1d& zuo8oC(k^4A=^;dW=mNkz^p<-|-GBVCx>^+TJFaV+YlORVCjm@tH;alYP+T^XC~YRB z5~g|=y}pg3(E?%m=UxIZvQR2IqFIH;P=|mNW9xyoR)&U5>S>$&43D^!^tw0 z2<1)*nL~j(%4Pt^x|5*-xosH;fd3hCnV~pvKp3RJeu*#LCVDPPmr2yJOp(SY5Qkxf z3q!$MDg<0rq`CA-K!$P=7gx#geJ+5pk`x_nZ$9GeZ%Km~v|Hqu)pFD}tAqcRrJ)D z5Hv?tD-3IrIL8vKEF7^fcvyp7%cYt*=VrsyeK_D;zG3XFP8YfO#7cV{a5w8Io*VT? z{`mLTKl||YRtPNTf7XfDh>>QQ!hfV`j{J39FSRZaPZ)h>$b-SHt(Q@rX> zK**un$HK6Q2W7v9MgZ&wS${x}S88dZEvyIP5`w}k3rpd^0F-1du?t>5SZ#@Xcj?F6GWRtsmB_s>5z-@(Zid1{PC;$ zoB#I@)nEDgAFB6$&lC0FVYNwskt;FRnpj$3jn+=eDh^iU(UTubQv4F46oD{MM#Jgd z$K_ILNZI}CT?B3eg!ow0*Io2zLW#?S?|AMOkA)rZ-?CGNtfkJyCJv-**Y>ndmjQ}7 zQsW9^mV%AtI5>rn6Pqftl0w!ARJX?Q950KxM0l(YFRio<#9{t;4Pv9%-+D^u5-y+P z5m=z~Jb(CYbs(tnwEe-rXgp8UAfuQ??bAnY06m+c=`)Vv0PqiT&EothEZ}Yubxg=4 z6}Zjeuoq6yDfee3NZcI}AOq1@dUV0sE+NJt_G_$Jlr4@lz+s2Cr2AH=bT#a^D2jiN zPDLCB`vJbEx`AN>luHz1J?l(;1c?qi)k{TD5#R>ryW=RRPAss|tnYEJyIPmc0=D!T z%q1g%nig0U2*TQu^A54x)cRmx|mT%qrKyXX9-9gC&kW3 zrvIGQv1ZOYsrv1sL+Iny_9PQ#g{mR-5UsGf{OsVmg#$Qc9emiXGsc#}C}5_Yp}pw$ z?l1MpPd%vr`Hy{|KJS;mp+5Z6H}#(Pt@YUb(-Z*heW)Q-5koo-ExH-K!(07PhH`VL(AhYJdw>g&qK$w(G^fn?8<-mfL{x+;b7Rou>&)kkpPn zIMGt}PE`O_K&ijv5k)|Mpp(bMhRT{m>nXvvOtnvoid57$FsR|$fjPT*1Rn> zswb$^V&|==mC4EZdufgaCB`}AWswnP@be_BMQn1UI~ok7b~&h*5a=D9*urea78#F1 zRwk>f@909QUbw01oZ}8y`Q|u)CzqeyxeE+rC{QC1=wRam2Bk^$uZgtK|Lr2I@l1TA zbQWs>vGhGa$pHpu0T|MC``~Z3%j)rM@BgR1=I_@>KmKanzlVDAN!GW#cdd{7%vw)8 zzK^#LH;eM8%q5`X;0`ijqHzWFdk44h!7rNqWcEOd6%EFhNnYv;6E5T7$W8)G(4K zAj?OCm?MpL;V6=#dpVv(guoUajHbFDoxZf)KLT;6f_8aM@VfW^uX6!F&9ARWXlxg) zj?_hIyNj&UZ+raA7L=rdm7^Y;#UBo{Ol2;0N=c)}5%j>`5R+a)Rr;Q_N7ur-b+ZhG zQf4HHLPmu!?D0{-*U+U(VKlsu?4x+n)U<8aPs+Hmi($I>P_fFs$Lk|W0X>QJhBDPK zWxrm)D-Bx=(??X-gb+h_u23D;>Mg>Am*5EMAom%jRCOM-o#g;`QaYG?FzvDmPx(sE zgGdV(+d78UeNg!L5SpajB`~PP`D=disr&VVKlF+E+Q0sz^^RZuY(04G`us~?dvsNQ z{hPPn>+0%Kaw=pf$bV{vMpdZVlgfDn9MNG%(9}h^KBaZ;Y}2W9bgZ>X9JIiaRMLaM zQq!jweUy)(o0F}YI3n1mVQ}p^zzC&*{JxnO+O;<#cJ!+ZxlB^D1Vc(DqAib6AB^J!TLt+`i2Y)u zCBe}>KozLI9_gu{2Goa8Q#H4R<)oFdWIq^2BU=|3G(~;K%2}TSEDZ|@Sblr%?)#2X zM1F0Dj`lU%0nI*zSoi7DpZKaD*c<@QZX^H8q5SBE^_I_B>VrRu`o15y*#&_ZV|7Is zIPBILq{g}h-Fp1}Iws~36Z|**&(`ST9-u?}`D5UY(u+K`3##^XIH}O$#rwM=8ktgh zX*o4c@O(OHP5g3J7vka^CQmlClGdaaZIG~KB(6+ND5*BNSP`C87 z7`fL#nFK?hE6=zV&%?%i7ygb24><+t0V=vu@LH#To!~Ik$P}W^i9i`6X82V{QAVA5 zB?%Vp^&bN5L?Dejy8;;fqbtX8B5X%qgQDCHQ2Ldq-dk!HUu%(L#&kbC-Sb`ur!q7R z3znmOxl<#y)I5lolD1UT*2P}s41(5`B<$m;tku^nx$U}77eG%-_e+u?m*#-5tAx%b z$fFXj;*eq|p7DX&qM{gG5WCS0H$ zY#4F|7Fm59McYakGP!lbj6%~xAa{ogYM{r{ht(aa47<%BSrv~Soksun>OJ57)Ae`% z-Y4sqz2hx)y*2;K<^))-PJb5b&2L%iZ*8l9*Ir{i_E>q8th)9^)X5CX!4e95&jC0l zTB~4GJ){P`xI9F@?UGn_mq!K6M`)YqE{r9T)eKf8>pLUrnUjVlHCxOrByV!;h7a{S zj28lLGS9Lh0Y-5kQ%Hj%$l1W5bAYTd!nF_)zfPKgsQwAVvU)IEauw_dfmsJED+8q)_WQZR>U zBz*B#(gXGvMu|2i|3t?{86jfQCi$+8&fTkpa%gm0d4?43QH3WAm3X_%D z@uGGf;1+P~Fyz93j_17dcdozgEMfcl%Xy0?B(I3xB**kHK$5-S_Dou?H-v{BX=;Mp z!|~}Uf4Y2O$J%)ao%FUK_W4G2&m}3(K@eiIMOvW;MJte6>_|dbVfaX7l%*?&Viry{SL? zl|N8#{+wsF%jbIgXZP#sv3vFSHVMF11U&Ur)pO4;^-X{K=KT9!-}DhXWa6bkKZ;du zp9G>qG!-LTqNY0y_QKSxmaeEaLn$KN4?5(-aBiqD%-uGA{^u5!5;^IJ+?WU*HN^gT zEM{vgTc0V^t0Sm$MzWetq;IldmQ`K5wKW7LOnHbKWSDC99bzc-Wfv@G9vFS zlSOgxltPHMV!4A80NP5{;%iCCL{TIt4b@xW{Vs`xy(s;48gN1J^-KZS)1^_GsF_~_ zPG@6Tlq1cdERzkvr&eWfMH!5yKV1H$C^pWF5qup312* zhQ+MM6=7QrB!ujKWne-*g4w@%_VAu=3x;b`P=REI#ThTMhEU607yquhTe5RV>fOHX zW-RcIi#}AC9P|a3h7Z6r(pZb3hENuvoE6gxdNC%`9-0?{%Ia}jUX4P=C1RgJkC+D| zXzmbwx6ciGehK=jdg-nW6$d&DisI17Ny42h0ATF=en>2Vsl7x|Y6p#jx(AqOZ;`IE z@0gSpw@4f*yDdirFFDQ=Qr3_&jSRw|^CnxcMyK|vm5+_w*VU*{8(sD90s4X;!lK4R zU%Jgkt%mk{9`Ezwp&X=C{0>c8Gx0*jE;4-pVI8-59wTJ&_&rwb(!v7hup{9ZG$G;v z&!F$ojM%FT_enCM0CAkORwnT3FY3}nj7$5otNAiocEo-VE{g`kTs|Z2LN=XSw2`yr z0#FhO+~>sDUpFhAT4JS;Ra@q1%>3k2_v%MK{OS4&U;9J#&UZew3IASgwz1QDcDnpe zqW{w>?)uT``?#vV`Ykv0=)rpazPqi{#ir#6w85^|nV3E&DRh-Z2D>8!M?9)x0mK%` z5rExU56Ys)n7II<79Mn+|kIgMqv5059I~cZDB)qLj<@V(o6Ye zuHheD)Djm)QGgJza1k=N%oN3Ca^h=owz`n4C?qnE2EndWU(Y{$rmB(d5qFRB(h80? zB0~!MV!R&$D~S7nb}74}zwQ5a8&}DpV7svJ6f1I<2gpQ!UwGILGlw~2O4Qq19(*z5 z6d2D)E|NvZeU!-MbPyZ>1IZ-4q9)uZ)ZUERChF0LCHG4DB(`_JZj zTNgaNtpa}HBUknA??l~y@=6nMWu?{arU)w|)ZG#L|H!P2XmGl0IzY-rl@oqBN) z1om_8m~2BPbm~-+6_vt(1*BBU$xyckqFdJ|dzci+r$A56WG3e^FJO&%P9mjDqSSZ4 zz(Tk5xuka3GN~DzL9!Gy3593Pz;bDh%otfrLw?T6wwIsJG3|q9M?l4!bywqn1r{R@ zy^8%1BY#Mu+!BJ8Za2}~`|iUe#x9}nqS+2<9XGmaSkaY7F7;yY3c@>RjQK!I13^x#Se7%R*lVoZ&jXKv5qxp<0F|x^4?9_U=SOZ5ZP` zVS2;DG$KM3s`7~S-Posy2$*yXlor=d!_6_SG{@%)Ue=m()(5)>hu zrmaykAk22^mO|BHv_b)bv!29{Vs}zJ@yz4(zVG~Kz4v_|ueZPb4VMnTWma5@f$QyE zSdVn=eIEMOw=VUb@2dLw=Wt#Tkdkcy`of7$rSr9x5HQi12qku1sQ5&s*sH@+(vogpG7Guo$5pm(dt~ijgV09v|(BmQzb4a6QvP1k? zv`&_nDP;Qh2S<#M4e1-&(j@kZk-X0bFmW`aeXl)eg*BfKNass||CGBrpevLN2%}%- zJp%!rHIta+LqJ{b{~sp2(70tSerREnKp2%GjINVoduIY!ZPP@nxSK10npnm(O3}tQ zggxl%vBz#f5@Vv9RiVPM){ePf-iqn$FQ-MwwnO_;wWdM{gSJD zn-<{7i`eRKZmxh68{m=?psi$ir&=Za^$3|cf1S%-NUZ~)N{eab7qne0j@VQY+ePRw^(#CC{uNn;tLwNNOb>}vZV--iA@k-7>hVPSMVkHVZRu$jJsL?WbP z*FqmtnGJeP-jPiUWk0XuMZ-6X7J)j2SZ$(OA}rTE2V=5*_e6kk2`j4;Gu-7qKJTFn zhgEL%a%*5O`*_&xBI5_l(4hOJL4CB{pAUp*cnw@B?X4w!2Zjpz4`=uu=fNMlWkw)| zhQH_{p2Z<$ivoQ=YTNT_gZc7M(3b3WGx4l45G2%PLR!m3s4=AKwIh+s=QvcNYI$KHTfG81TVEZvRdkUCZT6I@JvC z|6tWW`Ou~#c=8e!G(4sm~h=+i-nr#$oI1I-`F^5l-x*LV_*&&+4rZiq-0>U8|x<3@1DNoszWpGX> z^{o~z)IF;1N>Dr7&|PXItO=tOyDOcSiNjzX`Lc-sykmj~#8{F!eC#`-q*ap7c+X|R zfN~3^qGz>aQSgSr<4e%4<$FfLH4gM$I%F4knKZ5Ldrx0-MT9imr9yh))DY%y=Hq#q zu@!PpY+V13e*ES7nm_*|^?C1jwjOSs{>kva(&KAS1?!r*0qiR9r=MQx>%aAS3lO@b z2Qu*0P)U0f&oJR0MZjmf6T2QNk}*3QKveS?{X6l-k7;`oFZ!%Qln&H-gvR`5O;ln+ zv_v@_B7j*O$KSL+*9CdwAxd*mVdsym!)FQsG>TKFe~1!xgn`>(8er8Tp}PxKr8z}W z?48mo=jkf?5yt1f`uP87)Fd`|4NJB<7yRD$)YKaA(@HRvV6_Df=L){W1U&r@Q%YqahyrlXv}yG;L+VI zLpY+;rv6}#+1MqAo{r|S`xtW2+X#+rbY9VQsL#|@wlpw`j-6qayVaHH(FP47m`H!4 zs@7-hZW)Opdvf7pL)iV5f-E;_+b*%|A=o1}Yg{YPvn_}Hccc=!KvQ}-UbIuioJ8LQAcCz@$jAEGfU(0Ey{!N_&pF@U8%U#l`3 zG;m8lD-N3+DJV4W6=5TR*=A|umY$Pw=$9Ne=2QufYDUCxJLnAMDTC${B`sBy@m#I} z8Zuimd>X?5@vNnSUSCPTY>ayL^kTyjI&0FovUb}qMvA9czEx}FQ&)y4l&g|xh_;>Z&)mQb2Anaw7W;b&*WTd#n=(J2D(PYk{u`dh&v?$q%U)6N_-9- zcoSZri$oxoLuamI5~bP;3aD3DcInNVUWhT(2!|L#Q0QZJ3?no9PW*e@zYoe-)c99I zm}|B_jK7y1mP1F>_xFAnS1+b!B1!d`w+ple#dcRQFOzm*@A%kr8tS$`i5R{od%+>% zP;-BXg$P1rgm(dLEt31nUFFn5f9%SaXjEmXA8RTgth`}~(yv#>x!Ol88YWZ8pBlNr z7{plGJ@yXfHGD)|L_;;Ti^51jrjNEX6Jjb{V}VIu9y9DygGM)SBtDiR@bJS zM1ya66YAUl?ph!J+0!bZlRK$sZDkc`(T*SjngFc}P@%Q@IWP)A6O^PkAVj-z*)gVB z8tH(^`x;2&!6$w=EKVf~U}8ZkhzDBiip5tZYLJPV=D(*kZo-Qet6t)IF-9i`Bf?fq zQV2PgR{=pgkripSWHkG5-2z6z4x@|ikTDN=l2^|1a@uE0FYq`?2{JO_1m$iFk%I7N zT-#Cf2~veX6rm^RsgsLLBOp2~O7j&@8EFI2#6;h*6+oafZA|ZPrlL=JSPB9Y&QV{O z8Idt|?T2#r4Aaw92Gs7Xx`0jw;6yvu$Cm8fgq5xZNkfN9LX>u~s^I4!RTHInujp+P zCHduzyvCl+HDuJgGN-Lh7%KcD=2XS9$xu{fbKY$bJ0E4wiY!c!!6Nd#+NGkwP8<$O z!;DHAneQ+u0zI1VS(7Fib^@rlOA8bvjjW>Fi+l>iv!&1}&Z7f zysKa4ENU8ENqKz0-e@hllYJJ-mF%r zGR~GmleAhlUo(L&Ye?tQP${Q2mgZ)KfOpiPq~$-gKSLu~A>?Cf6?{%@kLr;JBN--` zL=Rh%IU^6OFu51*N&%2ADY*y_t4^NF4y@+*QR>*6MDifBm`lS+%N$j_E3v5u<{hk}D302(1A_s?H}yct&8AtCQ_UaOSvj zP@zi?he5yJ&1X!{GYcL&;p+y~4(R3A$zoaTxr?IPk9rWYhk6Fjz4XBBe16^IT9L^} zduw1G(F#aWv!KTcqdj*O_}e%WQ!hgIR<~Kq_V*{%|Ia`7T7A{KeyHC5j%PLm@Wbuj zT}^~a(Z?f@f);wBK?7+iC zs-rIT;9GVuEPn--;0SXOm_;vA0lA~rjTxd7Q4xuDnAqz4i`z5~j1*S5nUS-JPKwEG zy6lt1mFq~8V2A_}*;bK}+3l~MzP13uA<-$VHcqg~9dDaf-6;_uMi#S&sdoh~l<^$R z8kL}A5sH|4sx>n6Q2kSVffZxk@ffiKPe<#MH?RT>He6P{lci%-iJ?-hX$?8XMuL*7 zjxo#F!}Ji!*y_oALA0&0GpiLW$cxH4nid9X>gKlLJJSqkZc4I~m;|tF+By^9+m5T|K+fqcRn_%y16aM|l zul`_t>ZNrH_PM})Il;7Ia}HfMI|v}a{{5eE8~6U~#?glc1z^>2v~Z-OS*#^-|H zRXeylO)LOxh>`h_n3oi+VWh-8jg{Vktv#(wUqA|-(SbCQqL>FEYGfr?WHC(Wl0ijXoapR@ zzVgV?yaD^2W3CkzXronQg#%upYf>9sWS5l=;@3hH`iG#az6ajBDKPb5~lLTSThT9|$s6_LQVr&mj z8#x&Er3EIq>2_i&sjd=l8er3&6tgz8HOilN6HhMVsz+&n7P1DP)@r*A^KA50Ty{BA zl5C)jS+O2+swblnF$Yg0ukIYBKVD*(SceB`6yHh$0r()LIX)1L)AEln3InhVe$ zGz=AY$u7F3$n~XlgXMTtC|q{Bg0;UbjEQ8w1X9}%&r-9!X;<>Xf<;Uqc_{A>-${Eq z7ZV+>r0w22Pv7w~Mb~89Hl2cY#|g{O8i6TqgHZ#$`b$52na7)E`Rgw^QiGtDNcG~% z4bo|UkP)4qoUBp2H5f~eVgNnhBYpF3Je*{+1_~B3!5TZpON{R6-~F+#_)tCh%rj?U z*s_iOvB&QAIN4M9&(&^)swVlrS-XvLf5;^e#xKfKIM5a#Sl|4fbr=3E1CK%1dV1A?&yx08(N$gN{{4t`6=B#VM*V)O8@P2qjZkOfS^TM zmnQH{EMgq?(P+`ZHp+%%7pPoEaMqYjvoH*>BE8cIe#4IxUCeA0%?K|V7IN*`S#5m^ zjESNot0djAJLvkCw1pT&R>d!~!^dY92Y?Ny2=xpOt#@2vmdQ4P{dWxiyGSF0~bc?AXCPi6hw8^ zOe|Q20%rRe!C8`wR*oF9-3ecBz1}Fm*WCqh;rR!sCvAK1UD|9v+v$Ls6W>RhM(8@5Ik+h+=3_=8z=y0%N?U zb|o`xM9y}p`T=A5EL8!k!vSvj>ift=^d+3Q7mnX+ZBwCp_m=wf^N;FXf9}WX?eBbM ziYk+QLbq+gY6rRFZHa>;LXHWhd4#Hh`@btA!Sp+bxb{C!o5n3a9x?JSL z)5hA1zk8uU!brbv9F)_Cw2Eleg2tK_AQSk?Q9N{UZVP3jC$3fscdI1QI5EaUrgu3F z7S5CiDxo9Ev@4HNDZ=HjARIrmv)47=Z0dg4Zl41upn-mdWTo4bNSywYI|%|JgHQ(- z;Q(VCVh1v)wNCsKtbE%%yhV3RNdprm04GB>MuJP*M^a)sp`$_wjAqmww><3>xd=Me z#g6*=tpjq)#c5@MKm#SPMqKKkdZtN%ZyCv|1Ho85ZAD8m0rYMEP91jkPD~5eO=Y3GvH)3g~@_m?40)b()BB5QAUJDMYc%9 zHjW<17Htl9Dlp3*S&2~?A;QO)ONjfKWcsK`4DOl|Sh0-5c_k^23g$^I@eocGfetCC zyd`SkmZFZfK8n<=@!W#b{y52->G~lI%m~$uQS%iv;WGF314A~7Mb$GEtk4;Bp2>l< zsncE60BAZDOR%lwq8UgfHJ^jHIc>F zEGT0#48g1<-7f#_#(nbX$Ld4>{8RPUzWJl|j$iS{jrezSMz3BjtJR+Pj@RA`rE@oV zH5Pb7{4~a-&FvrEJgR#08&Ti+534@%v5h|X#L;brml~62BW$!eP#$1jLlT{YO(D84 zUG8GU!=SRrtq`3B?Ao{;{@y9{2e%0RRN#v#7XU*;qLW5vEUGA0I}+6}HEoLJPL@O> z5*rG%{a{{?>5Vu9Sd+_wqO1?tkmguu`rHtlRDG>=d=Y>2D?e0Mk3YR#{EuA7W}bXW zU^|Wdmy#fum}H~?be7|>|MRPz5crLMdlf?9_%qN66w{mCB68u=y5fXk0RhFx%o~#s zcI}#h@#2y-U7rlnu-iGst&k&FH!01-Ix#GtwM8+bhwod=dTD|)5to6p=J=K~3jtsn zVvqd-h6r!^ItZ@cikUqO-X>z@rc+WiE4=8zVBjCtaoR++HBF+vOW7Dwe;&mW*q~>V zJ>7^gm1$tQChgP)4V*f1Z_(aYauh|g#Z?Oda~e=}moxwpsG%9l<1TFx=C?k)Qgu;? zb@U6;&xJJDMZiXqgV2L7ZiR3KfSkbuDk*yHo zeP}@mvn!%>eCmgVvnS}{B!kS%NO9#};x<`X+K9HLi;ITg(ap(%_gHI=1+7$V6FsII zG`E~$pv|Ep#e&98L()TG0?QgNJN@j);FI)e7&MC8qGNvvK~glVAlufI6$3ZghzarWSzXe3xL-- z4%ijKH7L~^80dIuM7+^PjFd4ABtu*eHtm#)6G@Ofx-%TFR`u<{V{~`0@C^(YT=vSE z4xH)Ma)fGL$Xz~b9t(x?hmvvO*B*3pROU-L@Pj#^LPYpNal;5w*l5GDRft*gF;0Ro zAD=S5LG1^TDkCPC2b2A4zf=a5zfGo&d~$Xbcm~KcZ?V$fAe?jAPDph>9 z#WY9OIVZ*az3rlZ@#X9KQ(yBF^|sG@X2bnHYDio|A&UhG4FtsD^>@#SM-A%%+(0M0 z^PzTzz%!dG;G5pddg1x1`;Vb9>j6ih(mMQ#6_dQjmX?->`)+GIp2--u9?!xeyZd%+ z!tG~$WQ|e0resIk)Q?ahhf>kNTL{71ELh8yTViQ7m=tEV(^!S_u=uWhG!DTER}=v@ zArg2M)Ydy$;S_vw7%L3`gN?Kz!H;H{$LO(F8=d}cjKo7r$n=%n5!?k+u%J&_<1AA4 z05~H^Ydb@ukq&kdj4lbvZHoj@L048ghx=~20OlB0uj*x5#N3t1Mayy$7~Cr7$uk&7 zoP(2{=2h2DPf@u;y5+

- Press ⌘+Enter to compile your document + Press Cmd+Enter to compile your document

{isTexActive && ( @@ -859,14 +859,11 @@ export function PdfPreview() { title="Retry compile" > - Retry + Retry )}

$hE%%1r^YbTiVhyg|G}T!qFg=c9ArT!j{~@NK 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 e-k)yQoA-a($uDxukqoB*00004 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/Square89x89Logo.png b/apps/desktop/src-tauri/icons/Square89x89Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..6ba213b09ca9da2d2de1e69ba40980b561a90e0f GIT binary patch literal 8943 zcmV2C*>TTUUJv|#Yi3`NxCW;~@Y9SRnq9`bi9N7p22XJH{Hk>#K0>sH5{|i7c zNb(~H5F|lh7)W9uQUJ%2lSravS&~gMil~*#j3|yMk~72M3^`lRO!suZeoIxIeCO7! zs$1K8uSv>31ohy~d#{#TRo^}L?B`ZUKmYrw|AlWyCrOepKKN%4A2G(rTkVA30XYmV4_cAq4y9F!6p{(!8w2I43@O3G9=>AvVE6#rM+-@NYd+2 z<-kgxrE~R;^?}1MaC0jC1Mq)@ZT|!SU-mJ1%OLyI8%5FY20`#2>?9jU*q21E50jEi zBPuOdh)U0RzB{H`#kI!B$Qr0==M5z?&(!f_wRMP z-9K2As(BHB(a`|_{O`c0ehU}T?GbJ;EY9WzL}y);Yt;0%=_ayEW-0Tx6~aWKPS^=K zP^yj}3q$kI0Pyj7K=T3s-x@{nw>q8h+R11d(m1XUzZRC-!v; zZldY-JK}kSDT{$4Z^QUWRm_M?y8TWUKwkmS?*=w+WVkh|O4YwdAAQs@`sx2p0iH}# zfZHxF^XDbE^TtvS;xok-3iVHr%DF!UfJjLbqiSp&Gu@9Lq2IQ~E1O-J;LD3y(T>l~r!++hxHn?its2PdB zHB5t-gP?N&)SO_7n8j~dS^(t+;JLPcF32)pK+RKZO2_e=8z?D2mM{o7k$4EIzFiHN zD%&s(mK0%Beg`KUm`*I4FzNJMge^2tI9C9a*2yT|zc$t|s~c|Vb>?xh7`vC!?MVL3 zD#~%JY-1^jl7G~MtEo_Nq@w^s;~!+8i&P%CMn1BziXe^0aOJVMe5nQ4g3R2`jbkMX zN|X8HA-Sso;QdXRYQH6u9egFI^ zDT|2RnbWsf8x{`_X{A@0IR$E5y)G+wo-)ZE#Y+n@)YzRPQn}YrvNSpE6X%n`^9R7A$L_qRv)sCCQ4$t5#T(Np8)0(A4WsrtTNO4}GUL2CI=Qr1q>DH;e4)hLLL?T@`4*oP2T7|u66fm`DO0U9 zn`;Y8a*;WD15eLpv8SoJ4L8Ysv#9L4jTE%P|D%m7iU1Jg#3 z(%`wndEbBL3c>qDGK(ci1E@an@hpD|&E(r9!JmK5CLc48b4nX2FJNNiH&E+{XG~M} z07<2J0`lneLVD_ZXXy9-)hRlCE}&kw$~vTl>bO3=s}rI0$&LC+%?Gm!o82s;C5V)7 zUgqek)PQMC-Q!v8!6P*s1FIELE}?(_`#-Y0?DJn$6Q#{k+8rgA^#Y*=Lw*+?4XFyq9Po^-upa`n zd{+hC*>gksgU_Cz)jd6mLCSqNUH|k6qRUs9x*f_Rbfqa>0-IYjZJr@NxjFiqv!5ym z?$hw@KrUFB)E$?*G{f5U2A|BzB&WQXO+f$o4_~DV>k;)q(Tvzn2f$uIp#IB$i3bSN zkZfH;$)>Vz_DlJDNs!IZ0&6%_gkAuRr`Jo5-QK2!Gl<&4^_0iw8iJSeoVd~;|D-xo z(<78(2TLJ6{oED$;#V)w+TIQ!ctDe>vEVNcgueX@(TCs5bjPhiqmjTd(=_e5Z1(e_ zp%n4>cU7g+ARI2Hqpe+TULijHD$)7VG`+l$MLya=PUfhwnYGwvIFT%1nE6E2qG;%> z6QKDY|LbYHKLAAwsQ8l~U#1hMai6hHL!rn1g6Z(hHt@Khr(R|lPYrsVRAfmAV37&I z7;rxEGV#mDh+caIQ|pr5PJ8xe@um5c%ngEoD>ow2Akeu*M_tq*&({8@rR5I&$z$vE z^bdFF;98H?FOBGd2d|@l`dio2fBT;isMugTo)3V3_i3h&JOFAQX4G79;xxHvnHz4L z>Hud{3+8Y4tY5UinqxyNH(e3jOonxz!%_D<2nn@nsA$sCh5g##7%Sde2=%OG`RHI@6`ykyGUm zMFLJ)2$Q4Qj-%RFUL=10836nOB<@9>X2^gEouEscL9LF<@teu&oJEG*;y}t+3%!X1 zKj_7sfd26F>vZPql&(3@fp#&WzxNy0(cOnv=;~%fhYm9R@a{0C)Xds`7!VS=k2TCe4T#Gl=>ME@GyGn53g1V}CfQ zJ!Cl3(kn-0D~W)a@bz?Ct|({1tqL=HvZTt#|H~h5&=~i+yc*EPc0_;wH?F1qd%Lu~ z6~S+jn%Uh@=x;m>effXjICL}spE&Uip##6!CFVKaZwssqX%K^I?SMcl;2-~x__^;8 zpG02a_EyS^kq^g;QaDU0b}6#Wf(+AMRM^2HWu= zwzO>MiSG>Qsb`0DV1G!PU=0sGuu8x3&|caB*lJ#9Gi(fbbIW0(``#mT_PLn$Eyt9+ zJfX`VzI`9;QZy{sMoo}ey%svR^6yh80qpmPeguAd;dR_dWPzogs%Q{meSo`+sWAXw zR*LNb&<^yPpkrAF17r#HSe&y4YEQyl=*dl*m`BZi;-7945s$K^6u{(Cbd75|x1Ei+ z#~lFkxi4+d$};>C_}v{a{lj11Z!M;#+&RVL-jCw*SWHWkh*r8&8a+9p_|Ai%P@ENK zY|JU9ovsyRW*gJ}*ikaie4FSe5M*0dEUVCc1mQ{js{j@}X)sOMK}Re#OUGEYBHeTl zxQ~ta&ONsc@`H9dDG)PxvdpH|Jj1e<8Ch5srLArNm>W{Jaw>-Tyd2OU|JhYKb$&|w z*8)0!F``d@axdL;TOTtww#4UKF4|u_5n8^+&}|=Ky7aXPt*$`}S>Gms5H!DhEy>m- z9ldVP3V(Cq0(kAy#7DkQdCl6%{N&XFgBnMbasx7O!J3U6?CW&s7ocu@CE?=rX;2E~3Z2xkU#6uxbeJ zys<-n_iyc`$tW&a#_T!a^|_)Qp@SdkQuzEPbuRAE5&-HxcZTBkt&m*5hiEh z`4i)QR6Fj532lU8Dr)j#Jh?s8C7zzoB@lQ)Z@6WVxbgq<#5P6Xk*j+`x^O9?&wOeP zfE(J{N-ROOM#hyT0F1pK>keog({co8%U{iJ= z3M^=k23?XRWdWSBnx11HxVVC<8gPV7$hxF4Mt28OV}$S8R5KnyS4K8I_NmC`#eEm- zO-*U>0CFYh>4VNv9gcF&yJ`u8zM&V6PwCjnh^{}>rH!i*-G9%3KK{Wa%cH}9OHq(a z<^7^M?)t7 z)|RHAuS9c?apM!CU;;#F3qt^^Zl4`&!_eS2+osez!Tm(oA89^6eB3Lv)Yqqd^ikfu zcEOe8F{$}r>)sxj;ds*iR709Vu6*n0g!b++cHb1z`O^=tfXxX_#c_8jM5a{|l@BU^ z)ETogCVurbu!NrwUws{bu0i^5Tiuo3c>|7q4Zp!>p?}k0fb)PsPb|xbIx$T##Zw@K zw$a}+RcX6Jx&HJMsxDAV&NBHD%r?HZ_T7cR&23-9aGT{nfay_48Mu!S}%Sm5!ps*=vz zE8ApLa2aIZJk6T1FjNLPmmU5n}X@cn%ntNz*zt>jki zi+4aTXE!J~eTIV9;qkh30-cyTt@(M3~(k2p7a1*57gPSKqjPMb}W#IXx@7OO2xfsKBm>>FzXUy zf7^st^#`iF3--{`bm(Yr7RaTbML~vA^0PKpv6NFwq=7~FfeZY1WlLy3Oi|S?)X=!| z?vM_wfEU7)4qm1J_7#w(jNdFPmh_aw9p0lC#%r7KXVH}SArpr|3h zx&RQ~cikTP1JAj_Q5zdbQ)*knyP~W0!p0!CAREO(%6wn ziA?v0#uN1JJpFC3&p?;sNjTrtDXJ1-aHDC`P%oD3671$I4W-(RZAfrjV+@006W_00 zV;Vp=jrM@Y-LPgI^odTAI@->a4WouEuFrCLIX%OK9bjs&tlf z=)k}WXMe*Z7a&1vxf9gTsez1YNP@t{gCs2lc4gyuZbgx|LvLPHvP+vnr!OS%{Xzgi zv)T)v#l96|-JHG9P*#D->hbDjRiou}2xd<@NP0)A5~@ErM&ahp^bn0V@1^d=r%`{n zOgHSgLZ5l}5jy+&{gg~6@Z>?rVL-s{0W{NAguzldp55kM32=P3tG2Ia0M%3W=;fdH%oa($IC|Yc!j1{puTM~O~69O zSD-FJf13i?2{fH?l_=dluD?ac-Q>fY?^?r(Vz?NETohGmMhr zsmt}CjRBHO$8`rNfIW=-(c=lddM=?pG#;hm`)&AI61A5}s~XvP z-2C@mOsx90r5;4M4e!1M6frH*6z^=TK85#N{7Py@|1S7yZ`Eajh*)h3=en$YE|2$J@ciiQ6AJpqKBqvD3t z;yfzTsHI3bC{UFJ%xUBUKcbuNr_TAWrWOz+UGU>)DS7aEH)EV}m2fE>sNuUFymNi% z;Hx*Kz(+WD0=A+Qz5`c?evY?cyue8XHgBDBJEqRq!ZvU-Jz2P|P@qV+l3IaSVR~y* zYyQY_p=Vx7XmyZM^zAnUmWp@Absu%^W%CBCUh-ZkT&H^Swq;oHl;XAP$Q(LM22p0| z42WMpN5RRTP;?kZ3%vhQ&C8H<04>|`45^@}mN|&zAiSf>9ze~}7&8&ZCD=X%n33C) zFx*83k(5)NTuyS{YWadv+MizlBs#>6{ONaNNPYMOMk&wy`1^x2!%kWfk(g=`6=}%O zUnsd8+D3HidqGlg_>Q0%z_K$(pC>ciwowvpO1JW@GAexkiBlo1C8|FA6`?)X3mv*m z=mr#m+;m^MJjElA%mKNrs;HEe(qQ=cdEwe@U=*YO_>qK8of9kdH!$iC+!@f#*Q$Q& ze9d_nUdk!IwbE>+SsA)iyGJ(*bS;jRRZ4DuFY!=y0o>I3kb)!6rvX&(Q=XNn?p=UM z3QJg=;EY^0fJHQp=2LPdPoXY*vdc)hEUO{3*M&d!^g7Wuo=#|>kr`0&0eIU!_I}k- zUDl89t*eZbRBUs<>?YeMP3n+Ta`u!zk0Atay^Un=AxK@7v~Y7CeTB@~i#Bn^QbdVL z>Y$hEzE zbCm0ajTzVl#g}Ss>#enD9NGXJPSJh$ruir8f!E;dw~iFtu}U=+UY0u=Md~wWMy8vY zXKaYn^JJ^(#!}g)mYZq~N8v2{{xR?@IL1{czWp7BK6n?yjp--rl%4%$*D5#MM*}OH zRgx-2bU`zL;+t-u)Vm@Uo4dU3~05xH6%#Va)+V=Hc1|zYblq-{G^+#1;KiPoO%H($Dm_`Uy->?9<=H zKG$%*#@X`bj??dKTL3=}w2SNZQ}Us^5lM+tFVE}i6nqykL98*vP6%c|r=UusDa>Ut zKySkehg?qr=gI{@u_~<3!9x1l_rN9)zl-gCZqnHc9s2D5f*%**{RGyO^{VM?QHv=S zw_I3~Ci2-Hkw^jyfE^hc4OFUw3A4neNZ2OoUWd63YsQ(&=#zi=i?oz#1(8zyNn(rnV*OyfjlAOE!%7vY;6>1$qEh zu@C*<0gx{pA~}KYUwfA1GarLbSV$_ykK}$tDjY1_P~My@0J3<(Q7R^DRXB-@0g9^> zRR{cwXFBwkPwyZn`aE6T*tC(-4tU)VQ*{FgAuEX0^`Uljbh?|=>&=0)uIytN3uV(7I)QbVi_NoE^RdtzpBq2%>I~FQbOwD?H>@SYf z@nfezWmEWHBAX#U0Uy2!n>3j&0c-`ig9kS$P%0Uf4|3Y0P2#p}Bc)z)EW`q=VKk*r z%`w51m6E5}J^{r~j7FVfp3>7 z2zSXTT6%Gb28VymE(VvEV|)3O;uZhcnV9*tWw-1?n$xqybH0=K)>+CbwqQ*?{GkKL zDc(ct@Yn9ZBd#e}%5$;M2Kb?|X0|%+voIvv^Y^t;UW^N6HqF@Kw6i_a}4bse2>`U?%YGY*!ae5BxtN@r+ zkZOz%4Zm$(kcNQ}&os+@GW++z|BCc3wTx?qTZ1Q%8&iYL;vhT8DYI6_$tXPYRj3LF z-l27N2a#g6G!R>@6vt93am)0~6rgkt+AvuTzOe%kxNT{8E#=Af7@-{8lW%aEvHtl_{=j)S1LJuvlcxH-^|)O zB6Z6)@oHGqobEcGLAR4qc)l!Y76j(hR4#zc1H+c8QxPaRzyYVwyDW!v9p8L=ntN?o ziyngjtYs~#`bpu1vHjZMV2}nyb*EM`X+gYQ{M3}o=GghHP1&U|XSpp|NV~{Oh^4F& z`uS{5<8r*ZoZXpaoLXws%uB<$37z$+nnl2cRb_$Zlq#7s;8Wh6N9MCZ5X!;JKsQo8 zE(^5UA;@ydltQyY8a>Em$*0j~<0v=aj%-`b%pIjV zDi*4j5R1<~Yqf`^C_^J@hb^mY+l7jln=7285;$dX64wD{g_g^q&O0?+0=WR!u?CO- zWmzYfC4VprWMi3?;WN&) zD}{9@&G{?rsdY|6kWA;z3O!6|eStiTl>?YjF?*EggrD(f%DBPGgd01+i9KLj^FfSL zcU_WiDhL^d-#3*4BM2AO)vRTpq8yMVE9gs92O=!G@8uG6u{OI@yBn#z>; zCcamiCcbdWzDrKQ`Kkw%Iz0AQ2xDo~RsA~1Qj)qAXi{3rOzT7 zvVk%;e!%9L>bh{XCCfUU;Qx(Bu?^1VWk)lTx~t^PKHyRgd{o!#%lK?298D#kqF5M( zb3UH=5=wR6nY!iGrwCX4I9yP@0&QVq^oB1yi=gY87JYyw)b3%Q&5`QLe&MxXpo#m7+ksB`ur7}N9)5jbrg zN%0Vt+WL0fSXu3-PG$FPwT!H>(~Vs-uKCAiv(=cQJdKU_e8w3Qxfz&lOFK_L#pFtM zTBT%C3YAQny2_%dWEzvT1uGPOoSFt=1T7(jr$9hon-r zz=axG;gI+fxN@(QIaJB~k;JF$G>bEPM~Fzd z$fp!1V=hyrSI?SLp-3(O$e)R#L9;H>`E%d>++hGB8`G zd-e`Gc<0KKy?*B*AG_VWond*jGkvx{=-dXNH8R(&CJ^PqFDa5ul6>hK_R_bgk}TLL zLz;i*gWyUbyi#JWC7U`SXgFVPp|oxuSEsy}o5WQ$tumV4fau#9R#pbx$#iRSiEAbUu5ij(WZ%ko}85!QJs>vX0uCUvvP6 zZ7<$3GnQM3Q=rY|<>lTdwztRsY46$qFKh_(%>vV0YKatjt_L1fG$ZS0a28jpad1id zV9vnjnj4`Ce5O@!&ZD_*5oHHE-kb65tV8hzpqwdHHb64nIpu;9A@zU(a5x%GzYIb5 ze&F-+yf@~|Sr;w^TEDNX^nZ6e9Df=<+VR>N^5jz{6{VTGloWv|%YCIF4oQFKN^8nL zoIguS&#T9>6xviyT>ff(UVbT4p~G<2u?UrzRJPAkgqWHVvPxNashF`;t09L7#Kn8o z2BGG8j7F2+9t^s_3J6X;{`li>?cGn6H%A8A87_Jo1meHMyN`ZtWu+HtHsc5(Ch(>r zb*z#M=%3PQ&f- zHuT`Hce|ZOabM3V@#zRG@@_ufQA7Xl!ut1rdooEr0ikyn+Vy(PBEOAm?+mK~ zTs$T>EavYEyOx{g_7aS?yc3?8<5dbiU>2DR$Vz$<&-@j*8$O5oIr~$4A79(M`3m8m zXd2FSjBe?_icR(-p}9m`&R(+&;Mrs{eQ`(e;dw&oY002ov JPDHLkV1nayRXqRz literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/StoreLogo.png b/apps/desktop/src-tauri/icons/StoreLogo.png new file mode 100644 index 0000000000000000000000000000000000000000..33dafc8bf3d3e37258f37d76c2854fe855fc8c63 GIT binary patch literal 3656 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png b/apps/desktop/src-tauri/icons/android/mipmap-hdpi/ic_launcher_round.png new file mode 100644 index 0000000000000000000000000000000000000000..af4f21884416b0bbeb7337de425f691ed9fbccfa GIT binary patch literal 2956 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png b/apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher.png new file mode 100644 index 0000000000000000000000000000000000000000..269df92afc48fec54bc4f58f91f6f91b374e2958 GIT binary patch literal 8859 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png b/apps/desktop/src-tauri/icons/android/mipmap-xhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..29f14414508f886b2c19ea71a5f8da06ccbf4266 GIT binary patch literal 36106 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 literal 0 HcmV?d00001 diff --git a/apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png b/apps/desktop/src-tauri/icons/android/mipmap-xxhdpi/ic_launcher_foreground.png new file mode 100644 index 0000000000000000000000000000000000000000..45333d7f152f44ef70efee0dd18e051d67b1bd6a GIT binary patch literal 78154 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 z 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

-
+
{pdfData && ( <> @@ -924,7 +921,7 @@ export function PdfPreview() { > -
+
-
+
{searchQuery && ( - + {matchCount === 0 ? "No results" : `${currentMatch} of ${matchCount}`} )} @@ -83,7 +91,7 @@ export function SearchPanel({
- {active && } - +
+ {active && } + +
+
); })}
+ { + if (!open && !deletingProviderId) { + setProviderDeleteTarget(null); + setProviderDeleteError(null); + } + }} + > + + + Delete Provider + + Delete{" "} + + {providerDeleteTarget + ? getProviderDisplayName({ + label: providerDeleteTarget.label, + baseUrl: providerDeleteTarget.base_url, + model: providerDeleteTarget.model, + }) + : "this provider"} + {" "} + with model{" "} + + {providerDeleteTarget?.model || "unknown"} + + ? The API key will be removed from ClaudePrism. + + + {providerDeleteError && ( +

+ {providerDeleteError} +

+ )} + + + + +
+
+ {/* @ mention dropdown */} {slashQuery === null && mentionQuery !== null && diff --git a/apps/desktop/src/components/claude-chat/session-selector.tsx b/apps/desktop/src/components/claude-chat/session-selector.tsx index 813bfdb..5e956e3 100644 --- a/apps/desktop/src/components/claude-chat/session-selector.tsx +++ b/apps/desktop/src/components/claude-chat/session-selector.tsx @@ -1,4 +1,4 @@ -import { useState, useCallback } from "react"; +import { useState, useCallback, useMemo } from "react"; import { invoke } from "@tauri-apps/api/core"; import { HistoryIcon, @@ -58,10 +58,20 @@ export function SessionSelector() { ); const [deleteError, setDeleteError] = useState(null); const sessionId = useClaudeChatStore((s) => s.sessionId); - const isStreaming = useClaudeChatStore((s) => s.isStreaming); + const tabs = useClaudeChatStore((s) => s.tabs); const newSession = useClaudeChatStore((s) => s.newSession); const resumeSession = useClaudeChatStore((s) => s.resumeSession); + const setSessionTitle = useClaudeChatStore((s) => s._setSessionTitle); const projectRoot = useDocumentStore((s) => s.projectRoot); + const streamingSessionIds = useMemo( + () => + new Set( + tabs + .filter((tab) => tab.isStreaming && tab.sessionId) + .map((tab) => tab.sessionId as string), + ), + [tabs], + ); const loadSessions = useCallback(async () => { if (!projectRoot) return; @@ -73,13 +83,16 @@ export function SessionSelector() { }); log.debug("loaded sessions", { count: result.length }); setSessions(result); + for (const session of result) { + setSessionTitle(session.session_id, session.title); + } } catch (err) { log.error("Failed to load sessions", { error: String(err) }); setSessions([]); } finally { setIsLoading(false); } - }, [projectRoot]); + }, [projectRoot, setSessionTitle]); const handleOpenChange = useCallback( (open: boolean) => { @@ -91,18 +104,18 @@ export function SessionSelector() { ); const handleSelectSession = useCallback( - (sid: string) => { - if (isStreaming) return; - if (sid === sessionId) return; - log.debug(`selecting session: ${sid}`); - resumeSession(sid); + (session: ClaudeSessionInfo) => { + if (deletingId === session.session_id) return; + if (session.session_id === sessionId) return; + log.debug(`selecting session: ${session.session_id}`); + resumeSession(session.session_id, session.title); }, - [isStreaming, sessionId, resumeSession], + [deletingId, sessionId, resumeSession], ); const handleDeleteSession = useCallback( async (sid: string) => { - if (isStreaming || deletingId || !projectRoot) return; + if (deletingId || !projectRoot || streamingSessionIds.has(sid)) return; setDeleteError(null); setDeletingId(sid); @@ -128,13 +141,12 @@ export function SessionSelector() { setDeletingId((current) => (current === sid ? null : current)); } }, - [deletingId, isStreaming, newSession, projectRoot, sessionId], + [deletingId, newSession, projectRoot, sessionId, streamingSessionIds], ); const handleNewChat = useCallback(() => { - if (isStreaming) return; newSession(); - }, [isStreaming, newSession]); + }, [newSession]); return ( <> @@ -158,7 +170,7 @@ export function SessionSelector() { > Sessions - + New Chat @@ -174,46 +186,62 @@ export function SessionSelector() { No previous sessions
) : ( - sessions.map((session) => ( - handleSelectSession(session.session_id)} - disabled={isStreaming || deletingId === session.session_id} - className="group flex items-start gap-2" - > -
- {session.title} - - {formatRelativeTime(session.last_modified)} - -
-
- {session.session_id === sessionId && ( - - )} - -
-
- )) + +
+ + ); + }) )} @@ -259,7 +287,11 @@ export function SessionSelector() { void handleDeleteSession(deleteTarget.session_id); } }} - disabled={!deleteTarget || !!deletingId} + disabled={ + !deleteTarget || + !!deletingId || + streamingSessionIds.has(deleteTarget.session_id) + } > {deletingId ? ( diff --git a/apps/desktop/src/components/workspace/sidebar.tsx b/apps/desktop/src/components/workspace/sidebar.tsx index fd052d7..5ca50a9 100644 --- a/apps/desktop/src/components/workspace/sidebar.tsx +++ b/apps/desktop/src/components/workspace/sidebar.tsx @@ -74,6 +74,8 @@ import { UvSetupDialog } from "@/components/uv-setup"; import { createLogger } from "@/lib/debug/logger"; const log = createLogger("sidebar"); +const FILES_AUTO_REFRESH_INTERVAL_MS = 12_000; +const FILES_REFRESH_MIN_SPIN_MS = 400; // ─── Table of Contents ─── @@ -232,12 +234,73 @@ export function Sidebar() { const refreshFiles = useDocumentStore((s) => s.refreshFiles); const projectRoot = useDocumentStore((s) => s.projectRoot); const folders = useDocumentStore((s) => s.folders); + const [isRefreshingFiles, setIsRefreshingFiles] = useState(false); + const refreshFilesInFlightRef = useRef | null>(null); const { theme, setTheme } = useTheme(); const projectName = useMemo(() => { const normalized = projectRoot?.replace(/[\\/]+$/, ""); return normalized?.split(/[/\\]/).pop() || "Desktop"; }, [projectRoot]); + const runRefreshFiles = useCallback( + async ({ showSpinner = true }: { showSpinner?: boolean } = {}) => { + if (!projectRoot) return; + if (refreshFilesInFlightRef.current) { + await refreshFilesInFlightRef.current; + return; + } + + const startedAt = Date.now(); + if (showSpinner) setIsRefreshingFiles(true); + + const refreshTask = (async () => { + try { + await refreshFiles(); + } catch (err) { + log.error("Refresh files failed", { error: String(err) }); + } finally { + if (showSpinner) { + const elapsed = Date.now() - startedAt; + if (elapsed < FILES_REFRESH_MIN_SPIN_MS) { + await new Promise((resolve) => + window.setTimeout(resolve, FILES_REFRESH_MIN_SPIN_MS - elapsed), + ); + } + setIsRefreshingFiles(false); + } + refreshFilesInFlightRef.current = null; + } + })(); + + refreshFilesInFlightRef.current = refreshTask; + await refreshTask; + }, + [projectRoot, refreshFiles], + ); + + useEffect(() => { + if (!projectRoot) return; + + const refreshIfVisible = () => { + if (document.visibilityState === "visible") { + void runRefreshFiles({ showSpinner: false }); + } + }; + + const intervalId = window.setInterval( + refreshIfVisible, + FILES_AUTO_REFRESH_INTERVAL_MS, + ); + window.addEventListener("focus", refreshIfVisible); + document.addEventListener("visibilitychange", refreshIfVisible); + + return () => { + window.clearInterval(intervalId); + window.removeEventListener("focus", refreshIfVisible); + document.removeEventListener("visibilitychange", refreshIfVisible); + }; + }, [projectRoot, runRefreshFiles]); + // ─── Native OS file drop (Tauri onDragDropEvent) ─── const sidebarFilesRef = useRef(null); const nativeDropTargetRef = useRef(null); @@ -701,9 +764,12 @@ export function Sidebar() { size="icon" className="size-5" title="Refresh" - onClick={() => refreshFiles()} + disabled={isRefreshingFiles} + onClick={() => void runRefreshFiles()} > - + diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index 953e223..6c2b832 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -36,6 +36,12 @@ interface ClaudeErrorPayload { data: string; } +interface ClaudeSessionInfo { + session_id: string; + title: string; + last_modified: number; +} + /** * Hook that manages Tauri event listeners for Claude CLI streaming output. * @@ -386,10 +392,37 @@ export function useClaudeEvents() { lastErrorRef.current.delete(tabId); directProviderTabRef.current.delete(tabId); + const completedSessionId = tab.sessionId; chatStore._setStreaming(tabId, false); // Snapshot after Claude edit const projectPath = useDocumentStore.getState().projectRoot; + if (projectPath && completedSessionId) { + void (async () => { + try { + const sessions = await invoke( + "list_claude_sessions", + { + projectPath, + generateTitles: true, + }, + ); + const session = sessions.find( + (item) => item.session_id === completedSessionId, + ); + if (session?.title) { + useClaudeChatStore + .getState() + ._setSessionTitle(completedSessionId, session.title); + } + } catch (err) { + log.warn("failed to refresh completed session title", { + error: String(err), + }); + } + })(); + } + if (projectPath) { try { await useHistoryStore diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 1544af1..480f52a 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -493,7 +493,7 @@ interface ClaudeChatState { cancelExecution: () => Promise; clearMessages: () => void; newSession: () => void; - resumeSession: (sessionId: string) => Promise; + resumeSession: (sessionId: string, title?: string) => Promise; // Tab actions createTab: () => string; @@ -507,6 +507,7 @@ interface ClaudeChatState { // Internal actions (called by event hook, routed by tabId) _appendMessage: (tabId: string, msg: ClaudeStreamMessage) => void; _setSessionId: (tabId: string, id: string) => void; + _setSessionTitle: (sessionId: string, title: string) => void; _setStreaming: (tabId: string, streaming: boolean) => void; _setError: (tabId: string, error: string | null) => void; _cancelledByUser: boolean; @@ -801,7 +802,24 @@ export const useClaudeChatStore = create()((set, get) => ({ newSession: () => { log.info("Starting new session"); - const { activeTabId } = get(); + const { activeTabId, tabs } = get(); + const activeTab = tabs.find((t) => t.id === activeTabId); + if (activeTab?.isStreaming) { + const id = nextTabId(); + const newTab = makeDefaultTab(id); + set({ + tabs: [...tabs, newTab], + activeTabId: id, + messages: newTab.messages, + sessionId: newTab.sessionId, + isStreaming: newTab.isStreaming, + error: newTab.error, + totalInputTokens: newTab.totalInputTokens, + totalOutputTokens: newTab.totalOutputTokens, + }); + return; + } + set((s) => applyTabUpdate(s, activeTabId, { messages: [], @@ -816,9 +834,51 @@ export const useClaudeChatStore = create()((set, get) => ({ ); }, - resumeSession: async (sessionId: string) => { + resumeSession: async (sessionId: string, title?: string) => { log.info(`Resuming session: ${sessionId.slice(0, 8)}`); - const { activeTabId } = get(); + const sessionTitle = title?.trim() || undefined; + const state = get(); + let { activeTabId } = state; + let { tabs } = state; + const existingTab = tabs.find((tab) => tab.sessionId === sessionId); + + if (existingTab) { + const nextTitle = sessionTitle ?? existingTab.title; + activeTabId = existingTab.id; + const nextTabs = tabs.map((tab) => + tab.id === existingTab.id ? { ...tab, title: nextTitle } : tab, + ); + set({ + tabs: nextTabs, + activeTabId: existingTab.id, + messages: existingTab.messages, + sessionId: existingTab.sessionId, + isStreaming: existingTab.isStreaming, + error: existingTab.error, + totalInputTokens: existingTab.totalInputTokens, + totalOutputTokens: existingTab.totalOutputTokens, + }); + if (existingTab.isStreaming) return; + } else { + const activeTab = tabs.find((tab) => tab.id === activeTabId); + if (activeTab?.isStreaming) { + const id = nextTabId(); + const newTab = makeDefaultTab(id); + tabs = [...tabs, newTab]; + activeTabId = id; + set({ + tabs, + activeTabId, + messages: newTab.messages, + sessionId: newTab.sessionId, + isStreaming: newTab.isStreaming, + error: newTab.error, + totalInputTokens: newTab.totalInputTokens, + totalOutputTokens: newTab.totalOutputTokens, + }); + } + } + const projectPath = useDocumentStore.getState().projectRoot; // Reset state with new session ID @@ -831,6 +891,7 @@ export const useClaudeChatStore = create()((set, get) => ({ isStreaming: false, totalInputTokens: 0, totalOutputTokens: 0, + title: sessionTitle ?? "New Chat", }), ); @@ -862,7 +923,7 @@ export const useClaudeChatStore = create()((set, get) => ({ ...applyTabUpdate(s, activeTabId, { messages, providerKey, - title: titleForMessages(messages) ?? "New Chat", + title: sessionTitle ?? titleForMessages(messages) ?? "New Chat", totalInputTokens: totals.inputTokens, totalOutputTokens: totals.outputTokens, }), @@ -1008,6 +1069,16 @@ export const useClaudeChatStore = create()((set, get) => ({ set((state) => applyTabUpdate(state, tabId, { sessionId: id })); }, + _setSessionTitle: (sessionId: string, title: string) => { + const cleanTitle = title.trim(); + if (!cleanTitle) return; + set((state) => ({ + tabs: state.tabs.map((tab) => + tab.sessionId === sessionId ? { ...tab, title: cleanTitle } : tab, + ), + })); + }, + _setStreaming: (tabId: string, streaming: boolean) => { set((state) => applyTabUpdate(state, tabId, { isStreaming: streaming })); }, diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 23f0c6a..0d251f5 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -74,6 +74,7 @@ interface ClaudeSetupState { ) => Promise; clearApiKey: () => Promise; listApiCredentials: () => Promise; + deleteApiCredential: (credentialId: string) => Promise; setActiveApiCredential: (credentialId: string) => Promise; fetchProviderModels: (apiKey: string, baseUrl: string) => Promise; toggleInstallLogs: () => void; @@ -392,6 +393,19 @@ export const useClaudeSetupStore = create((set, get) => ({ })); }, + deleteApiCredential: async (credentialId: string) => { + try { + await invoke("delete_openai_compatible_credential", { + credentialId, + }); + await get().checkStatus(); + return true; + } catch (err: any) { + set({ error: err?.message || String(err) }); + return false; + } + }, + setActiveApiCredential: async (credentialId: string) => { try { await invoke("set_active_openai_compatible_credential", { From 80957d066df80e9871988d17e4099d5920365f35 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 20:42:51 +0800 Subject: [PATCH 073/118] feat(provider): run OpenAI-compatible models through Claude Code proxy Replace the hand-written direct-provider runtime with a local Anthropic-to-OpenAI-compatible proxy so Qwen, DeepSeek, GLM, Gemini, and other compatible providers use the Claude Code CLI tool/session experience. Normalize strict OpenAI tool_call/tool_result pairing to avoid provider 400 errors, keep session titles stable and synced, allow switching sessions while another chat is streaming, show running indicators, add provider deletion with confirmation, and auto-refresh the file sidebar with refresh feedback. --- .../components/claude-chat/chat-composer.tsx | 33 ++++++++----------- .../claude-chat/session-selector.tsx | 3 +- .../src/components/workspace/sidebar.tsx | 5 ++- 3 files changed, 19 insertions(+), 22 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 98ca70b..f577442 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -118,9 +118,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const setActiveApiCredential = useClaudeSetupStore( (s) => s.setActiveApiCredential, ); - const deleteApiCredential = useClaudeSetupStore( - (s) => s.deleteApiCredential, - ); + const deleteApiCredential = useClaudeSetupStore((s) => s.deleteApiCredential); const activeProviderCredential = openAiCredentials.find( (credential) => credential.id === activeOpenAiCredentialId, @@ -130,9 +128,9 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const selectedProviderCredential = selectedProviderCredentialId && selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID - ? openAiCredentials.find( + ? (openAiCredentials.find( (credential) => credential.id === selectedProviderCredentialId, - ) ?? null + ) ?? null) : selectedProviderCredentialId === CLAUDE_CODE_PROVIDER_ID ? null : activeProviderCredential; @@ -288,7 +286,9 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { .then((models) => { if (cancelled) return; const options = Array.from( - new Set([selectedProviderCredential.model, ...models].filter(Boolean)), + new Set( + [selectedProviderCredential.model, ...models].filter(Boolean), + ), ); setProviderModelOptions((prev) => ({ ...prev, @@ -312,11 +312,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { return () => { cancelled = true; }; - }, [ - modelPickerOpen, - providerModelOptions, - selectedProviderCredential, - ]); + }, [modelPickerOpen, providerModelOptions, selectedProviderCredential]); // Pinned contexts — supports multiple files/selections const [pinnedContexts, setPinnedContexts] = useState([]); @@ -965,9 +961,9 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { }, ]; const activeProviderModelOptions = selectedProviderCredential - ? providerModelOptions[selectedProviderCredential.id] ?? [ + ? (providerModelOptions[selectedProviderCredential.id] ?? [ selectedProviderCredential.model, - ] + ]) : []; const activeProviderModelsLoading = !!selectedProviderCredential && @@ -1046,7 +1042,8 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { {openAiCredentials.map((credential) => { - const active = selectedProviderCredential?.id === credential.id; + const active = + selectedProviderCredential?.id === credential.id; const displayName = getProviderDisplayName({ label: credential.label, baseUrl: credential.base_url, @@ -1130,7 +1127,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { ); })}
@@ -1253,7 +1248,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { )} - + Add AI Provider diff --git a/apps/desktop/src/components/claude-chat/session-selector.tsx b/apps/desktop/src/components/claude-chat/session-selector.tsx index 5e956e3..44fbd13 100644 --- a/apps/desktop/src/components/claude-chat/session-selector.tsx +++ b/apps/desktop/src/components/claude-chat/session-selector.tsx @@ -221,8 +221,7 @@ export function SessionSelector() { : "Delete session" } disabled={ - sessionIsStreaming || - deletingId === session.session_id + sessionIsStreaming || deletingId === session.session_id } onPointerDown={(event) => event.stopPropagation()} onClick={(event) => { diff --git a/apps/desktop/src/components/workspace/sidebar.tsx b/apps/desktop/src/components/workspace/sidebar.tsx index 5ca50a9..20b6269 100644 --- a/apps/desktop/src/components/workspace/sidebar.tsx +++ b/apps/desktop/src/components/workspace/sidebar.tsx @@ -768,7 +768,10 @@ export function Sidebar() { onClick={() => void runRefreshFiles()} > From 39c2b4d000d7a892525767bb57e289301aefc6af Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 20:49:26 +0800 Subject: [PATCH 074/118] fix(chat): enforce minimum composer drawer height --- .../claude-chat/claude-chat-drawer.tsx | 24 +++++++++++++------ 1 file changed, 17 insertions(+), 7 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/claude-chat-drawer.tsx b/apps/desktop/src/components/claude-chat/claude-chat-drawer.tsx index 2f3c02f..c1a9b2b 100644 --- a/apps/desktop/src/components/claude-chat/claude-chat-drawer.tsx +++ b/apps/desktop/src/components/claude-chat/claude-chat-drawer.tsx @@ -13,7 +13,7 @@ import { ChatMessages } from "./chat-messages"; import { ChatComposer } from "./chat-composer"; import { ChatTabBar } from "./chat-tab-bar"; -const MIN_HEIGHT = 150; +const MIN_HEIGHT = 260; const DEFAULT_HEIGHT = 360; export function ClaudeChatDrawer() { @@ -43,11 +43,14 @@ export function ClaudeChatDrawer() { if (shouldOpen && !isOpen) { setIsOpen(true); const parent = containerRef.current?.parentElement; - const maxHeight = parent ? parent.clientHeight * 0.5 : 400; - setHeight(maxHeight); - heightRef.current = maxHeight; + const maxHeight = parent + ? Math.max(MIN_HEIGHT, parent.clientHeight * 0.5) + : 400; + const nextHeight = Math.max(maxHeight, MIN_HEIGHT); + setHeight(nextHeight); + heightRef.current = nextHeight; if (panelRef.current) { - panelRef.current.style.height = `${maxHeight}px`; + panelRef.current.style.height = `${nextHeight}px`; } } }, [anyStreaming, isOpen, pendingAttachments]); @@ -66,7 +69,9 @@ export function ClaudeChatDrawer() { const handleMouseMove = (e: MouseEvent) => { hasDraggedRef.current = true; const parent = containerRef.current?.parentElement; - const maxHeight = parent ? parent.clientHeight * 0.5 : 400; + const maxHeight = parent + ? Math.max(MIN_HEIGHT, parent.clientHeight * 0.5) + : 400; const delta = startY - e.clientY; const newHeight = Math.min( Math.max(startHeight + delta, MIN_HEIGHT), @@ -108,7 +113,12 @@ export function ClaudeChatDrawer() { const dims = getExpandedDimensions(); return { height: dims.height, maxWidth: dims.width, borderRadius: 0 }; } - return { height, maxWidth: 672, borderRadius: 24 }; + return { + height: Math.max(height, MIN_HEIGHT), + minHeight: MIN_HEIGHT, + maxWidth: 672, + borderRadius: 24, + }; }; return ( From 6dd567c7d9022cb93eff41382ed09115b81b00a3 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 21:06:58 +0800 Subject: [PATCH 075/118] feat(provider): add Ollama local model support --- apps/desktop/src-tauri/src/anthropic_proxy.rs | 17 +++- apps/desktop/src-tauri/src/claude.rs | 81 +++++++++++++++---- .../src/__tests__/lib/provider-icons.test.ts | 16 +++- .../stores/claude-setup-store.test.ts | 57 +++++++++++++ apps/desktop/src/assets/providers/ollama.svg | 1 + apps/desktop/src/components/claude-setup.tsx | 29 +++++-- apps/desktop/src/lib/provider-icons.ts | 17 ++++ apps/desktop/src/stores/claude-setup-store.ts | 4 +- 8 files changed, 196 insertions(+), 26 deletions(-) create mode 100644 apps/desktop/src/assets/providers/ollama.svg diff --git a/apps/desktop/src-tauri/src/anthropic_proxy.rs b/apps/desktop/src-tauri/src/anthropic_proxy.rs index 3eaeeac..3a86027 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy.rs @@ -202,11 +202,11 @@ async fn handle_messages( .timeout(std::time::Duration::from_secs(300)) .build() .map_err(|err| format!("Failed to create provider client: {}", err))?; - let response = client + let request = client .post(openai_chat_completions_url(&credential.base_url)) - .bearer_auth(&credential.api_key) .header("Content-Type", "application/json") - .body(openai_request.to_string()) + .body(openai_request.to_string()); + let response = with_optional_bearer_auth(request, &credential.api_key) .send() .await .map_err(|err| format!("Provider request failed: {}", err))?; @@ -873,6 +873,17 @@ fn openai_chat_completions_url(base_url: &str) -> String { } } +fn with_optional_bearer_auth( + request: reqwest::RequestBuilder, + api_key: &str, +) -> reqwest::RequestBuilder { + if api_key.trim().is_empty() { + request + } else { + request.bearer_auth(api_key) + } +} + fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { let lower = base_url.to_ascii_lowercase(); if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index e5c75e3..790954c 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -198,6 +198,15 @@ fn normalize_api_key(value: &str) -> Result { Ok(clean) } +fn normalize_optional_api_key(value: &str) -> Result { + let clean = strip_nul(value).trim().to_string(); + if clean.chars().any(char::is_whitespace) { + return Err("API key cannot contain spaces or line breaks".to_string()); + } + + Ok(clean) +} + fn normalize_base_url(value: Option<&str>) -> Result, String> { let Some(value) = value else { return Ok(None); @@ -318,7 +327,7 @@ fn normalized_openai_compatible_credentials( ) -> Vec { let mut credentials = Vec::new(); for credential in &config.openai_credentials { - let Ok(api_key) = normalize_api_key(&credential.api_key) else { + let Ok(api_key) = normalize_optional_api_key(&credential.api_key) else { continue; }; let Some(base_url) = normalize_base_url(Some(credential.base_url.as_str())) @@ -356,7 +365,7 @@ fn normalized_openai_compatible_credentials( config .openai_api_key .as_deref() - .and_then(|value| normalize_api_key(value).ok()), + .and_then(|value| normalize_optional_api_key(value).ok()), normalize_base_url(config.openai_base_url.as_deref()) .ok() .flatten(), @@ -481,9 +490,13 @@ pub async fn save_anthropic_api_key( credential_label: Option, credential_id: Option, ) -> Result<(), String> { - let api_key = normalize_api_key(&api_key)?; - let base_url = normalize_base_url(base_url.as_deref())?; let provider = normalize_provider(provider.as_deref())?; + let api_key = if provider == PROVIDER_OPENAI_COMPATIBLE { + normalize_optional_api_key(&api_key)? + } else { + normalize_api_key(&api_key)? + }; + let base_url = normalize_base_url(base_url.as_deref())?; let model = normalize_model(model.as_deref())?; if let Some(message) = known_proxy_mismatch_error(&provider, base_url.as_deref()) { return Err(message); @@ -564,7 +577,7 @@ pub async fn verify_openai_compatible_api_key( base_url: String, model: String, ) -> Result<(), String> { - let api_key = normalize_api_key(&api_key)?; + let api_key = normalize_optional_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; if let Some(message) = @@ -590,7 +603,7 @@ pub async fn list_openai_compatible_models( api_key: String, base_url: String, ) -> Result, String> { - let api_key = normalize_api_key(&api_key)?; + let api_key = normalize_optional_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; if let Some(message) = @@ -619,9 +632,8 @@ async fn fetch_openai_compatible_models( api_key: &str, base_url: &str, ) -> Result, String> { - let response = reqwest::Client::new() - .get(openai_models_url(base_url)) - .bearer_auth(api_key) + let request = reqwest::Client::new().get(openai_models_url(base_url)); + let response = with_optional_bearer_auth(request, api_key) .send() .await .map_err(|err| format!("Failed to fetch provider models: {}", err))?; @@ -2351,6 +2363,17 @@ fn openai_chat_completions_url(base_url: &str) -> String { } } +fn with_optional_bearer_auth( + request: reqwest::RequestBuilder, + api_key: &str, +) -> reqwest::RequestBuilder { + if api_key.trim().is_empty() { + request + } else { + request.bearer_auth(api_key) + } +} + fn openai_models_url(base_url: &str) -> String { let clean = base_url.trim_end_matches('/'); if let Some(root) = clean.strip_suffix("/chat/completions") { @@ -2439,11 +2462,11 @@ async fn verify_openai_compatible_credential( .map_err(|err| format!("Failed to create provider client: {}", err))?; let request_body = openai_compatible_verification_body(&credential.model); - let response = client + let request = client .post(openai_chat_completions_url(&credential.base_url)) - .bearer_auth(&credential.api_key) .header("Content-Type", "application/json") - .body(request_body.to_string()) + .body(request_body.to_string()); + let response = with_optional_bearer_auth(request, &credential.api_key) .send() .await .map_err(|err| format!("Provider verification request failed: {}", err))?; @@ -2487,11 +2510,11 @@ async fn send_openai_compatible_no_tools_text_request( "stream": false, }); - let response = client + let request = client .post(openai_chat_completions_url(&credential.base_url)) - .bearer_auth(&credential.api_key) .header("Content-Type", "application/json") - .body(request_body.to_string()) + .body(request_body.to_string()); + let response = with_optional_bearer_auth(request, &credential.api_key) .send() .await .map_err(|err| format!("Provider request failed: {}", err))?; @@ -3930,6 +3953,18 @@ mod tests { ); } + #[test] + fn test_openai_chat_completions_url_supports_ollama_roots() { + assert_eq!( + openai_chat_completions_url("http://localhost:11434"), + "http://localhost:11434/v1/chat/completions" + ); + assert_eq!( + openai_chat_completions_url("http://localhost:11434/v1"), + "http://localhost:11434/v1/chat/completions" + ); + } + #[test] fn test_openai_models_url_matches_provider_roots() { assert_eq!( @@ -3948,6 +3983,22 @@ mod tests { openai_models_url("https://api.openai.com"), "https://api.openai.com/v1/models" ); + assert_eq!( + openai_models_url("http://localhost:11434"), + "http://localhost:11434/v1/models" + ); + assert_eq!( + openai_models_url("http://localhost:11434/v1"), + "http://localhost:11434/v1/models" + ); + } + + #[test] + fn test_openai_compatible_api_key_can_be_empty_for_local_providers() { + assert!(normalize_api_key("").is_err()); + assert_eq!(normalize_optional_api_key("").unwrap(), ""); + assert_eq!(normalize_optional_api_key(" ollama ").unwrap(), "ollama"); + assert!(normalize_optional_api_key("bad key").is_err()); } #[test] diff --git a/apps/desktop/src/__tests__/lib/provider-icons.test.ts b/apps/desktop/src/__tests__/lib/provider-icons.test.ts index 01c83fe..b83d39b 100644 --- a/apps/desktop/src/__tests__/lib/provider-icons.test.ts +++ b/apps/desktop/src/__tests__/lib/provider-icons.test.ts @@ -1,5 +1,8 @@ import { describe, expect, it } from "vitest"; -import { getProviderDisplayName } from "@/lib/provider-icons"; +import { + getProviderDisplayName, + getProviderIconSrc, +} from "@/lib/provider-icons"; describe("getProviderDisplayName", () => { it("derives provider names from old custom labels", () => { @@ -29,4 +32,15 @@ describe("getProviderDisplayName", () => { }), ).toBe("Acme AI"); }); + + it("recognizes local Ollama endpoints", () => { + const provider = { + label: "Custom OpenAI API", + baseUrl: "http://localhost:11434/v1", + model: "llama3.2", + }; + + expect(getProviderDisplayName(provider)).toBe("Ollama"); + expect(getProviderIconSrc(provider)).toContain("ollama"); + }); }); diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index 8aef756..67c47e0 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -178,6 +178,63 @@ describe("useClaudeSetupStore.saveApiKey", () => { }); }); + it("allows local OpenAI-compatible providers without an API key", async () => { + vi.mocked(invoke).mockImplementation(async (command) => { + if (command === "check_claude_status") { + return { + installed: true, + authenticated: true, + binary_path: null, + version: "OpenAI-compatible provider", + provider_kind: "openai-compatible", + account_email: null, + provider_model: "llama3.2", + provider_base_url: "http://localhost:11434/v1", + missing_git: false, + }; + } + if (command === "list_openai_compatible_credentials") { + return [ + { + id: "ollama-cred", + label: "Ollama", + model: "llama3.2", + base_url: "http://localhost:11434/v1", + }, + ]; + } + return null; + }); + + const success = await useClaudeSetupStore + .getState() + .saveApiKey( + "", + "http://localhost:11434/v1", + "openai-compatible", + "llama3.2", + "Ollama", + ); + + expect(success).toBe(true); + expect(invoke).toHaveBeenNthCalledWith( + 1, + "verify_openai_compatible_api_key", + { + apiKey: "", + baseUrl: "http://localhost:11434/v1", + model: "llama3.2", + }, + ); + expect(invoke).toHaveBeenNthCalledWith(2, "save_anthropic_api_key", { + apiKey: "", + baseUrl: "http://localhost:11434/v1", + provider: "openai-compatible", + model: "llama3.2", + credentialLabel: "Ollama", + }); + }); + it("does not save OpenAI-compatible credentials when verification fails", async () => { vi.mocked(invoke).mockRejectedValueOnce( new Error("Invalid provider API key"), diff --git a/apps/desktop/src/assets/providers/ollama.svg b/apps/desktop/src/assets/providers/ollama.svg new file mode 100644 index 0000000..4f534cf --- /dev/null +++ b/apps/desktop/src/assets/providers/ollama.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index 17906c0..8a0ac37 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -43,6 +43,7 @@ type OpenAICompatiblePreset = { baseUrl: string; model: string; note: string; + apiKeyOptional?: boolean; }; type ClaudeCompatiblePreset = { @@ -60,6 +61,7 @@ type ModelProviderCard = { model: string; badge: string; note: string; + apiKeyOptional?: boolean; }; const CLAUDE_COMPATIBLE_PRESETS: ClaudeCompatiblePreset[] = [ @@ -107,6 +109,14 @@ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ model: "", note: "Zhipu BigModel chat completions endpoint.", }, + { + id: "ollama", + label: "Ollama", + baseUrl: "http://localhost:11434/v1", + model: "", + note: "Local Ollama OpenAI-compatible endpoint.", + apiKeyOptional: true, + }, { id: "gemini", label: "Gemini OpenAI", @@ -559,6 +569,9 @@ export function ClaudeSetup({ ? providerPreset : fallbackCardId; const activeCard = providerCards.find((card) => card.id === activeCardId); + const apiKeyOptional = + selectedProvider === "openai-compatible" && !!activeCard?.apiKeyOptional; + const apiKeyRequired = !apiKeyOptional; return ( <> @@ -637,7 +650,9 @@ export function ClaudeSetup({ type="password" placeholder={ selectedProvider === "openai-compatible" - ? "sk-..." + ? apiKeyOptional + ? "Optional for local Ollama" + : "sk-..." : "sk-ant-... or provider key" } value={apiKey} @@ -651,7 +666,9 @@ export function ClaudeSetup({ />

{selectedProvider === "openai-compatible" - ? "Use the API key from your model provider." + ? apiKeyOptional + ? "Ollama runs locally and normally does not require an API key." + : "Use the API key from your model provider." : "Anthropic keys start with sk-ant-. Claude-compatible proxies can use their own key format."}

@@ -714,7 +731,7 @@ export function ClaudeSetup({ disabled={ isSavingApiKey || isFetchingModels || - !apiKey.trim() || + (apiKeyRequired && !apiKey.trim()) || !baseUrl.trim() } > @@ -779,7 +796,7 @@ export function ClaudeSetup({ size="sm" className="w-full gap-2" disabled={ - !apiKey.trim() || + (apiKeyRequired && !apiKey.trim()) || isSavingApiKey || (selectedProvider === "openai-compatible" && (!baseUrl.trim() || !model.trim())) @@ -795,7 +812,9 @@ export function ClaudeSetup({ ? "Verifying..." : "Saving..." : selectedProvider === "openai-compatible" - ? "Verify & Use API Key" + ? apiKeyOptional + ? "Verify & Use Local Provider" + : "Verify & Use API Key" : "Use API Key"} diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts index 9715b91..8200f96 100644 --- a/apps/desktop/src/lib/provider-icons.ts +++ b/apps/desktop/src/lib/provider-icons.ts @@ -2,6 +2,7 @@ import anthropicIcon from "@/assets/providers/anthropic.svg"; import deepseekIcon from "@/assets/providers/deepseek.svg"; import geminiIcon from "@/assets/providers/gemini-color.svg"; import moonshotIcon from "@/assets/providers/moonshot.svg"; +import ollamaIcon from "@/assets/providers/ollama.svg"; import openaiIcon from "@/assets/providers/openai.svg"; import qwenIcon from "@/assets/providers/qwen.svg"; import zhipuIcon from "@/assets/providers/zhipu-color.svg"; @@ -37,6 +38,14 @@ function isGenericOpenAiLabel(label?: string | null) { export function getProviderDisplayName(input: ProviderIconInput): string { const haystack = providerHaystack(input); + if ( + haystack.includes("ollama") || + haystack.includes("localhost:11434") || + haystack.includes("127.0.0.1:11434") + ) { + return "Ollama"; + } + if ( haystack.includes("qwen") || haystack.includes("dashscope") || @@ -96,6 +105,14 @@ export function getProviderDisplayName(input: ProviderIconInput): string { export function getProviderIconSrc(input: ProviderIconInput): string | null { const haystack = providerHaystack(input); + if ( + haystack.includes("ollama") || + haystack.includes("localhost:11434") || + haystack.includes("127.0.0.1:11434") + ) { + return ollamaIcon; + } + if ( haystack.includes("qwen") || haystack.includes("dashscope") || diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 0d251f5..e18200b 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -294,12 +294,12 @@ export const useClaudeSetupStore = create((set, get) => ({ const key = apiKey.trim(); const url = baseUrl?.trim() ?? ""; const modelName = model?.trim() ?? ""; - if (!key) { + if (provider !== "openai-compatible" && !key) { set({ error: "API key is empty" }); return false; } - if (/\s/.test(key)) { + if (key && /\s/.test(key)) { set({ error: "API key cannot contain spaces or line breaks" }); return false; } From 0b6947320ee3d5c32bd50c85b38ead6e022e58cb Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 21:07:25 +0800 Subject: [PATCH 076/118] feat(provider): add Ollama local model support --- apps/desktop/src/lib/provider-icons.ts | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/apps/desktop/src/lib/provider-icons.ts b/apps/desktop/src/lib/provider-icons.ts index 8200f96..1631b72 100644 --- a/apps/desktop/src/lib/provider-icons.ts +++ b/apps/desktop/src/lib/provider-icons.ts @@ -15,12 +15,7 @@ interface ProviderIconInput { } function providerHaystack(input: ProviderIconInput) { - return [ - input.id, - input.label, - input.baseUrl, - input.model, - ] + return [input.id, input.label, input.baseUrl, input.model] .filter(Boolean) .join(" ") .toLowerCase(); From 24c1602b87695bc31578e9c7cf5d9eb6f9b6a2bf Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 21:10:48 +0800 Subject: [PATCH 077/118] chore: update version to 1.2.0 in package.json and Cargo files --- apps/desktop/package.json | 2 +- apps/desktop/src-tauri/Cargo.lock | 2 +- apps/desktop/src-tauri/Cargo.toml | 2 +- apps/desktop/src-tauri/tauri.conf.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index dbc13ae..2d4126b 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@claude-prism/desktop", - "version": "1.1.7", + "version": "1.2.0", "private": true, "type": "module", "scripts": { diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 71c75d2..930d8a5 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -493,7 +493,7 @@ dependencies = [ [[package]] name = "claude-prism-desktop" -version = "1.1.7" +version = "1.2.0" dependencies = [ "base64 0.22.1", "chrono", diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 127a00a..ee482aa 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "claude-prism-desktop" -version = "1.1.7" +version = "1.2.0" description = "AI-powered LaTeX writing workspace" edition = "2021" diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index 7287624..25dde75 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/nicegui-unofficial/nicegui-tauri-template/main/src-tauri/tauri.conf-v2-schema.json", "identifier": "com.claude-prism.desktop", "productName": "ClaudePrism", - "version": "1.1.7", + "version": "1.2.0", "build": { "beforeDevCommand": "corepack pnpm dev", "beforeBuildCommand": "corepack pnpm build", diff --git a/package.json b/package.json index fb16fd2..44b90f4 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@claude-prism/root", "description": "Open-Source AI LaTeX writing workspace", - "version": "1.1.7", + "version": "1.2.0", "repository": { "type": "git", "url": "https://github.com/delibae/claude-prism" From e4d02600d0b5eb0b5faae9ea8f75d21a01315d20 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 21:27:48 +0800 Subject: [PATCH 078/118] fix(BashWidget): update styles for terminal and result display --- apps/desktop/src/components/claude-chat/tool-widgets.tsx | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/tool-widgets.tsx b/apps/desktop/src/components/claude-chat/tool-widgets.tsx index 12d25cc..ce3d644 100644 --- a/apps/desktop/src/components/claude-chat/tool-widgets.tsx +++ b/apps/desktop/src/components/claude-chat/tool-widgets.tsx @@ -177,15 +177,15 @@ const BashWidget: FC<{ typeof result?.content === "string" ? result.content : ""; return ( -
+
{expanded && resultContent && (
-
+          
             {truncate(resultContent, 2000)}
           
From 871f78c642ab5e644aa1d32eff41905351344bef Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Tue, 9 Jun 2026 21:37:00 +0800 Subject: [PATCH 079/118] feat(MarkdownRenderer): enhance table and horizontal rule rendering --- .../claude-chat/markdown-renderer.tsx | 42 +++++++++++++++++++ 1 file changed, 42 insertions(+) diff --git a/apps/desktop/src/components/claude-chat/markdown-renderer.tsx b/apps/desktop/src/components/claude-chat/markdown-renderer.tsx index 01546e8..9ae5f3e 100644 --- a/apps/desktop/src/components/claude-chat/markdown-renderer.tsx +++ b/apps/desktop/src/components/claude-chat/markdown-renderer.tsx @@ -92,6 +92,48 @@ export const MarkdownRenderer: FC = ({ pre({ children }) { return <>{children}; }, + table({ children, node, ...props }) { + return ( +
+ + {children} +
+
+ ); + }, + thead({ children, node, ...props }) { + return ( + + {children} + + ); + }, + th({ children, node, ...props }) { + return ( + + {children} + + ); + }, + td({ children, node, ...props }) { + return ( + + {children} + + ); + }, + hr({ node, ...props }) { + return
; + }, code({ className: codeClassName, children, node, ...props }) { const match = /language-(\w+)/.exec(codeClassName || ""); const language = match?.[1]; From f542be58ffeb549c0f49d0bab6b8c45c1f54bac0 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 12:15:21 +0800 Subject: [PATCH 080/118] feat: stream compatible providers through Claude proxy Stream OpenAI-compatible provider responses through the local Anthropic proxy instead of buffering full responses. Map reasoning and tool-call deltas into Claude Code-compatible SSE events, and cache generated session titles so opening history does not regenerate them. --- apps/desktop/src-tauri/Cargo.lock | 18 +- apps/desktop/src-tauri/Cargo.toml | 2 +- apps/desktop/src-tauri/src/anthropic_proxy.rs | 669 +++++++++++++++++- apps/desktop/src-tauri/src/claude.rs | 116 +-- apps/desktop/src-tauri/src/lib.rs | 1 + .../claude-chat/session-selector.tsx | 1 + apps/desktop/src/hooks/use-claude-events.ts | 19 +- 7 files changed, 724 insertions(+), 102 deletions(-) diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 57f1741..268cf05 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -4074,6 +4074,7 @@ dependencies = [ "base64 0.22.1", "bytes", "futures-core", + "futures-util", "http 1.4.2", "http-body 1.0.1", "http-body-util", @@ -4093,12 +4094,14 @@ dependencies = [ "sync_wrapper 1.0.2", "tokio", "tokio-rustls", + "tokio-util", "tower", "tower-http", "tower-service", "url", "wasm-bindgen", "wasm-bindgen-futures", + "wasm-streams 0.4.2", "web-sys", "webpki-roots", ] @@ -4138,7 +4141,7 @@ dependencies = [ "url", "wasm-bindgen", "wasm-bindgen-futures", - "wasm-streams", + "wasm-streams 0.5.0", "web-sys", ] @@ -6520,6 +6523,19 @@ dependencies = [ "wasmparser", ] +[[package]] +name = "wasm-streams" +version = "0.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "15053d8d85c7eccdbefef60f06769760a563c7f0a9d6902a13d35c7800b0ad65" +dependencies = [ + "futures-util", + "js-sys", + "wasm-bindgen", + "wasm-bindgen-futures", + "web-sys", +] + [[package]] name = "wasm-streams" version = "0.5.0" diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index ee482aa..7c60f20 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -23,7 +23,7 @@ serde_json = "1" serde_yaml = "0.9" tokio = { version = "1", features = ["full"] } dirs = "5" -reqwest = { version = "0.12", default-features = false, features = ["rustls-tls"] } +reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream"] } hmac = "0.12" sha1 = "0.10" base64 = "0.22" diff --git a/apps/desktop/src-tauri/src/anthropic_proxy.rs b/apps/desktop/src-tauri/src/anthropic_proxy.rs index 3a86027..e550fbd 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy.rs @@ -1,4 +1,5 @@ use serde_json::{json, Value}; +use std::collections::HashMap; use std::net::SocketAddr; use std::sync::Arc; use tokio::io::{AsyncReadExt, AsyncWriteExt}; @@ -44,7 +45,35 @@ async fn handle_connection( credential: Arc, ) -> Result<(), String> { let request = read_http_request(&mut stream).await?; - let response = route_request(&request, &credential).await; + let path = request_path_without_query(&request.path); + if request.method == "POST" && is_messages_path(path) { + match handle_messages_to_stream(&request, &credential, &mut stream).await { + Ok(()) => { + let _ = stream.shutdown().await; + return Ok(()); + } + Err(err) => { + let response = json_response( + 502, + &json!({ + "type": "error", + "error": { + "type": "api_error", + "message": err, + }, + }), + ); + stream + .write_all(response.as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy error response: {}", err))?; + let _ = stream.shutdown().await; + return Ok(()); + } + } + } + + let response = route_request(&request).await; stream .write_all(response.as_bytes()) .await @@ -121,7 +150,7 @@ fn find_header_end(buffer: &[u8]) -> Option { buffer.windows(4).position(|window| window == b"\r\n\r\n") } -async fn route_request(request: &HttpRequest, credential: &OpenAiProxyCredential) -> String { +async fn route_request(request: &HttpRequest) -> String { let path = request_path_without_query(&request.path); if request.method == "GET" && path == "/" { @@ -135,22 +164,6 @@ async fn route_request(request: &HttpRequest, credential: &OpenAiProxyCredential return handle_count_tokens(request); } - if request.method == "POST" && is_messages_path(path) { - return match handle_messages(request, credential).await { - Ok(response) => response, - Err(err) => json_response( - 502, - &json!({ - "type": "error", - "error": { - "type": "api_error", - "message": err, - }, - }), - ), - }; - } - json_response( 400, &json!({ @@ -186,17 +199,19 @@ fn handle_count_tokens(request: &HttpRequest) -> String { ) } -async fn handle_messages( +async fn handle_messages_to_stream( request: &HttpRequest, credential: &OpenAiProxyCredential, -) -> Result { + stream: &mut TcpStream, +) -> Result<(), String> { let anthropic_request: Value = serde_json::from_slice(&request.body) .map_err(|err| format!("Claude Code sent invalid Anthropic JSON: {}", err))?; let wants_stream = anthropic_request .get("stream") .and_then(|value| value.as_bool()) .unwrap_or(false); - let openai_request = anthropic_to_openai_request(&anthropic_request, credential)?; + let mut openai_request = anthropic_to_openai_request(&anthropic_request, credential)?; + openai_request["stream"] = Value::Bool(wants_stream); let client = reqwest::Client::builder() .timeout(std::time::Duration::from_secs(300)) @@ -212,11 +227,11 @@ async fn handle_messages( .map_err(|err| format!("Provider request failed: {}", err))?; let status = response.status(); - let response_text = response - .text() - .await - .map_err(|err| format!("Failed to read provider response: {}", err))?; if !status.is_success() { + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider error response: {}", err))?; return Err(format!( "Provider returned HTTP {}: {}", status, @@ -224,14 +239,42 @@ async fn handle_messages( )); } - let openai_response: Value = serde_json::from_str(&response_text) - .map_err(|err| format!("Provider returned invalid JSON: {}", err))?; - let anthropic_response = - openai_to_anthropic_message(&anthropic_request, &openai_response, credential)?; if wants_stream { - Ok(sse_response(&anthropic_response)) + let content_type = response + .headers() + .get(reqwest::header::CONTENT_TYPE) + .and_then(|value| value.to_str().ok()) + .unwrap_or_default() + .to_ascii_lowercase(); + if content_type.contains("stream") { + stream_openai_sse_to_anthropic(stream, response, &anthropic_request, credential).await + } else { + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider response: {}", err))?; + let openai_response: Value = serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid JSON: {}", err))?; + let anthropic_response = + openai_to_anthropic_message(&anthropic_request, &openai_response, credential)?; + stream + .write_all(sse_response(&anthropic_response).as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy SSE response: {}", err)) + } } else { - Ok(json_response(200, &anthropic_response)) + let response_text = response + .text() + .await + .map_err(|err| format!("Failed to read provider response: {}", err))?; + let openai_response: Value = serde_json::from_str(&response_text) + .map_err(|err| format!("Provider returned invalid JSON: {}", err))?; + let anthropic_response = + openai_to_anthropic_message(&anthropic_request, &openai_response, credential)?; + stream + .write_all(json_response(200, &anthropic_response).as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy JSON response: {}", err)) } } @@ -685,6 +728,461 @@ fn usage_token(usage: &Value, keys: &[&str]) -> u64 { .unwrap_or(0) } +#[derive(Default)] +struct OpenAiStreamState { + message_started: bool, + completed: bool, + message_id: Option, + model: Option, + next_block_index: usize, + text_block_index: Option, + thinking_block_index: Option, + tool_blocks: HashMap, + stop_reason: Option, + output_tokens: u64, +} + +#[derive(Default)] +struct StreamToolBlock { + block_index: Option, + id: Option, + name: Option, + buffered_arguments: String, + started: bool, +} + +async fn stream_openai_sse_to_anthropic( + stream: &mut TcpStream, + mut response: reqwest::Response, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> Result<(), String> { + stream + .write_all(streaming_http_headers().as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream headers: {}", err))?; + + let mut state = OpenAiStreamState::default(); + let mut buffer = String::new(); + while let Some(chunk) = response + .chunk() + .await + .map_err(|err| format!("Failed to read provider stream: {}", err))? + { + buffer.push_str(&String::from_utf8_lossy(&chunk)); + while let Some((event, rest)) = take_next_sse_event(&buffer) { + buffer = rest; + let rendered = + openai_sse_event_to_anthropic(&mut state, &event, anthropic_request, credential); + if !rendered.is_empty() { + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream event: {}", err))?; + } + } + } + + if !buffer.trim().is_empty() { + let rendered = + openai_sse_event_to_anthropic(&mut state, &buffer, anthropic_request, credential); + if !rendered.is_empty() { + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write final proxy stream event: {}", err))?; + } + } + + let rendered = finish_anthropic_stream(&mut state); + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream completion: {}", err)) +} + +fn streaming_http_headers() -> String { + "HTTP/1.1 200 OK\r\nContent-Type: text/event-stream; charset=utf-8\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n" + .to_string() +} + +fn take_next_sse_event(buffer: &str) -> Option<(String, String)> { + if let Some(index) = buffer.find("\n\n") { + let event = buffer[..index].to_string(); + let rest = buffer[index + 2..].to_string(); + return Some((event, rest)); + } + if let Some(index) = buffer.find("\r\n\r\n") { + let event = buffer[..index].to_string(); + let rest = buffer[index + 4..].to_string(); + return Some((event, rest)); + } + None +} + +fn openai_sse_event_to_anthropic( + state: &mut OpenAiStreamState, + event: &str, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> String { + let Some(data) = sse_event_data(event) else { + return String::new(); + }; + if data.trim() == "[DONE]" { + return finish_anthropic_stream(state); + } + let Ok(chunk) = serde_json::from_str::(&data) else { + return String::new(); + }; + openai_stream_chunk_to_anthropic(state, &chunk, anthropic_request, credential) +} + +fn sse_event_data(event: &str) -> Option { + let mut parts = Vec::new(); + for line in event.lines() { + let line = line.trim_end_matches('\r'); + if let Some(data) = line.strip_prefix("data:") { + parts.push(data.trim_start()); + } + } + if parts.is_empty() { + None + } else { + Some(parts.join("\n")) + } +} + +fn openai_stream_chunk_to_anthropic( + state: &mut OpenAiStreamState, + chunk: &Value, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> String { + let mut body = String::new(); + ensure_stream_message_started(state, &mut body, chunk, anthropic_request, credential); + + if let Some(usage) = chunk.get("usage") { + state.output_tokens = usage_token( + usage, + &[ + "completion_tokens", + "output_tokens", + "completion_token_count", + ], + ); + } + + let Some(choice) = chunk + .get("choices") + .and_then(|value| value.as_array()) + .and_then(|choices| choices.first()) + else { + return body; + }; + let delta = choice.get("delta").unwrap_or(&Value::Null); + + if let Some(reasoning) = delta_text(delta, &["reasoning_content", "reasoning"]) { + push_stream_text_delta(state, &mut body, "thinking", &reasoning); + } + if let Some(thinking) = delta + .get("thinking") + .and_then(|value| { + value + .get("content") + .and_then(|content| content.as_str()) + .or_else(|| value.as_str()) + }) + .filter(|value| !value.is_empty()) + { + push_stream_text_delta(state, &mut body, "thinking", thinking); + } + if let Some(content) = delta_text(delta, &["content"]) { + push_stream_text_delta(state, &mut body, "text", &content); + } + if let Some(tool_calls) = delta.get("tool_calls").and_then(|value| value.as_array()) { + for call in tool_calls { + push_stream_tool_delta(state, &mut body, call); + } + } + + if let Some(finish_reason) = choice.get("finish_reason").and_then(|value| value.as_str()) { + if !finish_reason.is_empty() { + state.stop_reason = Some(map_openai_finish_reason(finish_reason).to_string()); + } + } + + body +} + +fn ensure_stream_message_started( + state: &mut OpenAiStreamState, + body: &mut String, + chunk: &Value, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) { + if state.message_started { + return; + } + state.message_started = true; + state.message_id = chunk + .get("id") + .and_then(|value| value.as_str()) + .map(str::to_string) + .or_else(|| Some(format!("msg_{}", uuid::Uuid::new_v4().simple()))); + state.model = anthropic_request + .get("model") + .and_then(|value| value.as_str()) + .map(str::to_string) + .or_else(|| { + chunk + .get("model") + .and_then(|value| value.as_str()) + .map(str::to_string) + }) + .or_else(|| Some(credential.model.clone())); + + push_sse( + body, + "message_start", + &json!({ + "type": "message_start", + "message": { + "id": state.message_id.clone().unwrap_or_else(|| format!("msg_{}", uuid::Uuid::new_v4().simple())), + "type": "message", + "role": "assistant", + "model": state.model.clone().unwrap_or_else(|| credential.model.clone()), + "content": [], + "stop_reason": Value::Null, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": 0, + "output_tokens": 0, + }, + }, + }), + ); +} + +fn delta_text(delta: &Value, keys: &[&str]) -> Option { + keys.iter() + .find_map(|key| delta.get(*key).and_then(|value| value.as_str())) + .filter(|value| !value.is_empty()) + .map(str::to_string) +} + +fn push_stream_text_delta( + state: &mut OpenAiStreamState, + body: &mut String, + block_type: &str, + text: &str, +) { + let block_index = if block_type == "thinking" { + if let Some(index) = state.thinking_block_index { + index + } else { + let index = state.next_block_index; + state.next_block_index += 1; + state.thinking_block_index = Some(index); + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "thinking", + "text": "", + }, + }), + ); + index + } + } else if let Some(index) = state.text_block_index { + index + } else { + let index = state.next_block_index; + state.next_block_index += 1; + state.text_block_index = Some(index); + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "text", + "text": "", + }, + }), + ); + index + }; + + let (delta_type, key) = if block_type == "thinking" { + ("thinking_delta", "thinking") + } else { + ("text_delta", "text") + }; + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": block_index, + "delta": { + "type": delta_type, + key: text, + }, + }), + ); +} + +fn push_stream_tool_delta(state: &mut OpenAiStreamState, body: &mut String, call: &Value) { + let openai_index = call + .get("index") + .and_then(|value| value.as_i64()) + .unwrap_or(0); + let block = state.tool_blocks.entry(openai_index).or_default(); + if let Some(id) = call.get("id").and_then(|value| value.as_str()) { + block.id = Some(id.to_string()); + } + let function = call.get("function").unwrap_or(&Value::Null); + if let Some(name) = function.get("name").and_then(|value| value.as_str()) { + if !name.is_empty() { + block.name = Some(name.to_string()); + } + } + if let Some(arguments) = function.get("arguments").and_then(|value| value.as_str()) { + block.buffered_arguments.push_str(arguments); + } + + if !block.started { + block.started = true; + let index = state.next_block_index; + state.next_block_index += 1; + block.block_index = Some(index); + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "tool_use", + "id": block.id.clone().unwrap_or_else(|| format!("toolu_{}", uuid::Uuid::new_v4().simple())), + "name": block.name.clone().unwrap_or_else(|| "unknown".to_string()), + "input": {}, + }, + }), + ); + } + + if let Some(index) = block.block_index { + if let Some(arguments) = function.get("arguments").and_then(|value| value.as_str()) { + if !arguments.is_empty() { + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": "input_json_delta", + "partial_json": arguments, + }, + }), + ); + } + } + } +} + +fn finish_anthropic_stream(state: &mut OpenAiStreamState) -> String { + if state.completed { + return String::new(); + } + state.completed = true; + let mut body = String::new(); + if !state.message_started { + state.message_started = true; + let message_id = format!("msg_{}", uuid::Uuid::new_v4().simple()); + state.message_id = Some(message_id.clone()); + push_sse( + &mut body, + "message_start", + &json!({ + "type": "message_start", + "message": { + "id": message_id, + "type": "message", + "role": "assistant", + "model": state.model.clone().unwrap_or_else(|| "claude-prism-proxy".to_string()), + "content": [], + "stop_reason": Value::Null, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": 0, + "output_tokens": 0, + }, + }, + }), + ); + } + let mut indexes = Vec::new(); + if let Some(index) = state.thinking_block_index.take() { + indexes.push(index); + } + if let Some(index) = state.text_block_index.take() { + indexes.push(index); + } + for block in state.tool_blocks.values_mut() { + if let Some(index) = block.block_index.take() { + indexes.push(index); + } + } + indexes.sort_unstable(); + for index in indexes { + push_sse( + &mut body, + "content_block_stop", + &json!({ + "type": "content_block_stop", + "index": index, + }), + ); + } + push_sse( + &mut body, + "message_delta", + &json!({ + "type": "message_delta", + "delta": { + "stop_reason": state.stop_reason.clone().unwrap_or_else(|| "end_turn".to_string()), + "stop_sequence": Value::Null, + }, + "usage": { + "output_tokens": state.output_tokens, + }, + }), + ); + push_sse( + &mut body, + "message_stop", + &json!({ "type": "message_stop" }), + ); + body +} + +fn map_openai_finish_reason(reason: &str) -> &str { + match reason { + "length" => "max_tokens", + "tool_calls" => "tool_use", + _ => "end_turn", + } +} + fn sse_response(message: &Value) -> String { let content = message .get("content") @@ -1111,4 +1609,113 @@ mod tests { assert_eq!(converted["content"][0]["type"], "tool_use"); assert_eq!(converted["content"][0]["input"]["pattern"], "FastVID"); } + + #[test] + fn streams_openai_text_delta_as_anthropic_sse() { + let credential = OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.example.com/v1".to_string(), + model: "qwen-test".to_string(), + }; + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "model": "qwen-test", + "choices": [{ + "delta": { "content": "Hello" }, + "finish_reason": null + }] + }); + + let first = openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential); + let done = finish_anthropic_stream(&mut state); + let combined = format!("{}{}", first, done); + + assert!(combined.contains("event: message_start")); + assert!(combined.contains("\"model\":\"claude-sonnet-4\"")); + assert!(combined.contains("\"type\":\"text_delta\"")); + assert!(combined.contains("\"text\":\"Hello\"")); + assert!(combined.contains("\"stop_reason\":\"end_turn\"")); + assert!(finish_anthropic_stream(&mut state).is_empty()); + } + + #[test] + fn streams_reasoning_content_as_thinking_delta() { + let credential = OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.example.com/v1".to_string(), + model: "deepseek-test".to_string(), + }; + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { "reasoning_content": "I should inspect files." }, + "finish_reason": null + }] + }); + + let rendered = openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential); + + assert!(rendered.contains("\"type\":\"thinking\"")); + assert!(rendered.contains("\"type\":\"thinking_delta\"")); + assert!(rendered.contains("\"thinking\":\"I should inspect files.\"")); + } + + #[test] + fn streams_openai_tool_call_as_anthropic_tool_use() { + let credential = OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.example.com/v1".to_string(), + model: "qwen-test".to_string(), + }; + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let first_chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "id": "call_1", + "type": "function", + "function": { + "name": "Read", + "arguments": "{\"file_path\":" + } + }] + }, + "finish_reason": null + }] + }); + let second_chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "function": { "arguments": "\"main.tex\"}" } + }] + }, + "finish_reason": "tool_calls" + }] + }); + + let first = + openai_stream_chunk_to_anthropic(&mut state, &first_chunk, &request, &credential); + let second = + openai_stream_chunk_to_anthropic(&mut state, &second_chunk, &request, &credential); + let done = finish_anthropic_stream(&mut state); + let combined = format!("{}{}{}", first, second, done); + + assert!(combined.contains("\"type\":\"tool_use\"")); + assert!(combined.contains("\"id\":\"call_1\"")); + assert!(combined.contains("\"name\":\"Read\"")); + assert!(combined.contains("\"type\":\"input_json_delta\"")); + assert!(combined.contains("{\\\"file_path\\\":")); + assert!(combined.contains("\\\"main.tex\\\"}")); + assert!(combined.contains("\"stop_reason\":\"tool_use\"")); + } } diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 790954c..74cda83 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -60,7 +60,6 @@ pub struct OpenAiCompatibleCredentialInfo { const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; -const MAX_MODEL_SESSION_TITLE_GENERATIONS_PER_LIST: usize = 12; /// Check if an environment variable should be explicitly passed to child processes. /// @@ -2794,7 +2793,6 @@ struct SessionTitleCache { struct SessionCandidate { session_id: String, - path: PathBuf, fallback_title: String, title: Option, last_modified: i64, @@ -3308,6 +3306,7 @@ pub async fn list_claude_sessions( project_path: String, generate_titles: Option, ) -> Result, String> { + let _ = generate_titles; eprintln!( "[session] list_claude_sessions called with project_path={}", project_path @@ -3360,7 +3359,6 @@ pub async fn list_claude_sessions( candidates.push(SessionCandidate { session_id, - path, fallback_title, title, last_modified: modified, @@ -3369,58 +3367,6 @@ pub async fn list_claude_sessions( candidates.sort_by(|a, b| b.last_modified.cmp(&a.last_modified)); - let should_generate_titles = generate_titles.unwrap_or(true); - let title_credential = should_generate_titles - .then(|| { - read_claude_prism_auth_config() - .ok() - .and_then(|config| session_title_credential_from_config(&config)) - }) - .flatten(); - let title_client = title_credential.as_ref().and_then(|_| { - reqwest::Client::builder() - .timeout(std::time::Duration::from_secs(8)) - .build() - .ok() - }); - - if should_generate_titles { - if let (Some(client), Some(credential)) = (title_client.as_ref(), title_credential.as_ref()) - { - for candidate in candidates - .iter_mut() - .filter(|candidate| candidate.title.is_none()) - .take(MAX_MODEL_SESSION_TITLE_GENERATIONS_PER_LIST) - { - let Some(excerpt) = session_excerpt_for_model_title(&candidate.path) else { - continue; - }; - match generate_model_session_title(client, credential, &excerpt).await { - Ok(Some(title)) => { - if let Err(err) = write_session_title_cache( - &candidate.path, - candidate.last_modified, - &title, - ) { - eprintln!( - "[session] failed to cache model title for {}: {}", - candidate.session_id, err - ); - } - candidate.title = Some(title); - } - Ok(None) => {} - Err(err) => { - eprintln!( - "[session] failed to generate model title for {}: {}", - candidate.session_id, err - ); - } - } - } - } - } - let mut sessions: Vec = candidates .into_iter() .map(|candidate| ClaudeSessionInfo { @@ -3443,6 +3389,66 @@ pub async fn list_claude_sessions( Ok(sessions) } +fn is_valid_session_id(session_id: &str) -> bool { + !session_id.is_empty() + && session_id + .chars() + .all(|c| c.is_ascii_alphanumeric() || c == '-' || c == '_') +} + +#[tauri::command] +pub async fn generate_claude_session_title( + project_path: String, + session_id: String, +) -> Result, String> { + if !is_valid_session_id(&session_id) { + return Err("Invalid session id".to_string()); + } + + let sessions_dir = get_sessions_dir(&project_path)?; + let session_path = sessions_dir.join(format!("{}.jsonl", session_id)); + if !session_path.exists() { + return Ok(None); + } + + if let Some(title) = read_session_title_cache(&session_path) { + return Ok(Some(title)); + } + + let modified = std::fs::metadata(&session_path) + .ok() + .and_then(|m| m.modified().ok()) + .map(|t| { + t.duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_secs() as i64 + }) + .unwrap_or(0); + + let Some(excerpt) = session_excerpt_for_model_title(&session_path) else { + return Ok(None); + }; + let Some(credential) = read_claude_prism_auth_config() + .ok() + .and_then(|config| session_title_credential_from_config(&config)) + else { + return Ok(None); + }; + let Ok(client) = reqwest::Client::builder() + .timeout(std::time::Duration::from_secs(8)) + .build() + else { + return Ok(None); + }; + + let Some(title) = generate_model_session_title(&client, &credential, &excerpt).await? else { + return Ok(None); + }; + + write_session_title_cache(&session_path, modified, &title)?; + Ok(Some(title)) +} + /// Load the full JSONL history for a specific session. #[tauri::command] pub async fn load_session_history( diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index a6034e7..a3f4458 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -618,6 +618,7 @@ pub fn run() { claude::get_claude_fast_mode, claude::set_claude_fast_mode, claude::list_claude_sessions, + claude::generate_claude_session_title, claude::load_session_history, claude::delete_claude_session, zotero::zotero_start_oauth, diff --git a/apps/desktop/src/components/claude-chat/session-selector.tsx b/apps/desktop/src/components/claude-chat/session-selector.tsx index 44fbd13..f9fa0e9 100644 --- a/apps/desktop/src/components/claude-chat/session-selector.tsx +++ b/apps/desktop/src/components/claude-chat/session-selector.tsx @@ -80,6 +80,7 @@ export function SessionSelector() { try { const result = await invoke("list_claude_sessions", { projectPath: projectRoot, + generateTitles: false, }); log.debug("loaded sessions", { count: result.length }); setSessions(result); diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index 6c2b832..a7f2deb 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -36,12 +36,6 @@ interface ClaudeErrorPayload { data: string; } -interface ClaudeSessionInfo { - session_id: string; - title: string; - last_modified: number; -} - /** * Hook that manages Tauri event listeners for Claude CLI streaming output. * @@ -400,20 +394,17 @@ export function useClaudeEvents() { if (projectPath && completedSessionId) { void (async () => { try { - const sessions = await invoke( - "list_claude_sessions", + const title = await invoke( + "generate_claude_session_title", { projectPath, - generateTitles: true, + sessionId: completedSessionId, }, ); - const session = sessions.find( - (item) => item.session_id === completedSessionId, - ); - if (session?.title) { + if (title) { useClaudeChatStore .getState() - ._setSessionTitle(completedSessionId, session.title); + ._setSessionTitle(completedSessionId, title); } } catch (err) { log.warn("failed to refresh completed session title", { From 41e34b13e6f5a06a7244478567927c619f252ff3 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 13:06:07 +0800 Subject: [PATCH 081/118] feat: align compatible proxy with Claude Code Router Keep OpenAI-compatible providers on the native Claude Code pipeline while moving proxy transforms into dedicated modules. Add CCR-style message, provider, stream, and tool handling for thinking signatures, ExitTool fallback, streamed tool argument repair, cache cleanup, stream usage, and provider token compatibility. --- apps/desktop/src-tauri/src/anthropic_proxy.rs | 1206 +---------------- .../src-tauri/src/anthropic_proxy/messages.rs | 756 +++++++++++ .../src/anthropic_proxy/providers.rs | 209 +++ .../src-tauri/src/anthropic_proxy/stream.rs | 888 ++++++++++++ .../src-tauri/src/anthropic_proxy/tools.rs | 198 +++ 5 files changed, 2065 insertions(+), 1192 deletions(-) create mode 100644 apps/desktop/src-tauri/src/anthropic_proxy/messages.rs create mode 100644 apps/desktop/src-tauri/src/anthropic_proxy/providers.rs create mode 100644 apps/desktop/src-tauri/src/anthropic_proxy/stream.rs create mode 100644 apps/desktop/src-tauri/src/anthropic_proxy/tools.rs diff --git a/apps/desktop/src-tauri/src/anthropic_proxy.rs b/apps/desktop/src-tauri/src/anthropic_proxy.rs index e550fbd..1ecd0dd 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy.rs @@ -1,5 +1,12 @@ +mod messages; +mod providers; +mod stream; +mod tools; + +use self::messages::{anthropic_to_openai_request, openai_to_anthropic_message}; +use self::providers::apply_provider_request_transforms; +use self::stream::{sse_response, stream_openai_sse_to_anthropic}; use serde_json::{json, Value}; -use std::collections::HashMap; use std::net::SocketAddr; use std::sync::Arc; use tokio::io::{AsyncReadExt, AsyncWriteExt}; @@ -212,6 +219,12 @@ async fn handle_messages_to_stream( .unwrap_or(false); let mut openai_request = anthropic_to_openai_request(&anthropic_request, credential)?; openai_request["stream"] = Value::Bool(wants_stream); + apply_provider_request_transforms( + &mut openai_request, + &anthropic_request, + credential, + wants_stream, + ); let client = reqwest::Client::builder() .timeout(std::time::Duration::from_secs(300)) @@ -278,1088 +291,6 @@ async fn handle_messages_to_stream( } } -fn anthropic_to_openai_request( - request: &Value, - credential: &OpenAiProxyCredential, -) -> Result { - let mut messages = Vec::new(); - if let Some(system) = request.get("system").and_then(flatten_anthropic_content) { - if !system.trim().is_empty() { - messages.push(json!({ "role": "system", "content": system })); - } - } - - for message in request - .get("messages") - .and_then(|value| value.as_array()) - .ok_or_else(|| "Anthropic request is missing messages[]".to_string())? - { - append_openai_messages_for_anthropic_message(&mut messages, message); - } - let messages = normalize_openai_tool_message_pairs(messages); - - let mut body = json!({ - "model": credential.model, - "messages": messages, - "stream": false, - }); - copy_number_field(request, &mut body, "temperature"); - copy_number_field(request, &mut body, "top_p"); - copy_number_field(request, &mut body, "max_tokens"); - if let Some(stop) = request.get("stop_sequences") { - body["stop"] = stop.clone(); - } - - if let Some(tools) = request.get("tools").and_then(|value| value.as_array()) { - let converted = tools - .iter() - .filter_map(anthropic_tool_to_openai_tool) - .collect::>(); - if !converted.is_empty() { - body["tools"] = Value::Array(converted); - body["tool_choice"] = openai_tool_choice(request.get("tool_choice")); - } - } - - Ok(body) -} - -fn append_openai_messages_for_anthropic_message(messages: &mut Vec, message: &Value) { - let role = message - .get("role") - .and_then(|value| value.as_str()) - .unwrap_or("user"); - let content = message.get("content").unwrap_or(&Value::Null); - - if role == "assistant" { - let (text, tool_calls) = assistant_content_to_openai(content); - let mut openai_message = json!({ - "role": "assistant", - "content": if text.trim().is_empty() { Value::Null } else { Value::String(text) }, - }); - if !tool_calls.is_empty() { - openai_message["tool_calls"] = Value::Array(tool_calls); - } - messages.push(openai_message); - return; - } - - if let Some(blocks) = content.as_array() { - let text = blocks - .iter() - .filter(|block| block.get("type").and_then(|value| value.as_str()) == Some("text")) - .filter_map(|block| block.get("text").and_then(|value| value.as_str())) - .collect::>() - .join("\n\n"); - if !text.trim().is_empty() { - messages.push(json!({ "role": role, "content": text })); - } - - for block in blocks { - if block.get("type").and_then(|value| value.as_str()) != Some("tool_result") { - continue; - } - let tool_call_id = block - .get("tool_use_id") - .and_then(|value| value.as_str()) - .unwrap_or("toolu_unknown"); - let content = flatten_tool_result_content(block.get("content").unwrap_or(&Value::Null)); - messages.push(json!({ - "role": "tool", - "tool_call_id": tool_call_id, - "content": content, - })); - } - return; - } - - let text = content - .as_str() - .map(str::to_string) - .unwrap_or_else(|| content.to_string()); - messages.push(json!({ "role": role, "content": text })); -} - -fn normalize_openai_tool_message_pairs(messages: Vec) -> Vec { - let mut normalized = Vec::with_capacity(messages.len()); - let mut consumed = vec![false; messages.len()]; - - for index in 0..messages.len() { - if consumed[index] { - continue; - } - - let message = &messages[index]; - let tool_call_ids = openai_assistant_tool_call_ids(message); - if !tool_call_ids.is_empty() { - consumed[index] = true; - normalized.push(message.clone()); - - for tool_call_id in tool_call_ids { - if let Some(tool_index) = - find_following_tool_message(&messages, &consumed, index + 1, &tool_call_id) - { - consumed[tool_index] = true; - normalized.push(messages[tool_index].clone()); - } else { - normalized.push(json!({ - "role": "tool", - "tool_call_id": tool_call_id, - "content": "Tool result unavailable in the prior Claude Code transcript.", - })); - } - } - continue; - } - - consumed[index] = true; - if openai_message_role(message) == Some("tool") { - normalized.push(orphan_tool_message_to_user_message(message)); - } else { - normalized.push(message.clone()); - } - } - - normalized -} - -fn openai_assistant_tool_call_ids(message: &Value) -> Vec { - if openai_message_role(message) != Some("assistant") { - return Vec::new(); - } - - message - .get("tool_calls") - .and_then(|value| value.as_array()) - .map(|tool_calls| { - tool_calls - .iter() - .filter_map(|tool_call| tool_call.get("id").and_then(|value| value.as_str())) - .map(str::to_string) - .collect() - }) - .unwrap_or_default() -} - -fn find_following_tool_message( - messages: &[Value], - consumed: &[bool], - start: usize, - tool_call_id: &str, -) -> Option { - for index in start..messages.len() { - if consumed[index] { - continue; - } - let message = &messages[index]; - if openai_message_role(message) == Some("assistant") { - break; - } - if openai_tool_message_id(message) == Some(tool_call_id) { - return Some(index); - } - } - None -} - -fn orphan_tool_message_to_user_message(message: &Value) -> Value { - let tool_call_id = openai_tool_message_id(message).unwrap_or("unknown"); - let content = message - .get("content") - .and_then(|value| value.as_str()) - .map(str::to_string) - .unwrap_or_else(|| { - message - .get("content") - .cloned() - .unwrap_or(Value::Null) - .to_string() - }); - - json!({ - "role": "user", - "content": format!("Tool result for {}:\n{}", tool_call_id, content), - }) -} - -fn openai_message_role(message: &Value) -> Option<&str> { - message.get("role").and_then(|value| value.as_str()) -} - -fn openai_tool_message_id(message: &Value) -> Option<&str> { - if openai_message_role(message) != Some("tool") { - return None; - } - message.get("tool_call_id").and_then(|value| value.as_str()) -} - -fn flatten_anthropic_content(value: &Value) -> Option { - if let Some(text) = value.as_str() { - return Some(text.to_string()); - } - - value.as_array().map(|blocks| { - blocks - .iter() - .filter_map(|block| { - block - .get("text") - .and_then(|value| value.as_str()) - .or_else(|| block.get("content").and_then(|value| value.as_str())) - }) - .collect::>() - .join("\n\n") - }) -} - -fn assistant_content_to_openai(content: &Value) -> (String, Vec) { - let Some(blocks) = content.as_array() else { - return ( - content - .as_str() - .map(str::to_string) - .unwrap_or_else(|| content.to_string()), - Vec::new(), - ); - }; - - let mut text = Vec::new(); - let mut tool_calls = Vec::new(); - for block in blocks { - match block.get("type").and_then(|value| value.as_str()) { - Some("text") => { - if let Some(value) = block.get("text").and_then(|value| value.as_str()) { - text.push(value); - } - } - Some("tool_use") => { - let id = block - .get("id") - .and_then(|value| value.as_str()) - .unwrap_or("toolu_unknown"); - let name = block - .get("name") - .and_then(|value| value.as_str()) - .unwrap_or("unknown"); - let input = block.get("input").cloned().unwrap_or_else(|| json!({})); - tool_calls.push(json!({ - "id": id, - "type": "function", - "function": { - "name": name, - "arguments": input.to_string(), - }, - })); - } - _ => {} - } - } - - (text.join("\n\n"), tool_calls) -} - -fn flatten_tool_result_content(content: &Value) -> String { - if let Some(text) = content.as_str() { - return text.to_string(); - } - if let Some(blocks) = content.as_array() { - return blocks - .iter() - .filter_map(|block| { - block - .get("text") - .and_then(|value| value.as_str()) - .or_else(|| block.get("content").and_then(|value| value.as_str())) - }) - .collect::>() - .join("\n\n"); - } - content.to_string() -} - -fn anthropic_tool_to_openai_tool(tool: &Value) -> Option { - let name = tool.get("name")?.as_str()?; - let description = tool - .get("description") - .and_then(|value| value.as_str()) - .unwrap_or_default(); - let parameters = tool - .get("input_schema") - .cloned() - .unwrap_or_else(|| json!({ "type": "object", "properties": {} })); - - Some(json!({ - "type": "function", - "function": { - "name": name, - "description": description, - "parameters": parameters, - }, - })) -} - -fn openai_tool_choice(choice: Option<&Value>) -> Value { - let Some(choice) = choice else { - return Value::String("auto".to_string()); - }; - match choice.get("type").and_then(|value| value.as_str()) { - Some("auto") => Value::String("auto".to_string()), - Some("any") => Value::String("required".to_string()), - Some("tool") => { - let name = choice - .get("name") - .and_then(|value| value.as_str()) - .unwrap_or_default(); - json!({ - "type": "function", - "function": { "name": name }, - }) - } - _ => Value::String("auto".to_string()), - } -} - -fn copy_number_field(source: &Value, target: &mut Value, key: &str) { - if let Some(value) = source.get(key).filter(|value| value.is_number()) { - target[key] = value.clone(); - } -} - -fn openai_to_anthropic_message( - anthropic_request: &Value, - openai_response: &Value, - credential: &OpenAiProxyCredential, -) -> Result { - let message = openai_response - .pointer("/choices/0/message") - .ok_or_else(|| "Provider response is missing choices[0].message".to_string())?; - let mut content = Vec::new(); - - let text = message - .get("content") - .and_then(|value| value.as_str()) - .unwrap_or_default(); - if !text.is_empty() { - content.push(json!({ "type": "text", "text": text })); - } - - if let Some(reasoning) = message - .get("reasoning_content") - .or_else(|| message.get("reasoning")) - .and_then(|value| value.as_str()) - .filter(|value| !value.trim().is_empty()) - { - content.insert(0, json!({ "type": "thinking", "thinking": reasoning })); - } - - if let Some(tool_calls) = message.get("tool_calls").and_then(|value| value.as_array()) { - for call in tool_calls { - let function = call.get("function").unwrap_or(&Value::Null); - let name = function - .get("name") - .and_then(|value| value.as_str()) - .unwrap_or("unknown"); - let arguments = function - .get("arguments") - .and_then(|value| value.as_str()) - .unwrap_or("{}"); - let input = serde_json::from_str::(arguments) - .unwrap_or_else(|_| json!({ "arguments": arguments })); - let id = call - .get("id") - .and_then(|value| value.as_str()) - .map(str::to_string) - .unwrap_or_else(|| format!("toolu_{}", uuid::Uuid::new_v4().simple())); - content.push(json!({ - "type": "tool_use", - "id": id, - "name": name, - "input": input, - })); - } - } - - if content.is_empty() { - content.push(json!({ "type": "text", "text": "" })); - } - - let finish_reason = openai_response - .pointer("/choices/0/finish_reason") - .and_then(|value| value.as_str()); - let stop_reason = if content - .iter() - .any(|block| block.get("type").and_then(|value| value.as_str()) == Some("tool_use")) - { - "tool_use" - } else { - match finish_reason { - Some("length") => "max_tokens", - Some("tool_calls") => "tool_use", - _ => "end_turn", - } - }; - - let usage = openai_response.get("usage").unwrap_or(&Value::Null); - Ok(json!({ - "id": openai_response - .get("id") - .and_then(|value| value.as_str()) - .map(str::to_string) - .unwrap_or_else(|| format!("msg_{}", uuid::Uuid::new_v4().simple())), - "type": "message", - "role": "assistant", - "model": anthropic_request - .get("model") - .and_then(|value| value.as_str()) - .unwrap_or(&credential.model), - "content": content, - "stop_reason": stop_reason, - "stop_sequence": Value::Null, - "usage": { - "input_tokens": usage_token(usage, &["prompt_tokens", "input_tokens", "prompt_token_count"]), - "output_tokens": usage_token(usage, &["completion_tokens", "output_tokens", "completion_token_count"]), - }, - })) -} - -fn usage_token(usage: &Value, keys: &[&str]) -> u64 { - keys.iter() - .find_map(|key| usage.get(*key).and_then(|value| value.as_u64())) - .unwrap_or(0) -} - -#[derive(Default)] -struct OpenAiStreamState { - message_started: bool, - completed: bool, - message_id: Option, - model: Option, - next_block_index: usize, - text_block_index: Option, - thinking_block_index: Option, - tool_blocks: HashMap, - stop_reason: Option, - output_tokens: u64, -} - -#[derive(Default)] -struct StreamToolBlock { - block_index: Option, - id: Option, - name: Option, - buffered_arguments: String, - started: bool, -} - -async fn stream_openai_sse_to_anthropic( - stream: &mut TcpStream, - mut response: reqwest::Response, - anthropic_request: &Value, - credential: &OpenAiProxyCredential, -) -> Result<(), String> { - stream - .write_all(streaming_http_headers().as_bytes()) - .await - .map_err(|err| format!("Failed to write proxy stream headers: {}", err))?; - - let mut state = OpenAiStreamState::default(); - let mut buffer = String::new(); - while let Some(chunk) = response - .chunk() - .await - .map_err(|err| format!("Failed to read provider stream: {}", err))? - { - buffer.push_str(&String::from_utf8_lossy(&chunk)); - while let Some((event, rest)) = take_next_sse_event(&buffer) { - buffer = rest; - let rendered = - openai_sse_event_to_anthropic(&mut state, &event, anthropic_request, credential); - if !rendered.is_empty() { - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write proxy stream event: {}", err))?; - } - } - } - - if !buffer.trim().is_empty() { - let rendered = - openai_sse_event_to_anthropic(&mut state, &buffer, anthropic_request, credential); - if !rendered.is_empty() { - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write final proxy stream event: {}", err))?; - } - } - - let rendered = finish_anthropic_stream(&mut state); - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write proxy stream completion: {}", err)) -} - -fn streaming_http_headers() -> String { - "HTTP/1.1 200 OK\r\nContent-Type: text/event-stream; charset=utf-8\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n" - .to_string() -} - -fn take_next_sse_event(buffer: &str) -> Option<(String, String)> { - if let Some(index) = buffer.find("\n\n") { - let event = buffer[..index].to_string(); - let rest = buffer[index + 2..].to_string(); - return Some((event, rest)); - } - if let Some(index) = buffer.find("\r\n\r\n") { - let event = buffer[..index].to_string(); - let rest = buffer[index + 4..].to_string(); - return Some((event, rest)); - } - None -} - -fn openai_sse_event_to_anthropic( - state: &mut OpenAiStreamState, - event: &str, - anthropic_request: &Value, - credential: &OpenAiProxyCredential, -) -> String { - let Some(data) = sse_event_data(event) else { - return String::new(); - }; - if data.trim() == "[DONE]" { - return finish_anthropic_stream(state); - } - let Ok(chunk) = serde_json::from_str::(&data) else { - return String::new(); - }; - openai_stream_chunk_to_anthropic(state, &chunk, anthropic_request, credential) -} - -fn sse_event_data(event: &str) -> Option { - let mut parts = Vec::new(); - for line in event.lines() { - let line = line.trim_end_matches('\r'); - if let Some(data) = line.strip_prefix("data:") { - parts.push(data.trim_start()); - } - } - if parts.is_empty() { - None - } else { - Some(parts.join("\n")) - } -} - -fn openai_stream_chunk_to_anthropic( - state: &mut OpenAiStreamState, - chunk: &Value, - anthropic_request: &Value, - credential: &OpenAiProxyCredential, -) -> String { - let mut body = String::new(); - ensure_stream_message_started(state, &mut body, chunk, anthropic_request, credential); - - if let Some(usage) = chunk.get("usage") { - state.output_tokens = usage_token( - usage, - &[ - "completion_tokens", - "output_tokens", - "completion_token_count", - ], - ); - } - - let Some(choice) = chunk - .get("choices") - .and_then(|value| value.as_array()) - .and_then(|choices| choices.first()) - else { - return body; - }; - let delta = choice.get("delta").unwrap_or(&Value::Null); - - if let Some(reasoning) = delta_text(delta, &["reasoning_content", "reasoning"]) { - push_stream_text_delta(state, &mut body, "thinking", &reasoning); - } - if let Some(thinking) = delta - .get("thinking") - .and_then(|value| { - value - .get("content") - .and_then(|content| content.as_str()) - .or_else(|| value.as_str()) - }) - .filter(|value| !value.is_empty()) - { - push_stream_text_delta(state, &mut body, "thinking", thinking); - } - if let Some(content) = delta_text(delta, &["content"]) { - push_stream_text_delta(state, &mut body, "text", &content); - } - if let Some(tool_calls) = delta.get("tool_calls").and_then(|value| value.as_array()) { - for call in tool_calls { - push_stream_tool_delta(state, &mut body, call); - } - } - - if let Some(finish_reason) = choice.get("finish_reason").and_then(|value| value.as_str()) { - if !finish_reason.is_empty() { - state.stop_reason = Some(map_openai_finish_reason(finish_reason).to_string()); - } - } - - body -} - -fn ensure_stream_message_started( - state: &mut OpenAiStreamState, - body: &mut String, - chunk: &Value, - anthropic_request: &Value, - credential: &OpenAiProxyCredential, -) { - if state.message_started { - return; - } - state.message_started = true; - state.message_id = chunk - .get("id") - .and_then(|value| value.as_str()) - .map(str::to_string) - .or_else(|| Some(format!("msg_{}", uuid::Uuid::new_v4().simple()))); - state.model = anthropic_request - .get("model") - .and_then(|value| value.as_str()) - .map(str::to_string) - .or_else(|| { - chunk - .get("model") - .and_then(|value| value.as_str()) - .map(str::to_string) - }) - .or_else(|| Some(credential.model.clone())); - - push_sse( - body, - "message_start", - &json!({ - "type": "message_start", - "message": { - "id": state.message_id.clone().unwrap_or_else(|| format!("msg_{}", uuid::Uuid::new_v4().simple())), - "type": "message", - "role": "assistant", - "model": state.model.clone().unwrap_or_else(|| credential.model.clone()), - "content": [], - "stop_reason": Value::Null, - "stop_sequence": Value::Null, - "usage": { - "input_tokens": 0, - "output_tokens": 0, - }, - }, - }), - ); -} - -fn delta_text(delta: &Value, keys: &[&str]) -> Option { - keys.iter() - .find_map(|key| delta.get(*key).and_then(|value| value.as_str())) - .filter(|value| !value.is_empty()) - .map(str::to_string) -} - -fn push_stream_text_delta( - state: &mut OpenAiStreamState, - body: &mut String, - block_type: &str, - text: &str, -) { - let block_index = if block_type == "thinking" { - if let Some(index) = state.thinking_block_index { - index - } else { - let index = state.next_block_index; - state.next_block_index += 1; - state.thinking_block_index = Some(index); - push_sse( - body, - "content_block_start", - &json!({ - "type": "content_block_start", - "index": index, - "content_block": { - "type": "thinking", - "text": "", - }, - }), - ); - index - } - } else if let Some(index) = state.text_block_index { - index - } else { - let index = state.next_block_index; - state.next_block_index += 1; - state.text_block_index = Some(index); - push_sse( - body, - "content_block_start", - &json!({ - "type": "content_block_start", - "index": index, - "content_block": { - "type": "text", - "text": "", - }, - }), - ); - index - }; - - let (delta_type, key) = if block_type == "thinking" { - ("thinking_delta", "thinking") - } else { - ("text_delta", "text") - }; - push_sse( - body, - "content_block_delta", - &json!({ - "type": "content_block_delta", - "index": block_index, - "delta": { - "type": delta_type, - key: text, - }, - }), - ); -} - -fn push_stream_tool_delta(state: &mut OpenAiStreamState, body: &mut String, call: &Value) { - let openai_index = call - .get("index") - .and_then(|value| value.as_i64()) - .unwrap_or(0); - let block = state.tool_blocks.entry(openai_index).or_default(); - if let Some(id) = call.get("id").and_then(|value| value.as_str()) { - block.id = Some(id.to_string()); - } - let function = call.get("function").unwrap_or(&Value::Null); - if let Some(name) = function.get("name").and_then(|value| value.as_str()) { - if !name.is_empty() { - block.name = Some(name.to_string()); - } - } - if let Some(arguments) = function.get("arguments").and_then(|value| value.as_str()) { - block.buffered_arguments.push_str(arguments); - } - - if !block.started { - block.started = true; - let index = state.next_block_index; - state.next_block_index += 1; - block.block_index = Some(index); - push_sse( - body, - "content_block_start", - &json!({ - "type": "content_block_start", - "index": index, - "content_block": { - "type": "tool_use", - "id": block.id.clone().unwrap_or_else(|| format!("toolu_{}", uuid::Uuid::new_v4().simple())), - "name": block.name.clone().unwrap_or_else(|| "unknown".to_string()), - "input": {}, - }, - }), - ); - } - - if let Some(index) = block.block_index { - if let Some(arguments) = function.get("arguments").and_then(|value| value.as_str()) { - if !arguments.is_empty() { - push_sse( - body, - "content_block_delta", - &json!({ - "type": "content_block_delta", - "index": index, - "delta": { - "type": "input_json_delta", - "partial_json": arguments, - }, - }), - ); - } - } - } -} - -fn finish_anthropic_stream(state: &mut OpenAiStreamState) -> String { - if state.completed { - return String::new(); - } - state.completed = true; - let mut body = String::new(); - if !state.message_started { - state.message_started = true; - let message_id = format!("msg_{}", uuid::Uuid::new_v4().simple()); - state.message_id = Some(message_id.clone()); - push_sse( - &mut body, - "message_start", - &json!({ - "type": "message_start", - "message": { - "id": message_id, - "type": "message", - "role": "assistant", - "model": state.model.clone().unwrap_or_else(|| "claude-prism-proxy".to_string()), - "content": [], - "stop_reason": Value::Null, - "stop_sequence": Value::Null, - "usage": { - "input_tokens": 0, - "output_tokens": 0, - }, - }, - }), - ); - } - let mut indexes = Vec::new(); - if let Some(index) = state.thinking_block_index.take() { - indexes.push(index); - } - if let Some(index) = state.text_block_index.take() { - indexes.push(index); - } - for block in state.tool_blocks.values_mut() { - if let Some(index) = block.block_index.take() { - indexes.push(index); - } - } - indexes.sort_unstable(); - for index in indexes { - push_sse( - &mut body, - "content_block_stop", - &json!({ - "type": "content_block_stop", - "index": index, - }), - ); - } - push_sse( - &mut body, - "message_delta", - &json!({ - "type": "message_delta", - "delta": { - "stop_reason": state.stop_reason.clone().unwrap_or_else(|| "end_turn".to_string()), - "stop_sequence": Value::Null, - }, - "usage": { - "output_tokens": state.output_tokens, - }, - }), - ); - push_sse( - &mut body, - "message_stop", - &json!({ "type": "message_stop" }), - ); - body -} - -fn map_openai_finish_reason(reason: &str) -> &str { - match reason { - "length" => "max_tokens", - "tool_calls" => "tool_use", - _ => "end_turn", - } -} - -fn sse_response(message: &Value) -> String { - let content = message - .get("content") - .and_then(|value| value.as_array()) - .cloned() - .unwrap_or_default(); - let input_tokens = message - .pointer("/usage/input_tokens") - .and_then(|value| value.as_u64()) - .unwrap_or(0); - let output_tokens = message - .pointer("/usage/output_tokens") - .and_then(|value| value.as_u64()) - .unwrap_or(0); - - let start = json!({ - "type": "message_start", - "message": { - "id": message.get("id").cloned().unwrap_or_else(|| json!(format!("msg_{}", uuid::Uuid::new_v4().simple()))), - "type": "message", - "role": "assistant", - "model": message.get("model").cloned().unwrap_or_else(|| json!("claude-prism-proxy")), - "content": [], - "stop_reason": Value::Null, - "stop_sequence": Value::Null, - "usage": { - "input_tokens": input_tokens, - "output_tokens": 0, - }, - }, - }); - - let mut body = String::new(); - push_sse(&mut body, "message_start", &start); - for (index, block) in content.iter().enumerate() { - let block_type = block - .get("type") - .and_then(|value| value.as_str()) - .unwrap_or("text"); - match block_type { - "tool_use" => { - let content_block = json!({ - "type": "tool_use", - "id": block.get("id").cloned().unwrap_or_else(|| json!(format!("toolu_{}", uuid::Uuid::new_v4().simple()))), - "name": block.get("name").cloned().unwrap_or_else(|| json!("unknown")), - "input": {}, - }); - push_sse( - &mut body, - "content_block_start", - &json!({ - "type": "content_block_start", - "index": index, - "content_block": content_block, - }), - ); - let input = block.get("input").cloned().unwrap_or_else(|| json!({})); - push_sse( - &mut body, - "content_block_delta", - &json!({ - "type": "content_block_delta", - "index": index, - "delta": { - "type": "input_json_delta", - "partial_json": input.to_string(), - }, - }), - ); - } - "thinking" => { - push_text_like_sse_block( - &mut body, - index, - "thinking", - block - .get("thinking") - .and_then(|value| value.as_str()) - .unwrap_or_default(), - ); - } - _ => { - push_text_like_sse_block( - &mut body, - index, - "text", - block - .get("text") - .and_then(|value| value.as_str()) - .unwrap_or_default(), - ); - } - } - push_sse( - &mut body, - "content_block_stop", - &json!({ - "type": "content_block_stop", - "index": index, - }), - ); - } - push_sse( - &mut body, - "message_delta", - &json!({ - "type": "message_delta", - "delta": { - "stop_reason": message.get("stop_reason").cloned().unwrap_or_else(|| json!("end_turn")), - "stop_sequence": Value::Null, - }, - "usage": { - "output_tokens": output_tokens, - }, - }), - ); - push_sse( - &mut body, - "message_stop", - &json!({ "type": "message_stop" }), - ); - - http_response( - 200, - "text/event-stream; charset=utf-8", - &format!("{}{}", body, "\n"), - ) -} - -fn push_text_like_sse_block(body: &mut String, index: usize, block_type: &str, text: &str) { - push_sse( - body, - "content_block_start", - &json!({ - "type": "content_block_start", - "index": index, - "content_block": { - "type": block_type, - "text": "", - }, - }), - ); - if !text.is_empty() { - let delta_type = if block_type == "thinking" { - "thinking_delta" - } else { - "text_delta" - }; - let delta_key = if block_type == "thinking" { - "thinking" - } else { - "text" - }; - push_sse( - body, - "content_block_delta", - &json!({ - "type": "content_block_delta", - "index": index, - "delta": { - "type": delta_type, - delta_key: text, - }, - }), - ); - } -} - -fn push_sse(body: &mut String, event: &str, data: &Value) { - body.push_str("event: "); - body.push_str(event); - body.push('\n'); - body.push_str("data: "); - body.push_str(&data.to_string()); - body.push_str("\n\n"); -} - fn openai_chat_completions_url(base_url: &str) -> String { let clean = base_url.trim_end_matches('/'); if clean.ends_with("/chat/completions") { @@ -1609,113 +540,4 @@ mod tests { assert_eq!(converted["content"][0]["type"], "tool_use"); assert_eq!(converted["content"][0]["input"]["pattern"], "FastVID"); } - - #[test] - fn streams_openai_text_delta_as_anthropic_sse() { - let credential = OpenAiProxyCredential { - api_key: "sk-test".to_string(), - base_url: "https://api.example.com/v1".to_string(), - model: "qwen-test".to_string(), - }; - let request = json!({ "model": "claude-sonnet-4" }); - let mut state = OpenAiStreamState::default(); - let chunk = json!({ - "id": "chatcmpl_1", - "model": "qwen-test", - "choices": [{ - "delta": { "content": "Hello" }, - "finish_reason": null - }] - }); - - let first = openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential); - let done = finish_anthropic_stream(&mut state); - let combined = format!("{}{}", first, done); - - assert!(combined.contains("event: message_start")); - assert!(combined.contains("\"model\":\"claude-sonnet-4\"")); - assert!(combined.contains("\"type\":\"text_delta\"")); - assert!(combined.contains("\"text\":\"Hello\"")); - assert!(combined.contains("\"stop_reason\":\"end_turn\"")); - assert!(finish_anthropic_stream(&mut state).is_empty()); - } - - #[test] - fn streams_reasoning_content_as_thinking_delta() { - let credential = OpenAiProxyCredential { - api_key: "sk-test".to_string(), - base_url: "https://api.example.com/v1".to_string(), - model: "deepseek-test".to_string(), - }; - let request = json!({ "model": "claude-sonnet-4" }); - let mut state = OpenAiStreamState::default(); - let chunk = json!({ - "id": "chatcmpl_1", - "choices": [{ - "delta": { "reasoning_content": "I should inspect files." }, - "finish_reason": null - }] - }); - - let rendered = openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential); - - assert!(rendered.contains("\"type\":\"thinking\"")); - assert!(rendered.contains("\"type\":\"thinking_delta\"")); - assert!(rendered.contains("\"thinking\":\"I should inspect files.\"")); - } - - #[test] - fn streams_openai_tool_call_as_anthropic_tool_use() { - let credential = OpenAiProxyCredential { - api_key: "sk-test".to_string(), - base_url: "https://api.example.com/v1".to_string(), - model: "qwen-test".to_string(), - }; - let request = json!({ "model": "claude-sonnet-4" }); - let mut state = OpenAiStreamState::default(); - let first_chunk = json!({ - "id": "chatcmpl_1", - "choices": [{ - "delta": { - "tool_calls": [{ - "index": 0, - "id": "call_1", - "type": "function", - "function": { - "name": "Read", - "arguments": "{\"file_path\":" - } - }] - }, - "finish_reason": null - }] - }); - let second_chunk = json!({ - "id": "chatcmpl_1", - "choices": [{ - "delta": { - "tool_calls": [{ - "index": 0, - "function": { "arguments": "\"main.tex\"}" } - }] - }, - "finish_reason": "tool_calls" - }] - }); - - let first = - openai_stream_chunk_to_anthropic(&mut state, &first_chunk, &request, &credential); - let second = - openai_stream_chunk_to_anthropic(&mut state, &second_chunk, &request, &credential); - let done = finish_anthropic_stream(&mut state); - let combined = format!("{}{}{}", first, second, done); - - assert!(combined.contains("\"type\":\"tool_use\"")); - assert!(combined.contains("\"id\":\"call_1\"")); - assert!(combined.contains("\"name\":\"Read\"")); - assert!(combined.contains("\"type\":\"input_json_delta\"")); - assert!(combined.contains("{\\\"file_path\\\":")); - assert!(combined.contains("\\\"main.tex\\\"}")); - assert!(combined.contains("\"stop_reason\":\"tool_use\"")); - } } diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs new file mode 100644 index 0000000..1178198 --- /dev/null +++ b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs @@ -0,0 +1,756 @@ +use super::tools::{normalized_tool_call_id, repair_tool_arguments, repaired_tool_arguments_value}; +use super::OpenAiProxyCredential; +use serde_json::{json, Value}; + +const EXIT_TOOL_NAME: &str = "ExitTool"; + +pub(super) fn anthropic_to_openai_request( + request: &Value, + credential: &OpenAiProxyCredential, +) -> Result { + let mut messages = Vec::new(); + if let Some(system) = request.get("system").and_then(flatten_anthropic_content) { + if !system.trim().is_empty() { + messages.push(json!({ "role": "system", "content": system })); + } + } + + for message in request + .get("messages") + .and_then(|value| value.as_array()) + .ok_or_else(|| "Anthropic request is missing messages[]".to_string())? + { + append_openai_messages_for_anthropic_message(&mut messages, message); + } + let messages = normalize_openai_tool_message_pairs(messages); + + let mut body = json!({ + "model": credential.model, + "messages": messages, + "stream": false, + }); + copy_number_field(request, &mut body, "temperature"); + copy_number_field(request, &mut body, "top_p"); + copy_number_field(request, &mut body, "top_k"); + copy_number_field(request, &mut body, "max_tokens"); + if let Some(stop) = request.get("stop_sequences") { + body["stop"] = stop.clone(); + } + + if let Some(tools) = request.get("tools").and_then(|value| value.as_array()) { + let converted = tools + .iter() + .filter_map(anthropic_tool_to_openai_tool) + .collect::>(); + if !converted.is_empty() { + let tool_choice = openai_tool_choice(request.get("tool_choice")); + let mut converted = converted; + if tool_choice == Value::String("required".to_string()) { + append_exit_tool(&mut converted); + append_exit_tool_reminder(&mut body); + } + body["tools"] = Value::Array(converted); + body["tool_choice"] = tool_choice; + } + } + + Ok(body) +} + +pub(super) fn openai_to_anthropic_message( + anthropic_request: &Value, + openai_response: &Value, + credential: &OpenAiProxyCredential, +) -> Result { + let message = openai_response + .pointer("/choices/0/message") + .ok_or_else(|| "Provider response is missing choices[0].message".to_string())?; + let mut content = Vec::new(); + + if let Some(reasoning) = openai_message_thinking(message) { + content.push(json!({ "type": "thinking", "thinking": reasoning })); + } + + if let Some(text) = openai_message_text(message).filter(|value| !value.trim().is_empty()) { + content.push(json!({ "type": "text", "text": text })); + } + + if let Some(tool_calls) = message.get("tool_calls").and_then(|value| value.as_array()) { + for call in tool_calls { + let function = call.get("function").unwrap_or(&Value::Null); + let name = function + .get("name") + .and_then(|value| value.as_str()) + .unwrap_or("unknown"); + let arguments = function + .get("arguments") + .and_then(|value| value.as_str()) + .unwrap_or("{}"); + if name == EXIT_TOOL_NAME { + if let Some(response) = exit_tool_response(arguments) { + content.push(json!({ "type": "text", "text": response })); + } + continue; + } + let input = repaired_tool_arguments_value(arguments); + let id = normalized_tool_call_id(call.get("id").and_then(|value| value.as_str())); + content.push(json!({ + "type": "tool_use", + "id": id, + "name": name, + "input": input, + })); + } + } + + if content.is_empty() { + content.push(json!({ "type": "text", "text": "" })); + } + + let finish_reason = openai_response + .pointer("/choices/0/finish_reason") + .and_then(|value| value.as_str()); + let stop_reason = if content + .iter() + .any(|block| block.get("type").and_then(|value| value.as_str()) == Some("tool_use")) + { + "tool_use" + } else { + match finish_reason { + Some("length") => "max_tokens", + Some("tool_calls") if !contains_only_exit_tool(message) => "tool_use", + _ => "end_turn", + } + }; + + let usage = openai_response.get("usage").unwrap_or(&Value::Null); + Ok(json!({ + "id": openai_response + .get("id") + .and_then(|value| value.as_str()) + .map(str::to_string) + .unwrap_or_else(|| format!("msg_{}", uuid::Uuid::new_v4().simple())), + "type": "message", + "role": "assistant", + "model": anthropic_request + .get("model") + .and_then(|value| value.as_str()) + .unwrap_or(&credential.model), + "content": content, + "stop_reason": stop_reason, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": usage_token(usage, &["prompt_tokens", "input_tokens", "prompt_token_count"]), + "output_tokens": usage_token(usage, &["completion_tokens", "output_tokens", "completion_token_count"]), + }, + })) +} + +fn append_openai_messages_for_anthropic_message(messages: &mut Vec, message: &Value) { + let role = message + .get("role") + .and_then(|value| value.as_str()) + .unwrap_or("user"); + let content = message.get("content").unwrap_or(&Value::Null); + + if role == "assistant" { + let (text, tool_calls, thinking) = assistant_content_to_openai(content); + let mut openai_message = json!({ + "role": "assistant", + "content": if text.trim().is_empty() { Value::Null } else { Value::String(text) }, + }); + if !tool_calls.is_empty() { + openai_message["tool_calls"] = Value::Array(tool_calls); + } + if let Some(thinking) = thinking { + openai_message["thinking"] = thinking; + } + messages.push(openai_message); + return; + } + + if let Some(blocks) = content.as_array() { + let content_parts = user_content_blocks_to_openai_parts(blocks); + if !content_parts.is_empty() { + let content = if content_parts.len() == 1 + && content_parts[0] + .get("type") + .and_then(|value| value.as_str()) + == Some("text") + { + content_parts[0] + .get("text") + .cloned() + .unwrap_or_else(|| json!("")) + } else { + Value::Array(content_parts) + }; + messages.push(json!({ "role": role, "content": content })); + } + + for block in blocks { + if block.get("type").and_then(|value| value.as_str()) != Some("tool_result") { + continue; + } + let tool_call_id = block + .get("tool_use_id") + .and_then(|value| value.as_str()) + .unwrap_or("toolu_unknown"); + let content = flatten_tool_result_content(block.get("content").unwrap_or(&Value::Null)); + messages.push(json!({ + "role": "tool", + "tool_call_id": tool_call_id, + "content": content, + })); + } + return; + } + + let text = content + .as_str() + .map(str::to_string) + .unwrap_or_else(|| content.to_string()); + messages.push(json!({ "role": role, "content": text })); +} + +fn user_content_blocks_to_openai_parts(blocks: &[Value]) -> Vec { + blocks + .iter() + .filter_map( + |block| match block.get("type").and_then(|value| value.as_str()) { + Some("text") => block + .get("text") + .and_then(|value| value.as_str()) + .filter(|value| !value.is_empty()) + .map(|text| json!({ "type": "text", "text": text })), + Some("image") => anthropic_image_block_to_openai_part(block), + _ => None, + }, + ) + .collect() +} + +fn anthropic_image_block_to_openai_part(block: &Value) -> Option { + let source = block.get("source")?; + let url = match source.get("type").and_then(|value| value.as_str()) { + Some("base64") => { + let media_type = source + .get("media_type") + .and_then(|value| value.as_str()) + .unwrap_or("image/png"); + let data = source.get("data").and_then(|value| value.as_str())?; + format!("data:{};base64,{}", media_type, data) + } + Some("url") => source + .get("url") + .and_then(|value| value.as_str())? + .to_string(), + _ => return None, + }; + Some(json!({ + "type": "image_url", + "image_url": { + "url": url, + }, + })) +} + +fn normalize_openai_tool_message_pairs(messages: Vec) -> Vec { + let mut normalized = Vec::with_capacity(messages.len()); + let mut consumed = vec![false; messages.len()]; + + for index in 0..messages.len() { + if consumed[index] { + continue; + } + + let message = &messages[index]; + let tool_call_ids = openai_assistant_tool_call_ids(message); + if !tool_call_ids.is_empty() { + consumed[index] = true; + normalized.push(message.clone()); + + for tool_call_id in tool_call_ids { + if let Some(tool_index) = + find_following_tool_message(&messages, &consumed, index + 1, &tool_call_id) + { + consumed[tool_index] = true; + normalized.push(messages[tool_index].clone()); + } else { + normalized.push(json!({ + "role": "tool", + "tool_call_id": tool_call_id, + "content": "Tool result unavailable in the prior Claude Code transcript.", + })); + } + } + continue; + } + + consumed[index] = true; + if openai_message_role(message) == Some("tool") { + normalized.push(orphan_tool_message_to_user_message(message)); + } else { + normalized.push(message.clone()); + } + } + + normalized +} + +fn openai_assistant_tool_call_ids(message: &Value) -> Vec { + if openai_message_role(message) != Some("assistant") { + return Vec::new(); + } + + message + .get("tool_calls") + .and_then(|value| value.as_array()) + .map(|tool_calls| { + tool_calls + .iter() + .filter_map(|tool_call| tool_call.get("id").and_then(|value| value.as_str())) + .map(str::to_string) + .collect() + }) + .unwrap_or_default() +} + +fn find_following_tool_message( + messages: &[Value], + consumed: &[bool], + start: usize, + tool_call_id: &str, +) -> Option { + for index in start..messages.len() { + if consumed[index] { + continue; + } + let message = &messages[index]; + if openai_message_role(message) == Some("assistant") { + break; + } + if openai_tool_message_id(message) == Some(tool_call_id) { + return Some(index); + } + } + None +} + +fn orphan_tool_message_to_user_message(message: &Value) -> Value { + let tool_call_id = openai_tool_message_id(message).unwrap_or("unknown"); + let content = message + .get("content") + .and_then(|value| value.as_str()) + .map(str::to_string) + .unwrap_or_else(|| { + message + .get("content") + .cloned() + .unwrap_or(Value::Null) + .to_string() + }); + + json!({ + "role": "user", + "content": format!("Tool result for {}:\n{}", tool_call_id, content), + }) +} + +fn openai_message_role(message: &Value) -> Option<&str> { + message.get("role").and_then(|value| value.as_str()) +} + +fn openai_tool_message_id(message: &Value) -> Option<&str> { + if openai_message_role(message) != Some("tool") { + return None; + } + message.get("tool_call_id").and_then(|value| value.as_str()) +} + +fn flatten_anthropic_content(value: &Value) -> Option { + if let Some(text) = value.as_str() { + return Some(text.to_string()); + } + + value.as_array().map(|blocks| { + blocks + .iter() + .filter_map(|block| { + block + .get("text") + .and_then(|value| value.as_str()) + .or_else(|| block.get("content").and_then(|value| value.as_str())) + }) + .collect::>() + .join("\n\n") + }) +} + +fn assistant_content_to_openai(content: &Value) -> (String, Vec, Option) { + let Some(blocks) = content.as_array() else { + return ( + content + .as_str() + .map(str::to_string) + .unwrap_or_else(|| content.to_string()), + Vec::new(), + None, + ); + }; + + let mut text = Vec::new(); + let mut tool_calls = Vec::new(); + let mut thinking = None; + for block in blocks { + match block.get("type").and_then(|value| value.as_str()) { + Some("text") => { + if let Some(value) = block.get("text").and_then(|value| value.as_str()) { + text.push(value); + } + } + Some("tool_use") => { + let id = block + .get("id") + .and_then(|value| value.as_str()) + .unwrap_or("toolu_unknown"); + let name = block + .get("name") + .and_then(|value| value.as_str()) + .unwrap_or("unknown"); + let input = block.get("input").cloned().unwrap_or_else(|| json!({})); + tool_calls.push(json!({ + "id": id, + "type": "function", + "function": { + "name": name, + "arguments": input.to_string(), + }, + })); + } + Some("thinking") => { + if let Some(value) = block.get("thinking").and_then(|value| value.as_str()) { + let mut thinking_value = json!({ "content": value }); + if let Some(signature) = block.get("signature").and_then(|value| value.as_str()) + { + thinking_value["signature"] = Value::String(signature.to_string()); + } + thinking = Some(thinking_value); + } + } + _ => {} + } + } + + (text.join("\n\n"), tool_calls, thinking) +} + +fn flatten_tool_result_content(content: &Value) -> String { + if let Some(text) = content.as_str() { + return text.to_string(); + } + if let Some(blocks) = content.as_array() { + return blocks + .iter() + .filter_map(|block| { + block + .get("text") + .and_then(|value| value.as_str()) + .or_else(|| block.get("content").and_then(|value| value.as_str())) + }) + .collect::>() + .join("\n\n"); + } + content.to_string() +} + +fn anthropic_tool_to_openai_tool(tool: &Value) -> Option { + let name = tool.get("name")?.as_str()?; + let description = tool + .get("description") + .and_then(|value| value.as_str()) + .unwrap_or_default(); + let parameters = tool + .get("input_schema") + .cloned() + .unwrap_or_else(|| json!({ "type": "object", "properties": {} })); + + Some(json!({ + "type": "function", + "function": { + "name": name, + "description": description, + "parameters": parameters, + }, + })) +} + +fn append_exit_tool(tools: &mut Vec) { + if tools.iter().any(|tool| { + tool.pointer("/function/name") + .and_then(|value| value.as_str()) + == Some(EXIT_TOOL_NAME) + }) { + return; + } + tools.push(json!({ + "type": "function", + "function": { + "name": EXIT_TOOL_NAME, + "description": "Use this when tool mode is active but no remaining tool call is needed. The response field is forwarded to the user as the final answer.", + "parameters": { + "type": "object", + "properties": { + "response": { + "type": "string", + "description": "Final response to show the user." + } + }, + "required": ["response"] + } + } + })); +} + +fn append_exit_tool_reminder(body: &mut Value) { + let Some(messages) = body + .get_mut("messages") + .and_then(|value| value.as_array_mut()) + else { + return; + }; + messages.push(json!({ + "role": "system", + "content": "Tool mode is active. Use the most suitable tool when it helps complete the task. If no available tool is appropriate or the task is complete, call ExitTool with the final response instead of inventing another tool call.", + })); +} + +fn openai_tool_choice(choice: Option<&Value>) -> Value { + let Some(choice) = choice else { + return Value::String("auto".to_string()); + }; + match choice.get("type").and_then(|value| value.as_str()) { + Some("auto") => Value::String("auto".to_string()), + Some("any") => Value::String("required".to_string()), + Some("tool") => { + let name = choice + .get("name") + .and_then(|value| value.as_str()) + .unwrap_or_default(); + json!({ + "type": "function", + "function": { "name": name }, + }) + } + _ => Value::String("auto".to_string()), + } +} + +fn copy_number_field(source: &Value, target: &mut Value, key: &str) { + if let Some(value) = source.get(key).filter(|value| value.is_number()) { + target[key] = value.clone(); + } +} + +fn openai_message_text(message: &Value) -> Option { + let content = message.get("content")?; + if let Some(text) = content.as_str() { + return Some(text.to_string()); + } + content.as_array().map(|parts| { + parts + .iter() + .filter_map(|part| { + part.get("text") + .and_then(|value| value.as_str()) + .or_else(|| { + if part.get("type").and_then(|value| value.as_str()) == Some("text") { + part.get("content").and_then(|value| value.as_str()) + } else { + None + } + }) + }) + .collect::>() + .join("\n") + }) +} + +fn openai_message_thinking(message: &Value) -> Option { + message + .get("reasoning_content") + .or_else(|| message.get("reasoning")) + .and_then(|value| value.as_str()) + .filter(|value| !value.trim().is_empty()) + .map(str::to_string) + .or_else(|| { + message + .get("thinking") + .and_then(|value| { + value + .get("content") + .and_then(|content| content.as_str()) + .or_else(|| value.as_str()) + }) + .filter(|value| !value.trim().is_empty()) + .map(str::to_string) + }) +} + +fn exit_tool_response(arguments: &str) -> Option { + let repaired = repair_tool_arguments(arguments); + serde_json::from_str::(&repaired) + .ok() + .and_then(|value| { + value + .get("response") + .and_then(|value| value.as_str()) + .map(str::to_string) + }) + .filter(|value| !value.trim().is_empty()) +} + +fn contains_only_exit_tool(message: &Value) -> bool { + let Some(tool_calls) = message.get("tool_calls").and_then(|value| value.as_array()) else { + return false; + }; + !tool_calls.is_empty() + && tool_calls.iter().all(|call| { + call.pointer("/function/name") + .and_then(|value| value.as_str()) + == Some(EXIT_TOOL_NAME) + }) +} + +fn usage_token(usage: &Value, keys: &[&str]) -> u64 { + keys.iter() + .find_map(|key| usage.get(*key).and_then(|value| value.as_u64())) + .unwrap_or(0) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn credential() -> OpenAiProxyCredential { + OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.example.com/v1".to_string(), + model: "qwen-test".to_string(), + } + } + + #[test] + fn preserves_anthropic_image_blocks_as_openai_image_url_parts() { + let request = json!({ + "messages": [{ + "role": "user", + "content": [ + { "type": "text", "text": "what is this?" }, + { + "type": "image", + "source": { + "type": "base64", + "media_type": "image/png", + "data": "abcd" + } + } + ] + }] + }); + + let converted = anthropic_to_openai_request(&request, &credential()).unwrap(); + + assert_eq!(converted["messages"][0]["content"][0]["type"], "text"); + assert_eq!( + converted["messages"][0]["content"][1]["image_url"]["url"], + "data:image/png;base64,abcd" + ); + } + + #[test] + fn preserves_assistant_thinking_for_provider_context() { + let request = json!({ + "messages": [{ + "role": "assistant", + "content": [ + { + "type": "thinking", + "thinking": "I inspected the files.", + "signature": "sig_1" + }, + { + "type": "text", + "text": "Done." + } + ] + }] + }); + + let converted = anthropic_to_openai_request(&request, &credential()).unwrap(); + + assert_eq!( + converted["messages"][0]["thinking"]["content"], + "I inspected the files." + ); + assert_eq!(converted["messages"][0]["thinking"]["signature"], "sig_1"); + } + + #[test] + fn adds_exit_tool_when_tool_choice_requires_a_tool() { + let request = json!({ + "messages": [{ "role": "user", "content": "finish" }], + "tool_choice": { "type": "any" }, + "tools": [{ + "name": "Read", + "description": "Read a file", + "input_schema": { "type": "object" } + }] + }); + + let converted = anthropic_to_openai_request(&request, &credential()).unwrap(); + let tool_names = converted["tools"] + .as_array() + .unwrap() + .iter() + .filter_map(|tool| { + tool.pointer("/function/name") + .and_then(|value| value.as_str()) + }) + .collect::>(); + + assert!(tool_names.contains(&"Read")); + assert!(tool_names.contains(&EXIT_TOOL_NAME)); + assert_eq!(converted["tool_choice"], "required"); + } + + #[test] + fn converts_exit_tool_response_to_final_text() { + let request = json!({ "model": "claude-sonnet-4" }); + let response = json!({ + "id": "chatcmpl_1", + "choices": [{ + "message": { + "role": "assistant", + "content": null, + "tool_calls": [{ + "id": "call_exit", + "type": "function", + "function": { + "name": "ExitTool", + "arguments": "{\"response\":\"done\"}" + } + }] + }, + "finish_reason": "tool_calls" + }], + "usage": { "prompt_tokens": 5, "completion_tokens": 2 } + }); + + let converted = openai_to_anthropic_message(&request, &response, &credential()).unwrap(); + + assert_eq!(converted["stop_reason"], "end_turn"); + assert_eq!(converted["content"][0]["type"], "text"); + assert_eq!(converted["content"][0]["text"], "done"); + } +} diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/providers.rs b/apps/desktop/src-tauri/src/anthropic_proxy/providers.rs new file mode 100644 index 0000000..d2d20dd --- /dev/null +++ b/apps/desktop/src-tauri/src/anthropic_proxy/providers.rs @@ -0,0 +1,209 @@ +use super::OpenAiProxyCredential; +use serde_json::{json, Value}; + +const DEEPSEEK_MAX_TOKENS: u64 = 8192; + +pub(super) fn apply_provider_request_transforms( + openai_request: &mut Value, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, + wants_stream: bool, +) { + clean_cache_control(openai_request); + + if wants_stream { + openai_request["stream_options"] = json!({ "include_usage": true }); + } + + if is_deepseek_provider(credential) { + cap_number_field(openai_request, "max_tokens", DEEPSEEK_MAX_TOKENS); + } + + apply_reasoning_budget(openai_request, anthropic_request); + apply_max_completion_tokens_compat(openai_request, credential); + clean_null_optional_fields(openai_request); +} + +fn is_deepseek_provider(credential: &OpenAiProxyCredential) -> bool { + let base_url = credential.base_url.to_ascii_lowercase(); + let model = credential.model.to_ascii_lowercase(); + base_url.contains("deepseek") || model.contains("deepseek") +} + +fn cap_number_field(body: &mut Value, key: &str, max: u64) { + let Some(value) = body.get(key).and_then(|value| value.as_u64()) else { + return; + }; + if value > max { + body[key] = Value::Number(max.into()); + } +} + +fn apply_reasoning_budget(openai_request: &mut Value, anthropic_request: &Value) { + let Some(thinking) = anthropic_request.get("thinking") else { + return; + }; + if thinking.get("type").and_then(|value| value.as_str()) != Some("enabled") { + return; + } + let Some(budget_tokens) = thinking + .get("budget_tokens") + .and_then(|value| value.as_u64()) + else { + return; + }; + if budget_tokens > 0 { + openai_request["reasoning"] = json!({ "max_tokens": budget_tokens }); + } +} + +fn apply_max_completion_tokens_compat( + openai_request: &mut Value, + credential: &OpenAiProxyCredential, +) { + if !uses_max_completion_tokens(credential) { + return; + } + let Some(max_tokens) = openai_request.get("max_tokens").cloned() else { + return; + }; + openai_request["max_completion_tokens"] = max_tokens; + if let Some(object) = openai_request.as_object_mut() { + object.remove("max_tokens"); + } +} + +fn uses_max_completion_tokens(credential: &OpenAiProxyCredential) -> bool { + let base_url = credential.base_url.to_ascii_lowercase(); + let model = credential.model.to_ascii_lowercase(); + let is_openai = base_url.contains("api.openai.com") || base_url.contains("openai.azure.com"); + is_openai + && (model.starts_with("o1") + || model.starts_with("o3") + || model.starts_with("o4") + || model.starts_with("gpt-5")) +} + +fn clean_cache_control(value: &mut Value) { + match value { + Value::Array(values) => { + for value in values { + clean_cache_control(value); + } + } + Value::Object(object) => { + object.remove("cache_control"); + for value in object.values_mut() { + clean_cache_control(value); + } + } + _ => {} + } +} + +fn clean_null_optional_fields(value: &mut Value) { + let Some(object) = value.as_object_mut() else { + return; + }; + for key in ["tool_choice", "stop", "stream_options", "reasoning"] { + if object.get(key).is_some_and(Value::is_null) { + object.remove(key); + } + } +} + +#[cfg(test)] +mod tests { + use super::*; + + fn credential(base_url: &str, model: &str) -> OpenAiProxyCredential { + OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: base_url.to_string(), + model: model.to_string(), + } + } + + #[test] + fn adds_usage_stream_options_for_streaming_requests() { + let mut body = json!({ "stream": true }); + apply_provider_request_transforms( + &mut body, + &json!({}), + &credential("https://api.example.com/v1", "qwen-test"), + true, + ); + + assert_eq!(body["stream_options"]["include_usage"], true); + } + + #[test] + fn caps_deepseek_max_tokens() { + let mut body = json!({ "max_tokens": 20000 }); + apply_provider_request_transforms( + &mut body, + &json!({}), + &credential("https://api.deepseek.com", "deepseek-chat"), + false, + ); + + assert_eq!(body["max_tokens"], DEEPSEEK_MAX_TOKENS); + } + + #[test] + fn copies_anthropic_thinking_budget_as_reasoning() { + let mut body = json!({}); + apply_provider_request_transforms( + &mut body, + &json!({ + "thinking": { + "type": "enabled", + "budget_tokens": 4096 + } + }), + &credential("https://api.example.com/v1", "qwen-test"), + false, + ); + + assert_eq!(body["reasoning"]["max_tokens"], 4096); + } + + #[test] + fn converts_openai_reasoning_models_to_max_completion_tokens() { + let mut body = json!({ "max_tokens": 12000 }); + apply_provider_request_transforms( + &mut body, + &json!({}), + &credential("https://api.openai.com/v1", "o3"), + false, + ); + + assert!(body.get("max_tokens").is_none()); + assert_eq!(body["max_completion_tokens"], 12000); + } + + #[test] + fn strips_cache_control_from_openai_compatible_requests() { + let mut body = json!({ + "messages": [{ + "role": "user", + "content": [{ + "type": "text", + "text": "hello", + "cache_control": { "type": "ephemeral" } + }] + }] + }); + + apply_provider_request_transforms( + &mut body, + &json!({}), + &credential("https://api.example.com/v1", "qwen-test"), + false, + ); + + assert!(body["messages"][0]["content"][0] + .get("cache_control") + .is_none()); + } +} diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs b/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs new file mode 100644 index 0000000..7cffb4a --- /dev/null +++ b/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs @@ -0,0 +1,888 @@ +use super::tools::{normalized_tool_call_id, repair_tool_arguments}; +use super::{http_response, OpenAiProxyCredential}; +use serde_json::{json, Value}; +use std::collections::HashMap; +use tokio::io::AsyncWriteExt; +use tokio::net::TcpStream; + +#[derive(Default)] +struct OpenAiStreamState { + message_started: bool, + completed: bool, + message_id: Option, + model: Option, + next_block_index: usize, + text_block_index: Option, + thinking_block_index: Option, + tool_blocks: HashMap, + stop_reason: Option, + output_tokens: u64, +} + +#[derive(Default)] +struct StreamToolBlock { + id: Option, + name: Option, + buffered_arguments: String, +} + +pub(super) async fn stream_openai_sse_to_anthropic( + stream: &mut TcpStream, + mut response: reqwest::Response, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> Result<(), String> { + stream + .write_all(streaming_http_headers().as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream headers: {}", err))?; + + let mut state = OpenAiStreamState::default(); + let mut buffer = String::new(); + while let Some(chunk) = response + .chunk() + .await + .map_err(|err| format!("Failed to read provider stream: {}", err))? + { + buffer.push_str(&String::from_utf8_lossy(&chunk)); + while let Some((event, rest)) = take_next_sse_event(&buffer) { + buffer = rest; + let rendered = + openai_sse_event_to_anthropic(&mut state, &event, anthropic_request, credential); + if !rendered.is_empty() { + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream event: {}", err))?; + } + } + } + + if !buffer.trim().is_empty() { + let rendered = + openai_sse_event_to_anthropic(&mut state, &buffer, anthropic_request, credential); + if !rendered.is_empty() { + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write final proxy stream event: {}", err))?; + } + } + + let rendered = finish_anthropic_stream(&mut state); + stream + .write_all(rendered.as_bytes()) + .await + .map_err(|err| format!("Failed to write proxy stream completion: {}", err)) +} + +fn streaming_http_headers() -> String { + "HTTP/1.1 200 OK\r\nContent-Type: text/event-stream; charset=utf-8\r\nCache-Control: no-cache\r\nConnection: close\r\n\r\n" + .to_string() +} + +fn take_next_sse_event(buffer: &str) -> Option<(String, String)> { + if let Some(index) = buffer.find("\n\n") { + let event = buffer[..index].to_string(); + let rest = buffer[index + 2..].to_string(); + return Some((event, rest)); + } + if let Some(index) = buffer.find("\r\n\r\n") { + let event = buffer[..index].to_string(); + let rest = buffer[index + 4..].to_string(); + return Some((event, rest)); + } + None +} + +fn openai_sse_event_to_anthropic( + state: &mut OpenAiStreamState, + event: &str, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> String { + let Some(data) = sse_event_data(event) else { + return String::new(); + }; + if data.trim() == "[DONE]" { + return finish_anthropic_stream(state); + } + let Ok(chunk) = serde_json::from_str::(&data) else { + return String::new(); + }; + openai_stream_chunk_to_anthropic(state, &chunk, anthropic_request, credential) +} + +fn sse_event_data(event: &str) -> Option { + let mut parts = Vec::new(); + for line in event.lines() { + let line = line.trim_end_matches('\r'); + if let Some(data) = line.strip_prefix("data:") { + parts.push(data.trim_start()); + } + } + if parts.is_empty() { + None + } else { + Some(parts.join("\n")) + } +} + +fn openai_stream_chunk_to_anthropic( + state: &mut OpenAiStreamState, + chunk: &Value, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) -> String { + let mut body = String::new(); + ensure_stream_message_started(state, &mut body, chunk, anthropic_request, credential); + + if let Some(usage) = chunk.get("usage") { + state.output_tokens = usage_token( + usage, + &[ + "completion_tokens", + "output_tokens", + "completion_token_count", + ], + ); + } + + let Some(choice) = chunk + .get("choices") + .and_then(|value| value.as_array()) + .and_then(|choices| choices.first()) + else { + return body; + }; + let delta = choice.get("delta").unwrap_or(&Value::Null); + + if let Some(reasoning) = delta_text(delta, &["reasoning_content", "reasoning"]) { + push_stream_text_delta(state, &mut body, "thinking", &reasoning); + } + if let Some(thinking) = delta + .get("thinking") + .and_then(|value| { + value + .get("content") + .and_then(|content| content.as_str()) + .or_else(|| value.as_str()) + }) + .filter(|value| !value.is_empty()) + { + push_stream_text_delta(state, &mut body, "thinking", thinking); + } + if let Some(content) = delta_text(delta, &["content"]) { + push_stream_text_delta(state, &mut body, "text", &content); + } + if let Some(tool_calls) = delta.get("tool_calls").and_then(|value| value.as_array()) { + for call in tool_calls { + push_stream_tool_delta(state, call); + } + } + + if let Some(finish_reason) = choice.get("finish_reason").and_then(|value| value.as_str()) { + if !finish_reason.is_empty() { + state.stop_reason = Some(map_openai_finish_reason(finish_reason).to_string()); + } + } + + body +} + +fn ensure_stream_message_started( + state: &mut OpenAiStreamState, + body: &mut String, + chunk: &Value, + anthropic_request: &Value, + credential: &OpenAiProxyCredential, +) { + if state.message_started { + return; + } + state.message_started = true; + state.message_id = chunk + .get("id") + .and_then(|value| value.as_str()) + .map(str::to_string) + .or_else(|| Some(format!("msg_{}", uuid::Uuid::new_v4().simple()))); + state.model = anthropic_request + .get("model") + .and_then(|value| value.as_str()) + .map(str::to_string) + .or_else(|| { + chunk + .get("model") + .and_then(|value| value.as_str()) + .map(str::to_string) + }) + .or_else(|| Some(credential.model.clone())); + + push_sse( + body, + "message_start", + &json!({ + "type": "message_start", + "message": { + "id": state.message_id.clone().unwrap_or_else(|| format!("msg_{}", uuid::Uuid::new_v4().simple())), + "type": "message", + "role": "assistant", + "model": state.model.clone().unwrap_or_else(|| credential.model.clone()), + "content": [], + "stop_reason": Value::Null, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": 0, + "output_tokens": 0, + }, + }, + }), + ); +} + +fn delta_text(delta: &Value, keys: &[&str]) -> Option { + keys.iter() + .find_map(|key| delta.get(*key).and_then(|value| value.as_str())) + .filter(|value| !value.is_empty()) + .map(str::to_string) +} + +fn push_stream_text_delta( + state: &mut OpenAiStreamState, + body: &mut String, + block_type: &str, + text: &str, +) { + if block_type != "thinking" { + close_thinking_block_if_open(state, body); + } + + let block_index = if block_type == "thinking" { + if let Some(index) = state.thinking_block_index { + index + } else { + let index = state.next_block_index; + state.next_block_index += 1; + state.thinking_block_index = Some(index); + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "thinking", + "thinking": "", + }, + }), + ); + index + } + } else if let Some(index) = state.text_block_index { + index + } else { + let index = state.next_block_index; + state.next_block_index += 1; + state.text_block_index = Some(index); + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "text", + "text": "", + }, + }), + ); + index + }; + + let (delta_type, key) = if block_type == "thinking" { + ("thinking_delta", "thinking") + } else { + ("text_delta", "text") + }; + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": block_index, + "delta": { + "type": delta_type, + key: text, + }, + }), + ); +} + +fn push_stream_tool_delta(state: &mut OpenAiStreamState, call: &Value) { + let openai_index = call + .get("index") + .and_then(|value| value.as_i64()) + .unwrap_or(0); + let block = state.tool_blocks.entry(openai_index).or_default(); + if let Some(id) = call.get("id").and_then(|value| value.as_str()) { + block.id = Some(normalized_tool_call_id(Some(id))); + } + let function = call.get("function").unwrap_or(&Value::Null); + if let Some(name) = function.get("name").and_then(|value| value.as_str()) { + if !name.is_empty() { + block.name = Some(name.to_string()); + } + } + if let Some(arguments) = function.get("arguments").and_then(|value| value.as_str()) { + block.buffered_arguments.push_str(arguments); + } +} + +fn close_thinking_block_if_open(state: &mut OpenAiStreamState, body: &mut String) { + if let Some(index) = state.thinking_block_index.take() { + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": "signature_delta", + "signature": format!("ccr_{}", uuid::Uuid::new_v4().simple()), + }, + }), + ); + push_content_block_stop(body, index); + } +} + +fn finish_anthropic_stream(state: &mut OpenAiStreamState) -> String { + if state.completed { + return String::new(); + } + state.completed = true; + let mut body = String::new(); + if !state.message_started { + state.message_started = true; + let message_id = format!("msg_{}", uuid::Uuid::new_v4().simple()); + state.message_id = Some(message_id.clone()); + push_sse( + &mut body, + "message_start", + &json!({ + "type": "message_start", + "message": { + "id": message_id, + "type": "message", + "role": "assistant", + "model": state.model.clone().unwrap_or_else(|| "claude-prism-proxy".to_string()), + "content": [], + "stop_reason": Value::Null, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": 0, + "output_tokens": 0, + }, + }, + }), + ); + } + close_thinking_block_if_open(state, &mut body); + if let Some(index) = state.text_block_index.take() { + push_content_block_stop(&mut body, index); + } + + let mut tool_blocks = state + .tool_blocks + .iter() + .map(|(openai_index, block)| (*openai_index, block)) + .collect::>(); + tool_blocks.sort_by_key(|(openai_index, _)| *openai_index); + let exit_tool_response = if tool_blocks + .iter() + .all(|(_, block)| block.name.as_deref() == Some("ExitTool")) + { + tool_blocks + .iter() + .find_map(|(_, block)| exit_tool_response(&block.buffered_arguments)) + } else { + None + }; + if let Some(response) = exit_tool_response { + push_stream_text_delta(state, &mut body, "text", &response); + if let Some(index) = state.text_block_index.take() { + push_content_block_stop(&mut body, index); + } + state.tool_blocks.clear(); + state.stop_reason = Some("end_turn".to_string()); + } + let mut tool_blocks = state + .tool_blocks + .iter() + .map(|(openai_index, block)| (*openai_index, block)) + .collect::>(); + tool_blocks.sort_by_key(|(openai_index, _)| *openai_index); + for (_, block) in tool_blocks { + let index = state.next_block_index; + state.next_block_index += 1; + push_sse( + &mut body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": { + "type": "tool_use", + "id": block.id.clone().unwrap_or_else(|| normalized_tool_call_id(None)), + "name": block.name.clone().unwrap_or_else(|| "unknown".to_string()), + "input": {}, + }, + }), + ); + let repaired_arguments = repair_tool_arguments(&block.buffered_arguments); + if repaired_arguments != "{}" || !block.buffered_arguments.trim().is_empty() { + push_sse( + &mut body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": "input_json_delta", + "partial_json": repaired_arguments, + }, + }), + ); + } + push_content_block_stop(&mut body, index); + } + let stop_reason = if state.tool_blocks.is_empty() { + state + .stop_reason + .clone() + .unwrap_or_else(|| "end_turn".to_string()) + } else { + "tool_use".to_string() + }; + push_sse( + &mut body, + "message_delta", + &json!({ + "type": "message_delta", + "delta": { + "stop_reason": stop_reason, + "stop_sequence": Value::Null, + }, + "usage": { + "output_tokens": state.output_tokens, + }, + }), + ); + push_sse( + &mut body, + "message_stop", + &json!({ "type": "message_stop" }), + ); + body +} + +fn exit_tool_response(arguments: &str) -> Option { + let repaired = repair_tool_arguments(arguments); + serde_json::from_str::(&repaired) + .ok() + .and_then(|value| { + value + .get("response") + .and_then(|value| value.as_str()) + .map(str::to_string) + }) + .filter(|value| !value.trim().is_empty()) +} + +fn push_content_block_stop(body: &mut String, index: usize) { + push_sse( + body, + "content_block_stop", + &json!({ + "type": "content_block_stop", + "index": index, + }), + ); +} + +fn map_openai_finish_reason(reason: &str) -> &str { + match reason { + "length" => "max_tokens", + "tool_calls" => "tool_use", + _ => "end_turn", + } +} + +pub(super) fn sse_response(message: &Value) -> String { + let content = message + .get("content") + .and_then(|value| value.as_array()) + .cloned() + .unwrap_or_default(); + let input_tokens = message + .pointer("/usage/input_tokens") + .and_then(|value| value.as_u64()) + .unwrap_or(0); + let output_tokens = message + .pointer("/usage/output_tokens") + .and_then(|value| value.as_u64()) + .unwrap_or(0); + + let start = json!({ + "type": "message_start", + "message": { + "id": message.get("id").cloned().unwrap_or_else(|| json!(format!("msg_{}", uuid::Uuid::new_v4().simple()))), + "type": "message", + "role": "assistant", + "model": message.get("model").cloned().unwrap_or_else(|| json!("claude-prism-proxy")), + "content": [], + "stop_reason": Value::Null, + "stop_sequence": Value::Null, + "usage": { + "input_tokens": input_tokens, + "output_tokens": 0, + }, + }, + }); + + let mut body = String::new(); + push_sse(&mut body, "message_start", &start); + for (index, block) in content.iter().enumerate() { + let block_type = block + .get("type") + .and_then(|value| value.as_str()) + .unwrap_or("text"); + match block_type { + "tool_use" => { + let content_block = json!({ + "type": "tool_use", + "id": block.get("id").cloned().unwrap_or_else(|| json!(format!("toolu_{}", uuid::Uuid::new_v4().simple()))), + "name": block.get("name").cloned().unwrap_or_else(|| json!("unknown")), + "input": {}, + }); + push_sse( + &mut body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": content_block, + }), + ); + let input = block.get("input").cloned().unwrap_or_else(|| json!({})); + push_sse( + &mut body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": "input_json_delta", + "partial_json": input.to_string(), + }, + }), + ); + } + "thinking" => { + push_text_like_sse_block( + &mut body, + index, + "thinking", + block + .get("thinking") + .and_then(|value| value.as_str()) + .unwrap_or_default(), + ); + } + _ => { + push_text_like_sse_block( + &mut body, + index, + "text", + block + .get("text") + .and_then(|value| value.as_str()) + .unwrap_or_default(), + ); + } + } + push_content_block_stop(&mut body, index); + } + push_sse( + &mut body, + "message_delta", + &json!({ + "type": "message_delta", + "delta": { + "stop_reason": message.get("stop_reason").cloned().unwrap_or_else(|| json!("end_turn")), + "stop_sequence": Value::Null, + }, + "usage": { + "output_tokens": output_tokens, + }, + }), + ); + push_sse( + &mut body, + "message_stop", + &json!({ "type": "message_stop" }), + ); + + http_response( + 200, + "text/event-stream; charset=utf-8", + &format!("{}{}", body, "\n"), + ) +} + +fn push_text_like_sse_block(body: &mut String, index: usize, block_type: &str, text: &str) { + let content_block = if block_type == "thinking" { + json!({ + "type": "thinking", + "thinking": "", + }) + } else { + json!({ + "type": "text", + "text": "", + }) + }; + push_sse( + body, + "content_block_start", + &json!({ + "type": "content_block_start", + "index": index, + "content_block": content_block, + }), + ); + if !text.is_empty() { + let delta_type = if block_type == "thinking" { + "thinking_delta" + } else { + "text_delta" + }; + let delta_key = if block_type == "thinking" { + "thinking" + } else { + "text" + }; + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": delta_type, + delta_key: text, + }, + }), + ); + } + if block_type == "thinking" { + push_sse( + body, + "content_block_delta", + &json!({ + "type": "content_block_delta", + "index": index, + "delta": { + "type": "signature_delta", + "signature": format!("ccr_{}", uuid::Uuid::new_v4().simple()), + }, + }), + ); + } +} + +fn push_sse(body: &mut String, event: &str, data: &Value) { + body.push_str("event: "); + body.push_str(event); + body.push('\n'); + body.push_str("data: "); + body.push_str(&data.to_string()); + body.push_str("\n\n"); +} + +fn usage_token(usage: &Value, keys: &[&str]) -> u64 { + keys.iter() + .find_map(|key| usage.get(*key).and_then(|value| value.as_u64())) + .unwrap_or(0) +} + +#[cfg(test)] +mod tests { + use super::*; + + fn credential() -> OpenAiProxyCredential { + OpenAiProxyCredential { + api_key: "sk-test".to_string(), + base_url: "https://api.example.com/v1".to_string(), + model: "qwen-test".to_string(), + } + } + + #[test] + fn streams_openai_text_delta_as_anthropic_sse() { + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "model": "qwen-test", + "choices": [{ + "delta": { "content": "Hello" }, + "finish_reason": null + }] + }); + + let first = openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential()); + let done = finish_anthropic_stream(&mut state); + let combined = format!("{}{}", first, done); + + assert!(combined.contains("event: message_start")); + assert!(combined.contains("\"model\":\"claude-sonnet-4\"")); + assert!(combined.contains("\"type\":\"text_delta\"")); + assert!(combined.contains("\"text\":\"Hello\"")); + assert!(combined.contains("\"stop_reason\":\"end_turn\"")); + assert!(finish_anthropic_stream(&mut state).is_empty()); + } + + #[test] + fn streams_reasoning_content_as_thinking_delta() { + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { "reasoning_content": "I should inspect files." }, + "finish_reason": null + }] + }); + + let rendered = + openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential()); + + assert!(rendered.contains("\"type\":\"thinking\"")); + assert!(rendered.contains("\"type\":\"thinking_delta\"")); + assert!(rendered.contains("\"thinking\":\"I should inspect files.\"")); + let done = finish_anthropic_stream(&mut state); + assert!(done.contains("\"type\":\"signature_delta\"")); + } + + #[test] + fn buffers_and_repairs_streamed_tool_arguments() { + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let first_chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "id": "call_1", + "type": "function", + "function": { + "name": "Read", + "arguments": "{\"file_path\":" + } + }] + }, + "finish_reason": null + }] + }); + let second_chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "function": { "arguments": "\"main.tex\"" } + }] + }, + "finish_reason": "tool_calls" + }] + }); + + let first = + openai_stream_chunk_to_anthropic(&mut state, &first_chunk, &request, &credential()); + let second = + openai_stream_chunk_to_anthropic(&mut state, &second_chunk, &request, &credential()); + let done = finish_anthropic_stream(&mut state); + let combined = format!("{}{}{}", first, second, done); + + assert!(!first.contains("\"type\":\"tool_use\"")); + assert!(!second.contains("\"type\":\"tool_use\"")); + assert!(combined.contains("\"type\":\"tool_use\"")); + assert!(combined.contains("\"id\":\"call_1\"")); + assert!(combined.contains("\"name\":\"Read\"")); + assert!(combined.contains("\"type\":\"input_json_delta\"")); + assert!(combined.contains("{\\\"file_path\\\":\\\"main.tex\\\"}")); + assert!(combined.contains("\"stop_reason\":\"tool_use\"")); + } + + #[test] + fn normalizes_numeric_streamed_tool_call_ids() { + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "id": "123", + "type": "function", + "function": { + "name": "Read", + "arguments": "{\"file_path\":\"main.tex\"}" + } + }] + }, + "finish_reason": "tool_calls" + }] + }); + + openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential()); + let done = finish_anthropic_stream(&mut state); + + assert!(done.contains("\"id\":\"call_")); + assert!(!done.contains("\"id\":\"123\"")); + } + + #[test] + fn streams_exit_tool_as_final_text() { + let request = json!({ "model": "claude-sonnet-4" }); + let mut state = OpenAiStreamState::default(); + let chunk = json!({ + "id": "chatcmpl_1", + "choices": [{ + "delta": { + "tool_calls": [{ + "index": 0, + "id": "call_exit", + "type": "function", + "function": { + "name": "ExitTool", + "arguments": "{\"response\":\"all done\"}" + } + }] + }, + "finish_reason": "tool_calls" + }] + }); + + openai_stream_chunk_to_anthropic(&mut state, &chunk, &request, &credential()); + let done = finish_anthropic_stream(&mut state); + + assert!(done.contains("\"type\":\"text_delta\"")); + assert!(done.contains("\"text\":\"all done\"")); + assert!(done.contains("\"stop_reason\":\"end_turn\"")); + assert!(!done.contains("\"type\":\"tool_use\"")); + } +} diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/tools.rs b/apps/desktop/src-tauri/src/anthropic_proxy/tools.rs new file mode 100644 index 0000000..8066448 --- /dev/null +++ b/apps/desktop/src-tauri/src/anthropic_proxy/tools.rs @@ -0,0 +1,198 @@ +use serde_json::{json, Value}; + +pub(super) fn repaired_tool_arguments_value(arguments: &str) -> Value { + serde_json::from_str::(&repair_tool_arguments(arguments)).unwrap_or_else(|_| json!({})) +} + +pub(super) fn normalized_tool_call_id(id: Option<&str>) -> String { + let id = id.unwrap_or_default().trim(); + if id.is_empty() || id.chars().all(|ch| ch.is_ascii_digit()) { + format!("call_{}", uuid::Uuid::new_v4().simple()) + } else { + id.to_string() + } +} + +pub(super) fn repair_tool_arguments(arguments: &str) -> String { + let trimmed = trim_code_fence(arguments.trim()); + if trimmed.is_empty() || trimmed == "{}" { + return "{}".to_string(); + } + if serde_json::from_str::(trimmed).is_ok() { + return trimmed.to_string(); + } + + for candidate in [ + extract_json_like(trimmed), + repair_balanced_json(trimmed.to_string()), + repair_single_quoted_json(trimmed), + ] + .into_iter() + .flatten() + { + let candidate = remove_trailing_commas(&candidate); + if let Ok(value) = serde_json::from_str::(&candidate) { + return value.to_string(); + } + } + + "{}".to_string() +} + +fn trim_code_fence(value: &str) -> &str { + let value = value.trim(); + if !value.starts_with("```") { + return value; + } + let Some(first_newline) = value.find('\n') else { + return value; + }; + let value = &value[first_newline + 1..]; + value + .strip_suffix("```") + .map(str::trim) + .unwrap_or(value.trim()) +} + +fn extract_json_like(value: &str) -> Option { + let object_start = value.find('{'); + let array_start = value.find('['); + let start = match (object_start, array_start) { + (Some(object), Some(array)) => object.min(array), + (Some(object), None) => object, + (None, Some(array)) => array, + (None, None) => return None, + }; + let end = value.rfind('}').or_else(|| value.rfind(']'))?; + if end <= start { + return None; + } + Some(value[start..=end].to_string()) +} + +fn repair_balanced_json(value: String) -> Option { + let mut output = String::with_capacity(value.len() + 8); + let mut stack = Vec::new(); + let mut in_string = false; + let mut escaped = false; + + for ch in value.chars() { + output.push(ch); + if in_string { + if escaped { + escaped = false; + } else if ch == '\\' { + escaped = true; + } else if ch == '"' { + in_string = false; + } + continue; + } + + match ch { + '"' => in_string = true, + '{' => stack.push('}'), + '[' => stack.push(']'), + '}' | ']' => { + if stack.last().copied() == Some(ch) { + stack.pop(); + } + } + _ => {} + } + } + + if in_string { + output.push('"'); + } + while let Some(ch) = stack.pop() { + output.push(ch); + } + Some(output) +} + +fn repair_single_quoted_json(value: &str) -> Option { + if value.contains('"') || !value.contains('\'') { + return None; + } + Some(value.replace('\'', "\"")) +} + +fn remove_trailing_commas(value: &str) -> String { + let mut output = String::with_capacity(value.len()); + let mut chars = value.chars().peekable(); + let mut in_string = false; + let mut escaped = false; + + while let Some(ch) = chars.next() { + if in_string { + output.push(ch); + if escaped { + escaped = false; + } else if ch == '\\' { + escaped = true; + } else if ch == '"' { + in_string = false; + } + continue; + } + + if ch == '"' { + in_string = true; + output.push(ch); + continue; + } + + if ch == ',' { + let mut lookahead = chars.clone(); + while matches!(lookahead.peek(), Some(next) if next.is_whitespace()) { + lookahead.next(); + } + if matches!(lookahead.peek(), Some('}' | ']')) { + continue; + } + } + output.push(ch); + } + + output +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn repairs_partial_tool_arguments() { + assert_eq!( + repair_tool_arguments("{\"file_path\":\"main.tex\""), + "{\"file_path\":\"main.tex\"}" + ); + } + + #[test] + fn repairs_fenced_tool_arguments() { + assert_eq!( + repair_tool_arguments("```json\n{\"pattern\":\"FastVID\",}\n```"), + "{\"pattern\":\"FastVID\"}" + ); + } + + #[test] + fn falls_back_to_empty_object_for_unrepairable_arguments() { + assert_eq!(repair_tool_arguments("not json at all"), "{}"); + } + + #[test] + fn normalizes_numeric_tool_call_ids() { + let id = normalized_tool_call_id(Some("123")); + + assert!(id.starts_with("call_")); + assert_ne!(id, "123"); + } + + #[test] + fn preserves_provider_tool_call_ids() { + assert_eq!(normalized_tool_call_id(Some("call_abc")), "call_abc"); + } +} From 159195da90950f2629f23b9be372aa6b59140919 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 13:18:58 +0800 Subject: [PATCH 082/118] chore: bump version to 1.3.0 across all relevant files --- apps/desktop/package.json | 2 +- apps/desktop/src-tauri/Cargo.lock | 2 +- apps/desktop/src-tauri/Cargo.toml | 2 +- apps/desktop/src-tauri/tauri.conf.json | 2 +- package.json | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 2d4126b..e292049 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@claude-prism/desktop", - "version": "1.2.0", + "version": "1.3.0", "private": true, "type": "module", "scripts": { diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 268cf05..4f07585 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -502,7 +502,7 @@ dependencies = [ [[package]] name = "claude-prism-desktop" -version = "1.2.0" +version = "1.3.0" dependencies = [ "base64 0.22.1", "chrono", diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 7c60f20..5543430 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -1,6 +1,6 @@ [package] name = "claude-prism-desktop" -version = "1.2.0" +version = "1.3.0" description = "AI-powered LaTeX writing workspace" edition = "2021" diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index 25dde75..a39e979 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -2,7 +2,7 @@ "$schema": "https://raw.githubusercontent.com/nicegui-unofficial/nicegui-tauri-template/main/src-tauri/tauri.conf-v2-schema.json", "identifier": "com.claude-prism.desktop", "productName": "ClaudePrism", - "version": "1.2.0", + "version": "1.3.0", "build": { "beforeDevCommand": "corepack pnpm dev", "beforeBuildCommand": "corepack pnpm build", diff --git a/package.json b/package.json index 44b90f4..a1faf13 100644 --- a/package.json +++ b/package.json @@ -1,7 +1,7 @@ { "name": "@claude-prism/root", "description": "Open-Source AI LaTeX writing workspace", - "version": "1.2.0", + "version": "1.3.0", "repository": { "type": "git", "url": "https://github.com/delibae/claude-prism" From 15d9576ba1f7d4e78fbd17080f125a16e2715d66 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 16:20:04 +0800 Subject: [PATCH 083/118] feat(chat): support queued guidance during active runs Extract Claude CLI process lifecycle management into a dedicated claude_process module and expose an interrupt command for guided continuations. Add per-tab queued guidance state so users can type follow-up direction while a response is streaming, force a selected guidance item into the next turn, and preserve the tab's provider when resuming. Render pending guidance inline in the conversation, keep the composer send/stop behavior ergonomic during streaming, allow individual guidance removal, and polish the compact guidance row spacing and hover states. Cover the queue, display, consume, and forced-guidance flows with store tests. --- apps/desktop/src-tauri/src/claude.rs | 333 +---------------- apps/desktop/src-tauri/src/claude_process.rs | 345 ++++++++++++++++++ apps/desktop/src-tauri/src/lib.rs | 2 + .../stores/claude-chat-store.test.ts | 110 +++++- .../components/claude-chat/chat-composer.tsx | 157 ++++++-- .../components/claude-chat/chat-messages.tsx | 57 ++- apps/desktop/src/hooks/use-claude-events.ts | 21 ++ apps/desktop/src/stores/claude-chat-store.ts | 219 ++++++++++- 8 files changed, 882 insertions(+), 362 deletions(-) create mode 100644 apps/desktop/src-tauri/src/claude_process.rs diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 74cda83..a4d77a1 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -1,14 +1,17 @@ use crate::anthropic_proxy::{start_openai_anthropic_proxy, OpenAiProxyCredential}; +pub use crate::claude_process::{kill_process_for_window, ClaudeProcessState}; +use crate::claude_process::{ + spawn_claude_process, stop_claude_process, ClaudeStopMode, SpawnProviderMetadata, +}; use serde_json::json; use std::borrow::Cow; -use std::collections::HashMap; use std::fs::OpenOptions; use std::io::Write; use std::path::{Path, PathBuf}; use std::sync::Arc; -use tauri::{Emitter, Manager, WebviewWindow}; -use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader}; -use tokio::process::{Child, Command}; +use tauri::{Emitter, WebviewWindow}; +use tokio::io::{AsyncBufReadExt, BufReader}; +use tokio::process::Command; use tokio::sync::Mutex; #[cfg(unix)] @@ -788,19 +791,6 @@ const CREATE_NO_WINDOW: u32 = 0x08000000; #[cfg(target_os = "windows")] use std::os::windows::process::CommandExt; -#[derive(Clone)] -pub struct ClaudeProcessState { - pub processes: Arc>>, -} - -impl Default for ClaudeProcessState { - fn default() -> Self { - Self { - processes: Arc::new(Mutex::new(HashMap::new())), - } - } -} - /// On Windows, read User + System PATH from the registry and search for claude. /// This catches cases where claude was installed after the GUI app launched, /// since the process PATH is stale but the registry PATH is up to date. @@ -1576,267 +1566,6 @@ fn with_prompt_transport(mut args: Vec, prompt: String) -> (Vec, } } -// 鈹€鈹€鈹€ Event payloads (include tab_id for multi-tab routing) 鈹€鈹€鈹€ - -#[derive(Clone, serde::Serialize)] -struct ClaudeOutputEvent { - tab_id: String, - data: String, -} - -#[derive(Clone, serde::Serialize)] -struct ClaudeCompleteEvent { - tab_id: String, - success: bool, -} - -#[derive(Clone, serde::Serialize)] -struct ClaudeErrorEvent { - tab_id: String, - data: String, -} - -#[derive(Clone)] -struct SpawnProviderMetadata { - provider: &'static str, - provider_credential_id: String, - model: String, -} - -/// Spawn the Claude CLI process and stream output via Tauri events. -/// Events are emitted only to the originating window, tagged with tab_id. -async fn spawn_claude_process( - window: WebviewWindow, - mut cmd: Command, - tab_id: String, - stdin_payload: Option, - provider_metadata: Option, -) -> Result<(), String> { - let window_label = window.label().to_string(); - let process_key = format!("{}:{}", window_label, tab_id); - - if stdin_payload.is_some() { - cmd.stdin(std::process::Stdio::piped()); - } - - // Spawn the process - let mut child = cmd.spawn().map_err(|e| { - eprintln!( - "[claude-spawn] Failed to spawn process for tab {}: {}", - tab_id, e - ); - format!( - "Failed to spawn Claude process: {}. Is Claude Code CLI installed?", - e - ) - })?; - - if let Some(payload) = stdin_payload { - let mut stdin = child - .stdin - .take() - .ok_or_else(|| "Failed to acquire stdin for Claude process".to_string())?; - stdin - .write_all(payload.as_bytes()) - .await - .map_err(|e| format!("Failed to write prompt to Claude process stdin: {}", e))?; - stdin - .shutdown() - .await - .map_err(|e| format!("Failed to close Claude process stdin: {}", e))?; - } - - let stdout = child.stdout.take().ok_or("Failed to capture stdout")?; - let stderr = child.stderr.take().ok_or("Failed to capture stderr")?; - - // Get a clone of the process state Arc before any moves - let process_arc = window - .state::() - .inner() - .processes - .clone(); - - // Store the child process in state (kill any existing process for this tab) - { - let mut processes = process_arc.lock().await; - if let Some(mut existing) = processes.remove(&process_key) { - let _ = existing.kill().await; - } - processes.insert(process_key.clone(), child); - } - - let stdout_reader = BufReader::new(stdout); - let stderr_reader = BufReader::new(stderr); - let session_id_holder: Arc>> = - Arc::new(std::sync::Mutex::new(None)); - let result_success_holder: Arc>> = - Arc::new(std::sync::Mutex::new(None)); - - let start_time = std::time::Instant::now(); - - // Spawn stdout streaming task 鈥?emit only to the originating window - let win_stdout = window.clone(); - let session_id_stdout = session_id_holder.clone(); - let result_success_stdout = result_success_holder.clone(); - let tab_id_stdout = tab_id.clone(); - let provider_metadata_stdout = provider_metadata.clone(); - let stdout_task = tokio::spawn(async move { - let mut lines = stdout_reader.lines(); - let mut line_count: u64 = 0; - while let Ok(Some(mut line)) = lines.next_line().await { - line_count += 1; - let elapsed = start_time.elapsed().as_secs_f64(); - - // Parse for system:init to extract session_id - if let Ok(mut msg) = serde_json::from_str::(&line) { - let msg_type = msg.get("type").and_then(|v| v.as_str()).unwrap_or("?"); - let msg_sub = msg.get("subtype").and_then(|v| v.as_str()).unwrap_or(""); - eprintln!( - "[claude-stdout] [{}] +{:.1}s #{} type={} sub={} len={}", - tab_id_stdout, - elapsed, - line_count, - msg_type, - msg_sub, - line.len() - ); - - if msg.get("type").and_then(|v| v.as_str()) == Some("system") - && msg.get("subtype").and_then(|v| v.as_str()) == Some("init") - { - if let Some(sid) = msg.get("session_id").and_then(|v| v.as_str()) { - if let Ok(mut guard) = session_id_stdout.lock() { - *guard = Some(sid.to_string()); - } - } - if let Some(metadata) = provider_metadata_stdout.as_ref() { - if let Some(object) = msg.as_object_mut() { - object.insert( - "provider".to_string(), - serde_json::Value::String(metadata.provider.to_string()), - ); - object.insert( - "provider_credential_id".to_string(), - serde_json::Value::String(metadata.provider_credential_id.clone()), - ); - object.insert( - "model".to_string(), - serde_json::Value::String(metadata.model.clone()), - ); - } - line = msg.to_string(); - } - } - - if msg.get("type").and_then(|v| v.as_str()) == Some("result") { - let is_success = msg.get("subtype").and_then(|v| v.as_str()) == Some("success"); - if let Ok(mut guard) = result_success_stdout.lock() { - *guard = Some(is_success); - } - } - } - - // Emit output event to this window with tab_id - let _ = win_stdout.emit( - "claude-output", - ClaudeOutputEvent { - tab_id: tab_id_stdout.clone(), - data: line, - }, - ); - } - eprintln!( - "[claude-stdout] [{}] stream ended after {} lines ({:.1}s)", - tab_id_stdout, - line_count, - start_time.elapsed().as_secs_f64() - ); - }); - - // Spawn stderr streaming task 鈥?emit only to the originating window - let win_stderr = window.clone(); - let tab_id_stderr = tab_id.clone(); - let stderr_task = tokio::spawn(async move { - let mut lines = stderr_reader.lines(); - while let Ok(Some(line)) = lines.next_line().await { - eprintln!( - "[claude-stderr] [{}] +{:.1}s {}", - tab_id_stderr, - start_time.elapsed().as_secs_f64(), - &line[..line.len().min(200)] - ); - let _ = win_stderr.emit( - "claude-error", - ClaudeErrorEvent { - tab_id: tab_id_stderr.clone(), - data: line, - }, - ); - } - }); - - // Spawn wait task 鈥?wait for process completion - let process_arc_wait = process_arc.clone(); - let win_wait = window; - let process_key_wait = process_key; - let tab_id_wait = tab_id; - let result_success_wait = result_success_holder.clone(); - tokio::spawn(async move { - // Wait for stdout/stderr to finish - let _ = stdout_task.await; - let _ = stderr_task.await; - - // Wait for process exit and remove from map - let mut processes = process_arc_wait.lock().await; - let success = if let Some(mut child) = processes.remove(&process_key_wait) { - match child.wait().await { - Ok(status) => { - let exit_success = status.success(); - let result_success = result_success_wait.lock().ok().and_then(|guard| *guard); - let success = exit_success || result_success == Some(true); - eprintln!( - "[claude-process] [{}] exited with status={} result_success={:?} final_success={} ({:.1}s)", - tab_id_wait, - status, - result_success, - success, - start_time.elapsed().as_secs_f64() - ); - success - } - Err(e) => { - eprintln!( - "[claude-process] [{}] wait error: {} ({:.1}s)", - tab_id_wait, - e, - start_time.elapsed().as_secs_f64() - ); - false - } - } - } else { - eprintln!( - "[claude-process] [{}] no child found in map ({:.1}s)", - tab_id_wait, - start_time.elapsed().as_secs_f64() - ); - false - }; - drop(processes); - - // Emit completion event to this window with tab_id - let _ = win_wait.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id: tab_id_wait, - success, - }, - ); - }); - - Ok(()) -} - // 鈹€鈹€鈹€ Setup / Status Commands 鈹€鈹€鈹€ #[derive(serde::Serialize)] @@ -2732,47 +2461,17 @@ pub async fn resume_claude_code( #[tauri::command] pub async fn cancel_claude_execution(window: WebviewWindow, tab_id: String) -> Result<(), String> { - let window_label = window.label().to_string(); - let process_key = format!("{}:{}", window_label, tab_id); - let claude_state = window.state::(); - let mut processes = claude_state.processes.lock().await; - if let Some(mut child) = processes.remove(&process_key) { - let _ = child.kill().await; - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - return Ok(()); - } - - let _ = window.emit( - "claude-complete", - ClaudeCompleteEvent { - tab_id, - success: false, - }, - ); - Ok(()) + stop_claude_process(window, tab_id, ClaudeStopMode::Terminate) + .await + .map(|_| ()) } -/// Kill all Claude processes associated with a specific window label. -/// Called when a window is destroyed. -pub async fn kill_process_for_window(state: &ClaudeProcessState, window_label: &str) { - let mut processes = state.processes.lock().await; - let prefix = format!("{}:", window_label); - let keys_to_remove: Vec = processes - .keys() - .filter(|k| k.starts_with(&prefix)) - .cloned() - .collect(); - for key in keys_to_remove { - if let Some(mut child) = processes.remove(&key) { - let _ = child.kill().await; - } - } +#[tauri::command] +pub async fn interrupt_claude_execution( + window: WebviewWindow, + tab_id: String, +) -> Result { + stop_claude_process(window, tab_id, ClaudeStopMode::Interrupt).await } // 鈹€鈹€鈹€ Session Listing 鈹€鈹€鈹€ diff --git a/apps/desktop/src-tauri/src/claude_process.rs b/apps/desktop/src-tauri/src/claude_process.rs new file mode 100644 index 0000000..d9df78a --- /dev/null +++ b/apps/desktop/src-tauri/src/claude_process.rs @@ -0,0 +1,345 @@ +use std::collections::HashMap; +use std::sync::Arc; + +use tauri::{Emitter, Manager, WebviewWindow}; +use tokio::io::{AsyncBufReadExt, AsyncWriteExt, BufReader}; +use tokio::process::{Child, Command}; +use tokio::sync::Mutex; + +#[derive(Clone)] +pub struct ClaudeProcessState { + pub processes: Arc>>, +} + +impl Default for ClaudeProcessState { + fn default() -> Self { + Self { + processes: Arc::new(Mutex::new(HashMap::new())), + } + } +} + +#[derive(Clone, serde::Serialize)] +struct ClaudeOutputEvent { + tab_id: String, + data: String, +} + +#[derive(Clone, serde::Serialize)] +struct ClaudeCompleteEvent { + tab_id: String, + success: bool, +} + +#[derive(Clone, serde::Serialize)] +struct ClaudeErrorEvent { + tab_id: String, + data: String, +} + +#[derive(Clone)] +pub struct SpawnProviderMetadata { + pub provider: &'static str, + pub provider_credential_id: String, + pub model: String, +} + +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +pub enum ClaudeStopMode { + /// User pressed Stop; terminate the run immediately. + Terminate, + /// User wants to guide the next turn; prefer a graceful interrupt so + /// Claude Code can persist session state before the frontend resumes it. + Interrupt, +} + +fn process_key(window_label: &str, tab_id: &str) -> String { + format!("{}:{}", window_label, tab_id) +} + +/// Spawn the Claude CLI process and stream output via Tauri events. +/// Events are emitted only to the originating window, tagged with tab_id. +pub async fn spawn_claude_process( + window: WebviewWindow, + mut cmd: Command, + tab_id: String, + stdin_payload: Option, + provider_metadata: Option, +) -> Result<(), String> { + let window_label = window.label().to_string(); + let process_key = process_key(&window_label, &tab_id); + + if stdin_payload.is_some() { + cmd.stdin(std::process::Stdio::piped()); + } + + let mut child = cmd.spawn().map_err(|e| { + eprintln!( + "[claude-spawn] Failed to spawn process for tab {}: {}", + tab_id, e + ); + format!( + "Failed to spawn Claude process: {}. Is Claude Code CLI installed?", + e + ) + })?; + + if let Some(payload) = stdin_payload { + let mut stdin = child + .stdin + .take() + .ok_or_else(|| "Failed to acquire stdin for Claude process".to_string())?; + stdin + .write_all(payload.as_bytes()) + .await + .map_err(|e| format!("Failed to write prompt to Claude process stdin: {}", e))?; + stdin + .shutdown() + .await + .map_err(|e| format!("Failed to close Claude process stdin: {}", e))?; + } + + let stdout = child.stdout.take().ok_or("Failed to capture stdout")?; + let stderr = child.stderr.take().ok_or("Failed to capture stderr")?; + + let process_arc = window + .state::() + .inner() + .processes + .clone(); + + { + let mut processes = process_arc.lock().await; + if let Some(mut existing) = processes.remove(&process_key) { + let _ = existing.kill().await; + } + processes.insert(process_key.clone(), child); + } + + let stdout_reader = BufReader::new(stdout); + let stderr_reader = BufReader::new(stderr); + let result_success_holder: Arc>> = + Arc::new(std::sync::Mutex::new(None)); + + let start_time = std::time::Instant::now(); + + let win_stdout = window.clone(); + let result_success_stdout = result_success_holder.clone(); + let tab_id_stdout = tab_id.clone(); + let provider_metadata_stdout = provider_metadata.clone(); + let stdout_task = tokio::spawn(async move { + let mut lines = stdout_reader.lines(); + let mut line_count: u64 = 0; + while let Ok(Some(mut line)) = lines.next_line().await { + line_count += 1; + let elapsed = start_time.elapsed().as_secs_f64(); + + if let Ok(mut msg) = serde_json::from_str::(&line) { + let msg_type = msg.get("type").and_then(|v| v.as_str()).unwrap_or("?"); + let msg_sub = msg.get("subtype").and_then(|v| v.as_str()).unwrap_or(""); + eprintln!( + "[claude-stdout] [{}] +{:.1}s #{} type={} sub={} len={}", + tab_id_stdout, + elapsed, + line_count, + msg_type, + msg_sub, + line.len() + ); + + if msg.get("type").and_then(|v| v.as_str()) == Some("system") + && msg.get("subtype").and_then(|v| v.as_str()) == Some("init") + { + if let Some(metadata) = provider_metadata_stdout.as_ref() { + if let Some(object) = msg.as_object_mut() { + object.insert( + "provider".to_string(), + serde_json::Value::String(metadata.provider.to_string()), + ); + object.insert( + "provider_credential_id".to_string(), + serde_json::Value::String(metadata.provider_credential_id.clone()), + ); + object.insert( + "model".to_string(), + serde_json::Value::String(metadata.model.clone()), + ); + } + line = msg.to_string(); + } + } + + if msg.get("type").and_then(|v| v.as_str()) == Some("result") { + let is_success = msg.get("subtype").and_then(|v| v.as_str()) == Some("success"); + if let Ok(mut guard) = result_success_stdout.lock() { + *guard = Some(is_success); + } + } + } + + let _ = win_stdout.emit( + "claude-output", + ClaudeOutputEvent { + tab_id: tab_id_stdout.clone(), + data: line, + }, + ); + } + eprintln!( + "[claude-stdout] [{}] stream ended after {} lines ({:.1}s)", + tab_id_stdout, + line_count, + start_time.elapsed().as_secs_f64() + ); + }); + + let win_stderr = window.clone(); + let tab_id_stderr = tab_id.clone(); + let stderr_task = tokio::spawn(async move { + let mut lines = stderr_reader.lines(); + while let Ok(Some(line)) = lines.next_line().await { + eprintln!( + "[claude-stderr] [{}] +{:.1}s {}", + tab_id_stderr, + start_time.elapsed().as_secs_f64(), + &line[..line.len().min(200)] + ); + let _ = win_stderr.emit( + "claude-error", + ClaudeErrorEvent { + tab_id: tab_id_stderr.clone(), + data: line, + }, + ); + } + }); + + let process_arc_wait = process_arc.clone(); + let win_wait = window; + let process_key_wait = process_key; + let tab_id_wait = tab_id; + let result_success_wait = result_success_holder.clone(); + tokio::spawn(async move { + let _ = stdout_task.await; + let _ = stderr_task.await; + + let mut processes = process_arc_wait.lock().await; + let success = if let Some(mut child) = processes.remove(&process_key_wait) { + match child.wait().await { + Ok(status) => { + let exit_success = status.success(); + let result_success = result_success_wait.lock().ok().and_then(|guard| *guard); + let success = exit_success || result_success == Some(true); + eprintln!( + "[claude-process] [{}] exited with status={} result_success={:?} final_success={} ({:.1}s)", + tab_id_wait, + status, + result_success, + success, + start_time.elapsed().as_secs_f64() + ); + success + } + Err(e) => { + eprintln!( + "[claude-process] [{}] wait error: {} ({:.1}s)", + tab_id_wait, + e, + start_time.elapsed().as_secs_f64() + ); + false + } + } + } else { + eprintln!( + "[claude-process] [{}] no child found in map ({:.1}s)", + tab_id_wait, + start_time.elapsed().as_secs_f64() + ); + false + }; + drop(processes); + + let _ = win_wait.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id: tab_id_wait, + success, + }, + ); + }); + + Ok(()) +} + +pub async fn stop_claude_process( + window: WebviewWindow, + tab_id: String, + mode: ClaudeStopMode, +) -> Result { + let window_label = window.label().to_string(); + let process_key = process_key(&window_label, &tab_id); + let claude_state = window.state::(); + let mut processes = claude_state.processes.lock().await; + if let Some(child) = processes.get_mut(&process_key) { + let stopped = match mode { + ClaudeStopMode::Terminate => { + let _ = child.start_kill(); + true + } + ClaudeStopMode::Interrupt => interrupt_or_terminate(child).await, + }; + return Ok(stopped); + } + drop(processes); + + let _ = window.emit( + "claude-complete", + ClaudeCompleteEvent { + tab_id, + success: false, + }, + ); + Ok(false) +} + +#[cfg(unix)] +async fn interrupt_or_terminate(child: &mut Child) -> bool { + if let Some(pid) = child.id() { + let status = tokio::process::Command::new("kill") + .arg("-INT") + .arg(pid.to_string()) + .status() + .await; + if matches!(status, Ok(status) if status.success()) { + return true; + } + } + let _ = child.start_kill(); + true +} + +#[cfg(not(unix))] +async fn interrupt_or_terminate(_child: &mut Child) -> bool { + // Windows GUI processes do not have a reliable console-control path from + // Tauri without a PTY/ConPTY session. Keep this fallback isolated so the + // future long-lived session driver can replace it cleanly. + false +} + +/// Kill all Claude processes associated with a specific window label. +/// Called when a window is destroyed. +pub async fn kill_process_for_window(state: &ClaudeProcessState, window_label: &str) { + let mut processes = state.processes.lock().await; + let prefix = format!("{}:", window_label); + let keys_to_remove: Vec = processes + .keys() + .filter(|k| k.starts_with(&prefix)) + .cloned() + .collect(); + for key in keys_to_remove { + if let Some(mut child) = processes.remove(&key) { + let _ = child.kill().await; + } + } +} diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index a3f4458..559b6bd 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -2,6 +2,7 @@ mod anthropic_proxy; mod claude; +mod claude_process; mod history; mod latex; mod skills; @@ -613,6 +614,7 @@ pub fn run() { claude::continue_claude_code, claude::resume_claude_code, claude::cancel_claude_execution, + claude::interrupt_claude_execution, claude::run_shell_command, claude::migrate_project_sessions, claude::get_claude_fast_mode, diff --git a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts index f261e58..84eadc5 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts @@ -56,18 +56,18 @@ describe("provider selection persistence", () => { .getState() .setSelectedProviderCredentialId(CLAUDE_CODE_PROVIDER_ID); - expect( - localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY), - ).toBe(CLAUDE_CODE_PROVIDER_ID); + expect(localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY)).toBe( + CLAUDE_CODE_PROVIDER_ID, + ); expect(loadSelectedProviderCredentialId()).toBe(CLAUDE_CODE_PROVIDER_ID); }); it("persists and clears OpenAI-compatible provider selections", () => { useClaudeChatStore.getState().setSelectedProviderCredentialId("qwen"); - expect( - localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY), - ).toBe("qwen"); + expect(localStorage.getItem(SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY)).toBe( + "qwen", + ); useClaudeChatStore.getState().setSelectedProviderCredentialId(null); @@ -77,3 +77,101 @@ describe("provider selection persistence", () => { expect(loadSelectedProviderCredentialId()).toBeNull(); }); }); + +describe("queued guidance", () => { + it("queues and consumes guidance for the active tab", () => { + const chat = useClaudeChatStore.getState(); + const tabId = chat.activeTabId; + + chat.clearQueuedGuidance(tabId); + chat.queueGuidance(tabId, "please focus on the API key deletion flow", { + label: "@main.tex:1:1-1:8", + filePath: "main.tex", + selectedText: "selected", + }); + + expect( + useClaudeChatStore.getState().tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance, + ).toHaveLength(1); + + const queued = useClaudeChatStore.getState().consumeQueuedGuidance(tabId); + expect(queued?.prompt).toBe("please focus on the API key deletion flow"); + expect(queued?.contextOverride?.filePath).toBe("main.tex"); + expect( + useClaudeChatStore.getState().tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance, + ).toHaveLength(0); + }); + + it("can remove and consume a specific queued guidance item", () => { + const chat = useClaudeChatStore.getState(); + const tabId = chat.activeTabId; + + chat.clearQueuedGuidance(tabId); + chat.queueGuidance(tabId, "first"); + chat.queueGuidance(tabId, "second"); + chat.queueGuidance(tabId, "third"); + + const queue = useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId)?.queuedGuidance; + expect(queue?.map((item) => item.prompt)).toEqual([ + "first", + "second", + "third", + ]); + + chat.removeQueuedGuidance(tabId, queue![1].id); + expect( + useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance?.map((item) => item.prompt), + ).toEqual(["first", "third"]); + + const thirdId = useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId)?.queuedGuidance?.[1].id; + const selected = chat.consumeQueuedGuidance(tabId, thirdId); + expect(selected?.prompt).toBe("third"); + expect( + useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance?.map((item) => item.prompt), + ).toEqual(["first"]); + }); + + it("marks a queued guidance item as displayed in chat", () => { + const chat = useClaudeChatStore.getState(); + const tabId = chat.activeTabId; + + chat.clearQueuedGuidance(tabId); + chat.queueGuidance(tabId, "first"); + chat.queueGuidance(tabId, "second"); + + const secondId = useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId)?.queuedGuidance?.[1].id; + + expect( + useClaudeChatStore + .getState() + .displayQueuedGuidanceInChat(tabId, secondId), + ).toBe(secondId); + + expect( + useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance?.map((item) => ({ + prompt: item.prompt, + displayedInChat: item.displayedInChat ?? false, + })), + ).toEqual([ + { prompt: "first", displayedInChat: false }, + { prompt: "second", displayedInChat: true }, + ]); + }); +}); diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index f577442..bcd74ef 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -28,6 +28,8 @@ import { PlusIcon, Trash2Icon, Loader2Icon, + CornerDownRightIcon, + ListEndIcon, } from "lucide-react"; import { getCurrentWebview } from "@tauri-apps/api/webview"; import { writeFile, mkdir, exists } from "@tauri-apps/plugin-fs"; @@ -37,6 +39,8 @@ import { CLAUDE_CODE_PROVIDER_ID, useClaudeChatStore, offsetToLineCol, + type PromptContextOverride, + type QueuedGuidance, } from "@/stores/claude-chat-store"; import { useClaudeSetupStore, @@ -65,6 +69,7 @@ import { SlashCommandPicker, type SlashCommand } from "./slash-command-picker"; import { createLogger } from "@/lib/debug/logger"; const log = createLogger("chat-composer"); +const EMPTY_GUIDANCE: QueuedGuidance[] = []; // Re-export for other modules export type { SlashCommand }; @@ -90,9 +95,22 @@ function getFileIcon(file: ProjectFile) { return ; } +function formatGuidanceText(guidance: QueuedGuidance) { + return guidance.contextOverride?.label + ? `${guidance.contextOverride.label} - ${guidance.prompt}` + : guidance.prompt; +} + export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const sendPrompt = useClaudeChatStore((s) => s.sendPrompt); + const queueGuidance = useClaudeChatStore((s) => s.queueGuidance); const cancelExecution = useClaudeChatStore((s) => s.cancelExecution); + const removeQueuedGuidance = useClaudeChatStore( + (s) => s.removeQueuedGuidance, + ); + const forceQueuedGuidanceNow = useClaudeChatStore( + (s) => s.forceQueuedGuidanceNow, + ); const isStreaming = useClaudeChatStore((s) => s.isStreaming); const selectedModel = useClaudeChatStore((s) => s.selectedModel); const setSelectedModel = useClaudeChatStore((s) => s.setSelectedModel); @@ -111,6 +129,15 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const effortLevel = useClaudeChatStore((s) => s.effortLevel); const setEffortLevel = useClaudeChatStore((s) => s.setEffortLevel); const activeTabId = useClaudeChatStore((s) => s.activeTabId); + const queuedGuidance = useClaudeChatStore( + (s) => + s.tabs.find((tab) => tab.id === s.activeTabId)?.queuedGuidance ?? + EMPTY_GUIDANCE, + ); + const visibleQueuedGuidance = useMemo( + () => queuedGuidance.filter((guidance) => !guidance.displayedInChat), + [queuedGuidance], + ); const openAiCredentials = useClaudeSetupStore((s) => s.openAiCredentials); const activeOpenAiCredentialId = useClaudeSetupStore( (s) => s.activeOpenAiCredentialId, @@ -174,6 +201,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { null, ); const [input, setInput] = useState(""); + const hasInput = input.trim().length > 0; const textareaRef = useRef(null); // Model picker state @@ -760,7 +788,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const handleSend = useCallback(() => { const trimmed = input.trim(); - if (!trimmed || isStreaming) return; + if (!trimmed) return; // Resolve slash commands: if input starts with /command, find the command and substitute $ARGUMENTS // Skills (scope === "skill") are passed through as-is — Claude handles them via the Skill tool. @@ -784,17 +812,24 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { setMentionQuery(null); setSlashQuery(null); slashSelectedRef.current = false; - // Send with pinned context override + + let contextOverride: PromptContextOverride | undefined; if (pinnedContexts.length > 0) { const combinedLabel = pinnedContexts.map((c) => c.label).join(", "); const combinedText = pinnedContexts .map((c) => c.selectedText) .join("\n\n---\n\n"); - sendPrompt(finalPrompt, { + contextOverride = { label: combinedLabel, filePath: pinnedContexts[0].filePath, selectedText: combinedText, - }); + }; + } + + if (isStreaming) { + queueGuidance(activeTabId, finalPrompt, contextOverride); + } else if (contextOverride) { + sendPrompt(finalPrompt, contextOverride); } else { sendPrompt(finalPrompt); } @@ -804,7 +839,34 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { } // Clear pinned contexts after send setPinnedContexts([]); - }, [input, isStreaming, sendPrompt, pinnedContexts, slashCommands]); + }, [ + activeTabId, + input, + isStreaming, + queueGuidance, + sendPrompt, + pinnedContexts, + slashCommands, + ]); + + const handleGuideQueuedGuidance = useCallback( + (guidance: QueuedGuidance) => { + if (isStreaming) { + void forceQueuedGuidanceNow(activeTabId, guidance.id); + return; + } + + removeQueuedGuidance(activeTabId, guidance.id); + void sendPrompt(guidance.prompt, guidance.contextOverride); + }, + [ + activeTabId, + forceQueuedGuidanceNow, + isStreaming, + removeQueuedGuidance, + sendPrompt, + ], + ); const handleKeyDown = useCallback( (e: React.KeyboardEvent) => { @@ -1378,10 +1440,50 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => {
+ {visibleQueuedGuidance.length > 0 && ( +
+ {visibleQueuedGuidance.map((guidance) => { + const displayText = formatGuidanceText(guidance); + return ( +
+ + + {displayText} + + + +
+ ); + })} +
+ )} + {/* Pinned context chips */} {pinnedContexts.length > 0 && (
@@ -1443,7 +1545,11 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { onChange={handleInput} onKeyDown={handleKeyDown} onPaste={handlePaste} - placeholder="Ask me anything (/ for commands, @ to mention)" + placeholder={ + isStreaming + ? "Add guidance for the next turn..." + : "Ask me anything (/ for commands, @ to mention)" + } className="max-h-40 min-h-10 w-full resize-none bg-transparent px-4 py-2 text-sm outline-none placeholder:text-muted-foreground" rows={1} /> @@ -1512,30 +1618,33 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => {
- {isStreaming ? ( +
- - - ) : ( - void cancelExecution() + : handleSend + } + disabled={!isStreaming && !hasInput} > - + {isStreaming && !hasInput ? ( + + ) : ( + + )} - )} +
diff --git a/apps/desktop/src/components/claude-chat/chat-messages.tsx b/apps/desktop/src/components/claude-chat/chat-messages.tsx index 12972ee..22fc238 100644 --- a/apps/desktop/src/components/claude-chat/chat-messages.tsx +++ b/apps/desktop/src/components/claude-chat/chat-messages.tsx @@ -1,9 +1,10 @@ import { type FC, memo, useEffect, useMemo, useRef, useState } from "react"; -import { AlertCircleIcon } from "lucide-react"; +import { AlertCircleIcon, CornerDownRightIcon } from "lucide-react"; import { useClaudeChatStore, type ClaudeStreamMessage, type ContentBlock, + type QueuedGuidance, } from "@/stores/claude-chat-store"; import { MarkdownRenderer } from "./markdown-renderer"; import { ThinkingWidget, ToolWidget } from "./tool-widgets"; @@ -51,11 +52,21 @@ const StreamingIndicator: FC = memo(() => { ); }); +const EMPTY_PENDING_GUIDANCE: QueuedGuidance[] = []; + // ─── Chat Messages (main component) ─── export const ChatMessages: FC = () => { const messages = useClaudeChatStore((s) => s.messages) ?? []; const isStreaming = useClaudeChatStore((s) => s.isStreaming); + const queuedGuidance = + useClaudeChatStore( + (s) => s.tabs.find((tab) => tab.id === s.activeTabId)?.queuedGuidance, + ) ?? EMPTY_PENDING_GUIDANCE; + const pendingGuidance = useMemo( + () => queuedGuidance.filter((guidance) => guidance.displayedInChat), + [queuedGuidance], + ); const viewportRef = useRef(null); const shouldAutoScrollRef = useRef(true); const userHasScrolledRef = useRef(false); @@ -120,7 +131,7 @@ export const ChatMessages: FC = () => { behavior: "smooth", }); } - }, [displayMessages]); + }, [displayMessages, pendingGuidance]); // Reset auto-scroll when streaming stops useEffect(() => { @@ -150,17 +161,23 @@ export const ChatMessages: FC = () => { onScroll={handleScroll} className="absolute inset-0 overflow-y-auto scroll-smooth px-4 py-2" > - {displayMessages.length === 0 && !isStreaming && ( -
- Ask Claude about your LaTeX document... -
- )} + {displayMessages.length === 0 && + pendingGuidance.length === 0 && + !isStreaming && ( +
+ Ask Claude about your LaTeX document... +
+ )} {displayMessages.map((msg, idx) => ( ))} {isStreaming && } + + {pendingGuidance.map((guidance) => ( + + ))}
); }; @@ -306,6 +323,32 @@ const UserMessage: FC<{ message: ClaudeStreamMessage }> = ({ message }) => { // ─── Assistant Message ─── +const PendingGuidanceMessage: FC<{ guidance: QueuedGuidance }> = ({ + guidance, +}) => { + const contextLabel = guidance.contextOverride?.label ?? null; + + return ( +
+
+ {contextLabel && ( + + {contextLabel} + + )} + {contextLabel && guidance.prompt &&
} +
+ + +
+
+
+ ); +}; + const AssistantMessage: FC<{ message: ClaudeStreamMessage; toolResultMap: Map; diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index a7f2deb..21b5b3d 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -427,6 +427,27 @@ export function useClaudeEvents() { const docStore = useDocumentStore.getState(); await docStore.refreshFiles(); + const forceQueuedGuidance = tab.forceQueuedGuidanceOnComplete === true; + const queuedGuidance = + success || forceQueuedGuidance + ? useClaudeChatStore + .getState() + .consumeQueuedGuidance( + tabId, + forceQueuedGuidance ? tab.forcedQueuedGuidanceId : null, + ) + : null; + if (queuedGuidance) { + log.info(`[${tabId}] continuing with queued guidance`); + void useClaudeChatStore + .getState() + .sendPrompt(queuedGuidance.prompt, queuedGuidance.contextOverride, { + tabId, + preserveTabProvider: true, + }); + return; + } + // Auto-recompile after Claude finishes const { projectRoot, diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 480f52a..2edab62 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -100,6 +100,20 @@ export interface TabDraft { }[]; } +export interface PromptContextOverride { + label: string; + filePath: string; + selectedText: string; +} + +export interface QueuedGuidance { + id: string; + prompt: string; + contextOverride?: PromptContextOverride; + createdAt: number; + displayedInChat?: boolean; +} + export interface TabState { id: string; title: string; @@ -111,6 +125,9 @@ export interface TabState { totalInputTokens: number; totalOutputTokens: number; draft: TabDraft; + queuedGuidance?: QueuedGuidance[]; + forceQueuedGuidanceOnComplete?: boolean; + forcedQueuedGuidanceId?: string | null; } /** Fields that are projected from the active tab to top-level state */ @@ -135,6 +152,9 @@ function makeDefaultTab(id: string): TabState { totalInputTokens: 0, totalOutputTokens: 0, draft: { input: "", pinnedContexts: [] }, + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, }; } @@ -273,6 +293,10 @@ function nextTabId(): string { return `tab-${++tabCounter}`; } +function nextGuidanceId(): string { + return `guidance-${Date.now().toString(36)}-${Math.random().toString(36).slice(2, 8)}`; +} + function truncateChatTitle(text: string, maxChars = 80): string { return text.length > maxChars ? `${text.slice(0, Math.max(0, maxChars - 3))}...` @@ -488,8 +512,25 @@ interface ClaudeChatState { // Actions sendPrompt: ( userPrompt: string, - contextOverride?: { label: string; filePath: string; selectedText: string }, + contextOverride?: PromptContextOverride, + options?: { tabId?: string; preserveTabProvider?: boolean }, ) => Promise; + queueGuidance: ( + tabId: string, + prompt: string, + contextOverride?: PromptContextOverride, + ) => void; + consumeQueuedGuidance: ( + tabId: string, + guidanceId?: string | null, + ) => QueuedGuidance | null; + displayQueuedGuidanceInChat: ( + tabId: string, + guidanceId?: string | null, + ) => string | null; + removeQueuedGuidance: (tabId: string, guidanceId: string) => void; + clearQueuedGuidance: (tabId: string) => void; + forceQueuedGuidanceNow: (tabId: string, guidanceId?: string) => Promise; cancelExecution: () => Promise; clearMessages: () => void; newSession: () => void; @@ -576,26 +617,38 @@ export const useClaudeChatStore = create()((set, get) => ({ sendPrompt: async ( userPrompt: string, - contextOverride?: { label: string; filePath: string; selectedText: string }, + contextOverride?: PromptContextOverride, + options?: { tabId?: string; preserveTabProvider?: boolean }, ) => { const state = get(); - const { activeTabId } = state; + const activeTabId = options?.tabId ?? state.activeTabId; const activeTab = state.tabs.find((t) => t.id === activeTabId); - // Guard: prevent sending from a tab that's already streaming - if (activeTab?.isStreaming) return; + if (!activeTab || activeTab.isStreaming) return; const { - sessionId, selectedModel, effortLevel, selectedProviderCredentialId, selectedProviderModels, } = state; - const providerCredentialId = + const sessionId = activeTab.sessionId; + let providerCredentialId = selectedProviderCredentialId && selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID ? selectedProviderCredentialId : null; + + if (options?.preserveTabProvider && activeTab.providerKey) { + const tabProviderCredentialId = providerCredentialIdFromSessionKey( + activeTab.providerKey, + ); + if (tabProviderCredentialId === CLAUDE_CODE_PROVIDER_ID) { + providerCredentialId = null; + } else if (tabProviderCredentialId !== undefined) { + providerCredentialId = tabProviderCredentialId; + } + } + const providerModelOverride = providerCredentialId ? selectedProviderModels[providerCredentialId] || null : null; @@ -777,6 +830,140 @@ export const useClaudeChatStore = create()((set, get) => ({ } }, + queueGuidance: (tabId, prompt, contextOverride) => { + const trimmed = prompt.trim(); + if (!trimmed) return; + set((state) => { + const tab = state.tabs.find((t) => t.id === tabId); + if (!tab) return {}; + const queuedGuidance = [ + ...(tab.queuedGuidance ?? []), + { + id: nextGuidanceId(), + prompt: trimmed, + contextOverride, + createdAt: Date.now(), + }, + ]; + return applyTabUpdate(state, tabId, { queuedGuidance }); + }); + }, + + consumeQueuedGuidance: (tabId, guidanceId) => { + const state = get(); + const tab = state.tabs.find((t) => t.id === tabId); + const queue = tab?.queuedGuidance ?? []; + const targetIndex = guidanceId + ? queue.findIndex((guidance) => guidance.id === guidanceId) + : 0; + const next = targetIndex >= 0 ? queue[targetIndex] : null; + if (!next) { + if (tab?.forceQueuedGuidanceOnComplete) { + set((s) => + applyTabUpdate(s, tabId, { + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + }), + ); + } + return null; + } + const rest = queue.filter((_, index) => index !== targetIndex); + set((s) => + applyTabUpdate(s, tabId, { + queuedGuidance: rest, + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + }), + ); + return next; + }, + + displayQueuedGuidanceInChat: (tabId, guidanceId) => { + let displayedId: string | null = null; + set((state) => { + const tab = state.tabs.find((t) => t.id === tabId); + const queue = tab?.queuedGuidance ?? []; + const targetId = guidanceId ?? queue[0]?.id; + if (!tab || !targetId || queue.length === 0) return {}; + displayedId = targetId; + return applyTabUpdate(state, tabId, { + queuedGuidance: queue.map((guidance) => ({ + ...guidance, + displayedInChat: guidance.id === targetId, + })), + }); + }); + return displayedId; + }, + + removeQueuedGuidance: (tabId, guidanceId) => { + set((state) => { + const tab = state.tabs.find((t) => t.id === tabId); + if (!tab) return {}; + const queuedGuidance = (tab.queuedGuidance ?? []).filter( + (guidance) => guidance.id !== guidanceId, + ); + return applyTabUpdate(state, tabId, { + queuedGuidance, + ...(tab.forcedQueuedGuidanceId === guidanceId + ? { + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + } + : {}), + }); + }); + }, + + clearQueuedGuidance: (tabId) => { + set((state) => + applyTabUpdate(state, tabId, { + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + }), + ); + }, + + forceQueuedGuidanceNow: async (tabId, guidanceId) => { + const tab = get().tabs.find((t) => t.id === tabId); + if (!tab?.isStreaming || !(tab.queuedGuidance?.length ?? 0)) return; + const targetId = get().displayQueuedGuidanceInChat(tabId, guidanceId); + if (!targetId) return; + + set((state) => + applyTabUpdate(state, tabId, { + forceQueuedGuidanceOnComplete: true, + forcedQueuedGuidanceId: targetId, + }), + ); + + try { + const interrupted = await invoke("interrupt_claude_execution", { + tabId, + }); + if (interrupted) { + set({ _cancelledByUser: true }); + } + } catch (err: any) { + set((state) => + applyTabUpdate(state, tabId, { + queuedGuidance: ( + state.tabs.find((t) => t.id === tabId)?.queuedGuidance ?? [] + ).map((guidance) => + guidance.id === targetId + ? { ...guidance, displayedInChat: false } + : guidance, + ), + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + error: err?.message || String(err), + }), + ); + } + }, + cancelExecution: async () => { const { activeTabId } = get(); set({ _cancelledByUser: true }); @@ -785,7 +972,14 @@ export const useClaudeChatStore = create()((set, get) => ({ } catch { // ignore } - set((s) => applyTabUpdate(s, activeTabId, { isStreaming: false })); + set((s) => + applyTabUpdate(s, activeTabId, { + isStreaming: false, + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, + }), + ); }, clearMessages: () => { @@ -796,6 +990,9 @@ export const useClaudeChatStore = create()((set, get) => ({ error: null, totalInputTokens: 0, totalOutputTokens: 0, + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, }), ); }, @@ -830,6 +1027,9 @@ export const useClaudeChatStore = create()((set, get) => ({ totalInputTokens: 0, totalOutputTokens: 0, title: "New Chat", + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, }), ); }, @@ -892,6 +1092,9 @@ export const useClaudeChatStore = create()((set, get) => ({ totalInputTokens: 0, totalOutputTokens: 0, title: sessionTitle ?? "New Chat", + queuedGuidance: [], + forceQueuedGuidanceOnComplete: false, + forcedQueuedGuidanceId: null, }), ); From 717c572b41e7add45dfd76a58fde34d75a968b13 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 16:33:46 +0800 Subject: [PATCH 084/118] fix(chat): allow multiple guided follow-ups Keep guided follow-ups additive when users select multiple queued items during an active run instead of replacing the previously displayed guidance. Prefer already-displayed guidance when continuing the next turn, preserve the first forced guidance item, and keep the forced queue state consistent when entries are removed or interrupted. Add store coverage for displaying multiple guidance entries and consuming displayed guidance before ordinary queued items. --- .../stores/claude-chat-store.test.ts | 36 +++++++++++- apps/desktop/src/stores/claude-chat-store.ts | 57 +++++++++++++------ 2 files changed, 72 insertions(+), 21 deletions(-) diff --git a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts index 84eadc5..af4977b 100644 --- a/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-chat-store.test.ts @@ -143,23 +143,29 @@ describe("queued guidance", () => { ).toEqual(["first"]); }); - it("marks a queued guidance item as displayed in chat", () => { + it("marks multiple queued guidance items as displayed in chat", () => { const chat = useClaudeChatStore.getState(); const tabId = chat.activeTabId; chat.clearQueuedGuidance(tabId); chat.queueGuidance(tabId, "first"); chat.queueGuidance(tabId, "second"); + chat.queueGuidance(tabId, "third"); - const secondId = useClaudeChatStore + const queue = useClaudeChatStore .getState() - .tabs.find((tab) => tab.id === tabId)?.queuedGuidance?.[1].id; + .tabs.find((tab) => tab.id === tabId)?.queuedGuidance; + const secondId = queue?.[1].id; + const thirdId = queue?.[2].id; expect( useClaudeChatStore .getState() .displayQueuedGuidanceInChat(tabId, secondId), ).toBe(secondId); + expect( + useClaudeChatStore.getState().displayQueuedGuidanceInChat(tabId, thirdId), + ).toBe(thirdId); expect( useClaudeChatStore @@ -172,6 +178,30 @@ describe("queued guidance", () => { ).toEqual([ { prompt: "first", displayedInChat: false }, { prompt: "second", displayedInChat: true }, + { prompt: "third", displayedInChat: true }, ]); }); + + it("consumes displayed guidance before ordinary queued guidance", () => { + const chat = useClaudeChatStore.getState(); + const tabId = chat.activeTabId; + + chat.clearQueuedGuidance(tabId); + chat.queueGuidance(tabId, "first"); + chat.queueGuidance(tabId, "second"); + + const secondId = useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId)?.queuedGuidance?.[1].id; + useClaudeChatStore.getState().displayQueuedGuidanceInChat(tabId, secondId); + + const selected = chat.consumeQueuedGuidance(tabId); + expect(selected?.prompt).toBe("second"); + expect( + useClaudeChatStore + .getState() + .tabs.find((tab) => tab.id === tabId) + ?.queuedGuidance?.map((item) => item.prompt), + ).toEqual(["first"]); + }); }); diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 2edab62..6a92fb7 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -853,9 +853,14 @@ export const useClaudeChatStore = create()((set, get) => ({ const state = get(); const tab = state.tabs.find((t) => t.id === tabId); const queue = tab?.queuedGuidance ?? []; + const displayedIndex = queue.findIndex( + (guidance) => guidance.displayedInChat, + ); const targetIndex = guidanceId ? queue.findIndex((guidance) => guidance.id === guidanceId) - : 0; + : displayedIndex >= 0 + ? displayedIndex + : 0; const next = targetIndex >= 0 ? queue[targetIndex] : null; if (!next) { if (tab?.forceQueuedGuidanceOnComplete) { @@ -890,7 +895,7 @@ export const useClaudeChatStore = create()((set, get) => ({ return applyTabUpdate(state, tabId, { queuedGuidance: queue.map((guidance) => ({ ...guidance, - displayedInChat: guidance.id === targetId, + displayedInChat: guidance.displayedInChat || guidance.id === targetId, })), }); }); @@ -904,12 +909,17 @@ export const useClaudeChatStore = create()((set, get) => ({ const queuedGuidance = (tab.queuedGuidance ?? []).filter( (guidance) => guidance.id !== guidanceId, ); + const nextForcedGuidanceId = + tab.forcedQueuedGuidanceId === guidanceId + ? (queuedGuidance.find((guidance) => guidance.displayedInChat)?.id ?? + null) + : tab.forcedQueuedGuidanceId; return applyTabUpdate(state, tabId, { queuedGuidance, ...(tab.forcedQueuedGuidanceId === guidanceId ? { - forceQueuedGuidanceOnComplete: false, - forcedQueuedGuidanceId: null, + forceQueuedGuidanceOnComplete: nextForcedGuidanceId !== null, + forcedQueuedGuidanceId: nextForcedGuidanceId, } : {}), }); @@ -932,12 +942,19 @@ export const useClaudeChatStore = create()((set, get) => ({ const targetId = get().displayQueuedGuidanceInChat(tabId, guidanceId); if (!targetId) return; - set((state) => - applyTabUpdate(state, tabId, { + set((state) => { + const currentTab = state.tabs.find((t) => t.id === tabId); + const existingForcedId = currentTab?.forcedQueuedGuidanceId ?? null; + const existingForcedStillQueued = (currentTab?.queuedGuidance ?? []).some( + (guidance) => guidance.id === existingForcedId, + ); + return applyTabUpdate(state, tabId, { forceQueuedGuidanceOnComplete: true, - forcedQueuedGuidanceId: targetId, - }), - ); + forcedQueuedGuidanceId: existingForcedStillQueued + ? existingForcedId + : targetId, + }); + }); try { const interrupted = await invoke("interrupt_claude_execution", { @@ -947,20 +964,24 @@ export const useClaudeChatStore = create()((set, get) => ({ set({ _cancelledByUser: true }); } } catch (err: any) { - set((state) => - applyTabUpdate(state, tabId, { - queuedGuidance: ( - state.tabs.find((t) => t.id === tabId)?.queuedGuidance ?? [] - ).map((guidance) => + set((state) => { + const currentTab = state.tabs.find((t) => t.id === tabId); + const existingForcedId = currentTab?.forcedQueuedGuidanceId ?? null; + const nextForcedId = + existingForcedId && existingForcedId !== targetId + ? existingForcedId + : null; + return applyTabUpdate(state, tabId, { + queuedGuidance: (currentTab?.queuedGuidance ?? []).map((guidance) => guidance.id === targetId ? { ...guidance, displayedInChat: false } : guidance, ), - forceQueuedGuidanceOnComplete: false, - forcedQueuedGuidanceId: null, + forceQueuedGuidanceOnComplete: nextForcedId !== null, + forcedQueuedGuidanceId: nextForcedId, error: err?.message || String(err), - }), - ); + }); + }); } }, From 04a18f6cc588ae3daf151f02baa40de4c9db3e3e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 16:44:04 +0800 Subject: [PATCH 085/118] fix(chat): interrupt active runs for guided follow-ups Terminate the current Claude process on Windows when a guided follow-up is selected so queued guidance can take effect immediately instead of waiting for the active run to finish naturally. Handle forced queued guidance before snapshot and file refresh work in the completion event, then resume the same tab with the preserved provider context. --- apps/desktop/src-tauri/src/claude_process.rs | 10 ++++--- apps/desktop/src/hooks/use-claude-events.ts | 30 +++++++++++++------- 2 files changed, 26 insertions(+), 14 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude_process.rs b/apps/desktop/src-tauri/src/claude_process.rs index d9df78a..b8cf90e 100644 --- a/apps/desktop/src-tauri/src/claude_process.rs +++ b/apps/desktop/src-tauri/src/claude_process.rs @@ -320,11 +320,13 @@ async fn interrupt_or_terminate(child: &mut Child) -> bool { } #[cfg(not(unix))] -async fn interrupt_or_terminate(_child: &mut Child) -> bool { +async fn interrupt_or_terminate(child: &mut Child) -> bool { // Windows GUI processes do not have a reliable console-control path from - // Tauri without a PTY/ConPTY session. Keep this fallback isolated so the - // future long-lived session driver can replace it cleanly. - false + // Tauri without a PTY/ConPTY session. For guided follow-ups, fall back to + // terminating the current run so the frontend can immediately continue the + // same tab with the queued guidance. + let _ = child.start_kill(); + true } /// Kill all Claude processes associated with a specific window label. diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index 21b5b3d..25a5853 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -389,6 +389,23 @@ export function useClaudeEvents() { const completedSessionId = tab.sessionId; chatStore._setStreaming(tabId, false); + const forceQueuedGuidance = tab.forceQueuedGuidanceOnComplete === true; + if (forceQueuedGuidance) { + const queuedGuidance = useClaudeChatStore + .getState() + .consumeQueuedGuidance(tabId, tab.forcedQueuedGuidanceId); + if (queuedGuidance) { + log.info(`[${tabId}] interrupting current run with queued guidance`); + void useClaudeChatStore + .getState() + .sendPrompt(queuedGuidance.prompt, queuedGuidance.contextOverride, { + tabId, + preserveTabProvider: true, + }); + return; + } + } + // Snapshot after Claude edit const projectPath = useDocumentStore.getState().projectRoot; if (projectPath && completedSessionId) { @@ -427,16 +444,9 @@ export function useClaudeEvents() { const docStore = useDocumentStore.getState(); await docStore.refreshFiles(); - const forceQueuedGuidance = tab.forceQueuedGuidanceOnComplete === true; - const queuedGuidance = - success || forceQueuedGuidance - ? useClaudeChatStore - .getState() - .consumeQueuedGuidance( - tabId, - forceQueuedGuidance ? tab.forcedQueuedGuidanceId : null, - ) - : null; + const queuedGuidance = success + ? useClaudeChatStore.getState().consumeQueuedGuidance(tabId) + : null; if (queuedGuidance) { log.info(`[${tabId}] continuing with queued guidance`); void useClaudeChatStore From 8b1593ff20285dc7162a8fe3bd1d16ae8f863528 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Wed, 10 Jun 2026 18:04:53 +0800 Subject: [PATCH 086/118] feat(messages): enhance handling of tool result images in OpenAI requests --- .../src-tauri/src/anthropic_proxy/messages.rs | 109 +++++++++++++++--- 1 file changed, 96 insertions(+), 13 deletions(-) diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs index 1178198..5636c63 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs @@ -196,12 +196,32 @@ fn append_openai_messages_for_anthropic_message(messages: &mut Vec, messa .get("tool_use_id") .and_then(|value| value.as_str()) .unwrap_or("toolu_unknown"); - let content = flatten_tool_result_content(block.get("content").unwrap_or(&Value::Null)); + let (content, image_parts) = + tool_result_content_to_openai(block.get("content").unwrap_or(&Value::Null)); + let content = if content.trim().is_empty() && !image_parts.is_empty() { + "Tool returned image content.".to_string() + } else { + content + }; messages.push(json!({ "role": "tool", "tool_call_id": tool_call_id, "content": content, })); + if !image_parts.is_empty() { + let mut content_parts = vec![json!({ + "type": "text", + "text": format!( + "Tool result for {} included image content. Use the attached image when answering.", + tool_call_id + ), + })]; + content_parts.extend(image_parts); + messages.push(json!({ + "role": "user", + "content": content_parts, + })); + } } return; } @@ -446,22 +466,34 @@ fn assistant_content_to_openai(content: &Value) -> (String, Vec, Option String { + tool_result_content_to_openai(content).0 +} + +fn tool_result_content_to_openai(content: &Value) -> (String, Vec) { if let Some(text) = content.as_str() { - return text.to_string(); + return (text.to_string(), Vec::new()); } if let Some(blocks) = content.as_array() { - return blocks - .iter() - .filter_map(|block| { - block - .get("text") - .and_then(|value| value.as_str()) - .or_else(|| block.get("content").and_then(|value| value.as_str())) - }) - .collect::>() - .join("\n\n"); + let mut text = Vec::new(); + let mut image_parts = Vec::new(); + for block in blocks { + if let Some(value) = block + .get("text") + .and_then(|value| value.as_str()) + .or_else(|| block.get("content").and_then(|value| value.as_str())) + { + text.push(value); + continue; + } + if block.get("type").and_then(|value| value.as_str()) == Some("image") { + if let Some(part) = anthropic_image_block_to_openai_part(block) { + image_parts.push(part); + } + } + } + return (text.join("\n\n"), image_parts); } - content.to_string() + (content.to_string(), Vec::new()) } fn anthropic_tool_to_openai_tool(tool: &Value) -> Option { @@ -668,6 +700,57 @@ mod tests { ); } + #[test] + fn preserves_tool_result_images_as_follow_up_user_image_parts() { + let request = json!({ + "messages": [ + { + "role": "assistant", + "content": [{ + "type": "tool_use", + "id": "toolu_read_image", + "name": "Read", + "input": { "file_path": "attachments/figure.png" } + }] + }, + { + "role": "user", + "content": [{ + "type": "tool_result", + "tool_use_id": "toolu_read_image", + "content": [ + { "type": "text", "text": "Image read successfully." }, + { + "type": "image", + "source": { + "type": "base64", + "media_type": "image/png", + "data": "abcd" + } + } + ] + }] + } + ] + }); + + let converted = anthropic_to_openai_request(&request, &credential()).unwrap(); + + assert_eq!(converted["messages"][0]["role"], "assistant"); + assert_eq!(converted["messages"][1]["role"], "tool"); + assert_eq!(converted["messages"][1]["tool_call_id"], "toolu_read_image"); + assert_eq!( + converted["messages"][1]["content"], + "Image read successfully." + ); + assert_eq!(converted["messages"][2]["role"], "user"); + assert_eq!(converted["messages"][2]["content"][0]["type"], "text"); + assert_eq!( + converted["messages"][2]["content"][1]["image_url"]["url"], + "data:image/png;base64,abcd" + ); + } + #[test] fn preserves_assistant_thinking_for_provider_context() { let request = json!({ From 3eac6be0a898764ea1dce4a8f64777297cc17b25 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 00:46:47 +0800 Subject: [PATCH 087/118] feat: add provider model capability metadata Return OpenAI-compatible model metadata from the backend and preserve provider model ordering. Add chat/vision capability badges, metadata-driven model filtering, Qwen vision fallbacks, and tests. Keep pasted chat images as temporary context and block image sends for text-only provider models. --- apps/desktop/src-tauri/src/claude.rs | 37 +- .../__tests__/lib/model-capabilities.test.ts | 67 ++++ .../components/claude-chat/chat-composer.tsx | 219 +++++++++- apps/desktop/src/components/claude-setup.tsx | 15 +- .../components/model-capability-badges.tsx | 38 ++ apps/desktop/src/lib/model-capabilities.ts | 379 ++++++++++++++++++ apps/desktop/src/stores/claude-setup-store.ts | 28 +- 7 files changed, 751 insertions(+), 32 deletions(-) create mode 100644 apps/desktop/src/__tests__/lib/model-capabilities.test.ts create mode 100644 apps/desktop/src/components/model-capability-badges.tsx create mode 100644 apps/desktop/src/lib/model-capabilities.ts diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index a4d77a1..9cd1ccb 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -3,8 +3,9 @@ pub use crate::claude_process::{kill_process_for_window, ClaudeProcessState}; use crate::claude_process::{ spawn_claude_process, stop_claude_process, ClaudeStopMode, SpawnProviderMetadata, }; -use serde_json::json; +use serde_json::{json, Value}; use std::borrow::Cow; +use std::collections::HashSet; use std::fs::OpenOptions; use std::io::Write; use std::path::{Path, PathBuf}; @@ -61,6 +62,12 @@ pub struct OpenAiCompatibleCredentialInfo { model: String, } +#[derive(Clone, Debug, serde::Serialize)] +pub struct OpenAiCompatibleModelInfo { + id: String, + metadata: Value, +} + const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; @@ -604,7 +611,7 @@ pub async fn verify_openai_compatible_api_key( pub async fn list_openai_compatible_models( api_key: String, base_url: String, -) -> Result, String> { +) -> Result, String> { let api_key = normalize_optional_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; @@ -620,7 +627,7 @@ pub async fn list_openai_compatible_models( #[tauri::command] pub async fn list_openai_compatible_credential_models( credential_id: String, -) -> Result, String> { +) -> Result, String> { let config = read_claude_prism_auth_config()?; let credential = normalized_openai_compatible_credentials(&config) .into_iter() @@ -633,7 +640,7 @@ pub async fn list_openai_compatible_credential_models( async fn fetch_openai_compatible_models( api_key: &str, base_url: &str, -) -> Result, String> { +) -> Result, String> { let request = reqwest::Client::new().get(openai_models_url(base_url)); let response = with_optional_bearer_auth(request, api_key) .send() @@ -649,7 +656,7 @@ async fn fetch_openai_compatible_models( return Err(openai_compatible_verification_error(status, &response_text)); } - let value: serde_json::Value = serde_json::from_str(&response_text) + let value: Value = serde_json::from_str(&response_text) .map_err(|err| format!("Provider returned invalid models JSON: {}", err))?; let mut models = value .get("data") @@ -657,13 +664,25 @@ async fn fetch_openai_compatible_models( .map(|items| { items .iter() - .filter_map(|item| item.get("id").and_then(|value| value.as_str())) - .map(str::to_string) + .filter_map(|item| { + item.get("id") + .and_then(|value| value.as_str()) + .map(|id| OpenAiCompatibleModelInfo { + id: id.to_string(), + metadata: item.clone(), + }) + .or_else(|| { + item.as_str().map(|id| OpenAiCompatibleModelInfo { + id: id.to_string(), + metadata: json!({ "id": id }), + }) + }) + }) .collect::>() }) .unwrap_or_default(); - models.sort(); - models.dedup(); + let mut seen = HashSet::new(); + models.retain(|model| seen.insert(model.id.clone())); if models.is_empty() { return Err("Provider did not return any models.".to_string()); } diff --git a/apps/desktop/src/__tests__/lib/model-capabilities.test.ts b/apps/desktop/src/__tests__/lib/model-capabilities.test.ts new file mode 100644 index 0000000..24f8a18 --- /dev/null +++ b/apps/desktop/src/__tests__/lib/model-capabilities.test.ts @@ -0,0 +1,67 @@ +import { describe, expect, it } from "vitest"; +import { + getModelCapabilities, + isChatModelOption, +} from "@/lib/model-capabilities"; + +describe("model capabilities", () => { + it("uses provider metadata for vision capability", () => { + expect( + getModelCapabilities({ + model: "custom-model", + metadata: { model_info: { supports_vision: true } }, + }).vision, + ).toBe(true); + + expect( + getModelCapabilities({ + label: "Qwen", + model: "qwen3.6-flash", + metadata: { supports_vision: false }, + }).vision, + ).toBe(false); + }); + + it("recognizes recent Qwen chat models as vision-capable when metadata is missing", () => { + expect( + getModelCapabilities({ + label: "Qwen", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3.5-flash", + }).vision, + ).toBe(true); + + expect( + getModelCapabilities({ + label: "Qwen", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3.6-flash", + }).vision, + ).toBe(true); + + expect( + getModelCapabilities({ + label: "Qwen", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3.6-plus", + }).vision, + ).toBe(true); + + expect( + getModelCapabilities({ + label: "Qwen", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + model: "qwen3.5-coder", + }).vision, + ).toBe(false); + }); + + it("filters non-chat model families", () => { + expect( + isChatModelOption({ + label: "Qwen", + model: "text-embedding-v4", + }), + ).toBe(false); + }); +}); diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index bcd74ef..97a923c 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -33,7 +33,7 @@ import { } from "lucide-react"; import { getCurrentWebview } from "@tauri-apps/api/webview"; import { writeFile, mkdir, exists } from "@tauri-apps/plugin-fs"; -import { join } from "@tauri-apps/api/path"; +import { join, tempDir } from "@tauri-apps/api/path"; import { invoke } from "@tauri-apps/api/core"; import { CLAUDE_CODE_PROVIDER_ID, @@ -53,6 +53,14 @@ import { getProviderDisplayName, getProviderIconSrc, } from "@/lib/provider-icons"; +import { + getModelCapabilities, + isChatModelOption, + modelInfoId, + type OpenAiCompatibleModelInfo, + rememberModelListCapabilityMetadata, +} from "@/lib/model-capabilities"; +import { ModelCapabilityBadges } from "@/components/model-capability-badges"; import { TooltipIconButton } from "@/components/assistant-ui/tooltip-icon-button"; import { ClaudeSetup } from "@/components/claude-setup"; import { @@ -75,12 +83,36 @@ const EMPTY_GUIDANCE: QueuedGuidance[] = []; export type { SlashCommand }; interface PinnedContext { - label: string; // @file:line:col-line:col + label: string; filePath: string; selectedText: string; imageDataUrl?: string; // thumbnail for captured images } +function pastedFileExtension(file: File) { + const namedExt = file.name.split(".").pop()?.trim().toLowerCase(); + if (namedExt && namedExt !== file.name.toLowerCase()) return namedExt; + return file.type.split("/")[1]?.split("+")[0] || "png"; +} + +function safePastedFileName(file: File, index: number) { + const ext = pastedFileExtension(file).replace(/[^a-z0-9]/g, "") || "png"; + const base = + file.name && file.name !== "image.png" + ? file.name.replace(/\.[^.]+$/, "") + : `paste-${Date.now()}-${index + 1}`; + return `${base.replace(/[^a-zA-Z0-9._-]/g, "_")}.${ext}`; +} + +function readFileAsDataUrl(file: File) { + return new Promise((resolve, reject) => { + const reader = new FileReader(); + reader.onload = () => resolve(String(reader.result ?? "")); + reader.onerror = () => reject(reader.error ?? new Error("Read failed")); + reader.readAsDataURL(file); + }); +} + function getFileIcon(file: ProjectFile) { if (file.type === "image") return ; @@ -103,6 +135,7 @@ function formatGuidanceText(guidance: QueuedGuidance) { export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const sendPrompt = useClaudeChatStore((s) => s.sendPrompt); + const setChatError = useClaudeChatStore((s) => s._setError); const queueGuidance = useClaudeChatStore((s) => s.queueGuidance); const cancelExecution = useClaudeChatStore((s) => s.cancelExecution); const removeQueuedGuidance = useClaudeChatStore( @@ -167,6 +200,13 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { : null; const directProviderModel = selectedProviderModel || selectedProviderCredential?.model || "Provider"; + const selectedProviderSupportsVision = selectedProviderCredential + ? getModelCapabilities({ + label: selectedProviderCredential.label, + baseUrl: selectedProviderCredential.base_url, + model: directProviderModel, + }).vision + : true; const selectedProviderDisplayName = selectedProviderCredential ? getProviderDisplayName({ label: selectedProviderCredential.label, @@ -208,6 +248,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const [modelPickerOpen, setModelPickerOpen] = useState(false); const modelPickerRef = useRef(null); const modelButtonRef = useRef(null); + const providerModelListRef = useRef(null); + const providerModelItemRefs = useRef< + Record + >({}); const [pickerPos, setPickerPos] = useState<{ left: number; bottom: number }>({ left: 0, bottom: 0, @@ -308,16 +352,35 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { setProviderModelLoadingId(credentialId); setProviderModelError(null); - invoke("list_openai_compatible_credential_models", { - credentialId, - }) + invoke>( + "list_openai_compatible_credential_models", + { + credentialId, + }, + ) .then((models) => { if (cancelled) return; - const options = Array.from( - new Set( - [selectedProviderCredential.model, ...models].filter(Boolean), - ), + rememberModelListCapabilityMetadata( + selectedProviderCredential.base_url, + models, ); + const modelIds = models + .filter((model) => + isChatModelOption({ + label: selectedProviderCredential.label, + baseUrl: selectedProviderCredential.base_url, + model: modelInfoId(model), + metadata: typeof model === "string" ? undefined : model.metadata, + }), + ) + .map(modelInfoId); + const options = Array.from(new Set(modelIds.filter(Boolean))); + if ( + selectedProviderCredential.model && + !options.includes(selectedProviderCredential.model) + ) { + options.push(selectedProviderCredential.model); + } setProviderModelOptions((prev) => ({ ...prev, [credentialId]: options, @@ -344,6 +407,21 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { // Pinned contexts — supports multiple files/selections const [pinnedContexts, setPinnedContexts] = useState([]); + const hasPinnedImages = pinnedContexts.some( + (context) => context.imageDataUrl, + ); + const imageCompatibilityError = + selectedProviderCredential && + hasPinnedImages && + !selectedProviderSupportsVision + ? `${selectedProviderDisplayName} ${directProviderModel} does not support image input. Remove the pasted image or switch to a vision-capable model.` + : null; + + useEffect(() => { + if (imageCompatibilityError) { + setChatError(activeTabId, imageCompatibilityError); + } + }, [activeTabId, imageCompatibilityError, setChatError]); // File drop state const [isDragOver, setIsDragOver] = useState(false); @@ -705,7 +783,46 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const newContexts: PinnedContext[] = []; - for (const file of fileItems) { + for (const [index, file] of fileItems.entries()) { + if (file.type.startsWith("image/")) { + try { + const fileName = safePastedFileName(file, index); + const tempRoot = await join( + await tempDir(), + "ClaudePrism", + "chat-pastes", + ); + if (!(await exists(tempRoot))) { + await mkdir(tempRoot, { recursive: true }); + } + const fullPath = await join( + tempRoot, + `${Date.now()}-${index + 1}-${fileName}`, + ); + const buffer = await file.arrayBuffer(); + await writeFile(fullPath, new Uint8Array(buffer)); + + newContexts.push({ + label: + fileItems.length > 1 + ? `Pasted image ${index + 1}` + : "Pasted image", + filePath: fullPath, + selectedText: [ + `[Temporary pasted image: ${fullPath}]`, + "Use this image file as visual context for the user's message.", + ].join("\n"), + imageDataUrl: await readFileAsDataUrl(file), + }); + } catch (err) { + log.error("Failed to save pasted image", { + fileName: file.name || "clipboard image", + error: String(err), + }); + } + continue; + } + // Generate a filename — use the original name or a timestamp-based name for screenshots let fileName = file.name; if (!fileName || fileName === "image.png") { @@ -771,8 +888,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { } if (newContexts.length > 0) { - // Refresh file list so the store knows about new files - await refreshFiles(); + if (newContexts.some((context) => context.label.startsWith("@"))) { + // Refresh only for files imported into the project tree. + await refreshFiles(); + } setPinnedContexts((prev) => { const existingLabels = new Set(prev.map((c) => c.label)); @@ -789,6 +908,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { const handleSend = useCallback(() => { const trimmed = input.trim(); if (!trimmed) return; + if (imageCompatibilityError) { + setChatError(activeTabId, imageCompatibilityError); + return; + } // Resolve slash commands: if input starts with /command, find the command and substitute $ARGUMENTS // Skills (scope === "skill") are passed through as-is — Claude handles them via the Skill tool. @@ -846,6 +969,8 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { queueGuidance, sendPrompt, pinnedContexts, + imageCompatibilityError, + setChatError, slashCommands, ]); @@ -1023,14 +1148,55 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { }, ]; const activeProviderModelOptions = selectedProviderCredential - ? (providerModelOptions[selectedProviderCredential.id] ?? [ - selectedProviderCredential.model, - ]) + ? Array.from( + new Set( + ( + providerModelOptions[selectedProviderCredential.id] ?? [ + selectedProviderCredential.model, + ] + ) + .map(modelInfoId) + .filter(Boolean), + ), + ).filter((model) => + isChatModelOption({ + label: selectedProviderCredential.label, + baseUrl: selectedProviderCredential.base_url, + model, + }), + ) : []; const activeProviderModelsLoading = !!selectedProviderCredential && providerModelLoadingId === selectedProviderCredential.id; const claudeProviderActive = !selectedProviderCredential; + const activeProviderModelOptionsKey = activeProviderModelOptions.join("\0"); + + useLayoutEffect(() => { + if ( + !modelPickerOpen || + claudeProviderActive || + activeProviderModelsLoading + ) { + return; + } + + const list = providerModelListRef.current; + const item = providerModelItemRefs.current[directProviderModel]; + if (!list || !item) return; + + const itemTop = item.offsetTop - list.offsetTop; + const centeredTop = + itemTop - Math.max(0, (list.clientHeight - item.offsetHeight) / 2); + list.scrollTop = Math.max(0, centeredTop); + }, [ + activeProviderModelOptionsKey, + activeProviderModelsLoading, + claudeProviderActive, + directProviderModel, + modelPickerOpen, + selectedProviderCredential?.id, + ]); return (
@@ -1205,7 +1371,10 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => {
-
+
Model
@@ -1270,6 +1439,13 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { {activeProviderModelOptions.map((modelId) => (
); })} diff --git a/apps/desktop/src/components/model-capability-badges.tsx b/apps/desktop/src/components/model-capability-badges.tsx new file mode 100644 index 0000000..b3d4f19 --- /dev/null +++ b/apps/desktop/src/components/model-capability-badges.tsx @@ -0,0 +1,38 @@ +import { EyeIcon, MessageCircleIcon } from "lucide-react"; +import { getModelCapabilities } from "@/lib/model-capabilities"; +import { cn } from "@/lib/utils"; + +interface ModelCapabilityBadgesProps { + label?: string | null; + baseUrl?: string | null; + model?: string | null; + className?: string; +} + +export function ModelCapabilityBadges({ + label, + baseUrl, + model, + className, +}: ModelCapabilityBadgesProps) { + const capabilities = getModelCapabilities({ label, baseUrl, model }); + const badgeClass = + "inline-flex h-5 items-center justify-center rounded-md border border-neutral-300 bg-white text-neutral-600 dark:border-neutral-600 dark:bg-neutral-950 dark:text-neutral-300"; + + return ( + + {capabilities.chat && ( + + + + )} + {capabilities.vision && ( + + + + )} + + ); +} diff --git a/apps/desktop/src/lib/model-capabilities.ts b/apps/desktop/src/lib/model-capabilities.ts new file mode 100644 index 0000000..5e94b90 --- /dev/null +++ b/apps/desktop/src/lib/model-capabilities.ts @@ -0,0 +1,379 @@ +export interface OpenAiCompatibleModelInfo { + id: string; + metadata?: unknown; +} + +interface ModelCapabilityInput { + label?: string | null; + baseUrl?: string | null; + model?: string | null; + metadata?: unknown; +} + +export interface ModelCapabilities { + chat: boolean; + vision: boolean; +} + +const modelMetadataCache = new Map(); + +function normalizeText(value?: unknown) { + return String(value ?? "") + .trim() + .toLowerCase(); +} + +function metadataKey(baseUrl?: string | null, model?: string | null) { + return `${normalizeText(baseUrl)}::${normalizeText(model)}`; +} + +export function rememberModelCapabilityMetadata( + baseUrl: string | null | undefined, + model: string | null | undefined, + metadata: unknown, +) { + if (!model?.trim()) return; + modelMetadataCache.set(metadataKey(baseUrl, model), metadata); +} + +export function rememberModelListCapabilityMetadata( + baseUrl: string | null | undefined, + models: Array, +) { + for (const model of models) { + if (typeof model === "string") { + rememberModelCapabilityMetadata(baseUrl, model, { id: model }); + } else { + rememberModelCapabilityMetadata( + baseUrl, + model.id, + model.metadata ?? model, + ); + } + } +} + +export function modelInfoId(model: unknown) { + if (typeof model === "string") return model; + if (isPlainObject(model) && typeof model.id === "string") return model.id; + return String(model ?? ""); +} + +function haystack(input: ModelCapabilityInput) { + return [input.label, input.baseUrl, input.model] + .filter(Boolean) + .join(" ") + .toLowerCase(); +} + +function canonicalModelId(value?: string | null) { + return normalizeText(value) + .replace(/[._/]+/g, "-") + .replace(/[^a-z0-9-]+/g, "-") + .replace(/-+/g, "-") + .replace(/^-|-$/g, ""); +} + +function isPlainObject(value: unknown): value is Record { + return !!value && typeof value === "object" && !Array.isArray(value); +} + +function normalizeToken(value: unknown) { + return String(value) + .trim() + .toLowerCase() + .replace(/[_\s]+/g, "-"); +} + +function booleanValue(value: unknown): boolean | null { + if (typeof value === "boolean") return value; + if (typeof value !== "string") return null; + const normalized = normalizeToken(value); + if (["1", "true", "yes", "supported", "enabled"].includes(normalized)) { + return true; + } + if (["0", "false", "no", "unsupported", "disabled"].includes(normalized)) { + return false; + } + return null; +} + +function valueTokens(value: unknown): string[] { + if (Array.isArray(value)) { + return value.flatMap(valueTokens); + } + if (isPlainObject(value)) { + return Object.entries(value).flatMap(([key, child]) => [ + normalizeToken(key), + ...valueTokens(child), + ]); + } + if (typeof value === "string" || typeof value === "number") { + return normalizeToken(value) + .split(/[^a-z0-9]+/) + .filter(Boolean); + } + return []; +} + +const metadataVisionBooleanKeys = new Set([ + "supports-vision", + "support-vision", + "vision", + "supports-image-input", + "support-image-input", + "image-input", + "images-input", + "supports-images", + "multimodal", + "multi-modal", +]); + +const metadataFeatureKeys = new Set([ + "features", + "capabilities", + "modalities", + "input-modalities", + "supported-modalities", + "supported-input-modalities", + "model-features", + "model-capabilities", +]); + +const visionFeatureTokens = new Set([ + "vision", + "visual", + "image", + "images", + "image-input", + "input-image", + "multimodal", + "multi-modal", +]); + +const chatModeTokens = new Set([ + "chat", + "completion", + "completions", + "messages", + "text-generation", + "text", + "llm", +]); + +const nonChatModeTokens = new Set([ + "embedding", + "embeddings", + "rerank", + "reranking", + "moderation", + "whisper", + "tts", + "text-to-speech", + "speech-to-text", + "speech", + "audio", + "asr", + "stt", + "image-generation", + "image-to-video", + "video-generation", + "text-embedding", + "realtime", +]); + +function metadataVisionCapability( + value: unknown, + depth = 0, +): boolean | undefined { + if (depth > 5) return undefined; + if (!isPlainObject(value)) return undefined; + + for (const [rawKey, child] of Object.entries(value)) { + const key = normalizeToken(rawKey); + if (metadataVisionBooleanKeys.has(key)) { + const parsed = booleanValue(child); + if (parsed !== null) return parsed; + } + + if (metadataFeatureKeys.has(key)) { + const tokens = valueTokens(child); + if (tokens.some((token) => visionFeatureTokens.has(token))) return true; + } + + const nested = metadataVisionCapability(child, depth + 1); + if (nested !== undefined) return nested; + } + + return undefined; +} + +function metadataChatCapability( + value: unknown, + depth = 0, +): boolean | undefined { + if (depth > 5) return undefined; + if (!isPlainObject(value)) return undefined; + + for (const [rawKey, child] of Object.entries(value)) { + const key = normalizeToken(rawKey); + if ( + [ + "mode", + "type", + "task", + "model-type", + "endpoint-type", + "category", + ].includes(key) + ) { + const tokens = valueTokens(child); + if (tokens.some((token) => nonChatModeTokens.has(token))) return false; + if (tokens.some((token) => chatModeTokens.has(token))) return true; + } + + if (metadataFeatureKeys.has(key)) { + const tokens = valueTokens(child); + if (tokens.some((token) => chatModeTokens.has(token))) return true; + } + + const nested = metadataChatCapability(child, depth + 1); + if (nested !== undefined) return nested; + } + + return undefined; +} + +function isNonChatModel(value: string) { + return Array.from(nonChatModeTokens).some((marker) => value.includes(marker)); +} + +function isQwenProvider(value: string) { + return [ + "qwen", + "dashscope", + "aliyuncs.com", + "alibabacloud", + "alibaba-cloud", + "modelstudio", + "bailian", + ].some((marker) => value.includes(marker)); +} + +function isQwenVisionModel(model: string) { + const id = canonicalModelId(model); + + if ( + [ + "qwen-vl", + "qwen2-vl", + "qwen2-5-vl", + "qwen3-vl", + "qwen-omni", + "qwen2-5-omni", + "qwen3-omni", + "qvq", + ].some((prefix) => id === prefix || id.startsWith(`${prefix}-`)) + ) { + return true; + } + + if (!id.startsWith("qwen")) return false; + if ( + ["audio", "coder", "code", "embedding", "math", "rerank", "tts"].some( + (token) => id.includes(token), + ) + ) { + return false; + } + + const version = id.match(/^qwen-?(\d+)-(\d+)/); + if (!version) return false; + + const major = Number(version[1]); + const minor = Number(version[2]); + return major > 3 || (major === 3 && minor >= 5); +} + +function curatedVisionCapability(input: ModelCapabilityInput, value: string) { + const model = input.model ?? ""; + + if (isQwenProvider(value) && isQwenVisionModel(model)) { + return true; + } + + return undefined; +} + +function hasExplicitVisionFamily(value: string) { + const normalized = value.toLowerCase(); + const tokens = normalized.split(/[^a-z0-9]+/).filter(Boolean); + + if (tokens.includes("vl")) return true; + + return [ + "vision", + "multimodal", + "multi-modal", + "omni", + "qvq", + "llava", + "bakllava", + "moondream", + "minicpm-v", + "glm-4v", + "glm-4.5v", + "internvl", + "pixtral", + "llama3.2-vision", + "granite3.2-vision", + "gpt-4o", + "gpt-4.1", + "gpt-4.5", + "gpt-4-turbo", + "gpt-4-vision", + "o3", + "o4", + "gemini", + ].some((marker) => normalized.includes(marker)); +} + +function modelMetadata(input: ModelCapabilityInput) { + return ( + input.metadata ?? + modelMetadataCache.get(metadataKey(input.baseUrl, input.model)) ?? + modelMetadataCache.get(metadataKey(null, input.model)) + ); +} + +export function getModelCapabilities( + input: ModelCapabilityInput, +): ModelCapabilities { + const value = haystack(input); + const model = normalizeText(input.model); + + if (!model) { + return { chat: true, vision: false }; + } + + const metadata = modelMetadata(input); + const metadataChat = metadataChatCapability(metadata); + const metadataVision = metadataVisionCapability(metadata); + + const chat = metadataChat ?? !isNonChatModel(value); + if (!chat) { + return { chat: false, vision: false }; + } + + return { + chat, + vision: + metadataVision ?? + curatedVisionCapability(input, value) ?? + hasExplicitVisionFamily(value), + }; +} + +export function isChatModelOption(input: ModelCapabilityInput) { + return getModelCapabilities(input).chat; +} diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index e18200b..177e44f 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -1,5 +1,11 @@ import { create } from "zustand"; import { invoke } from "@tauri-apps/api/core"; +import { + isChatModelOption, + modelInfoId, + type OpenAiCompatibleModelInfo, + rememberModelListCapabilityMetadata, +} from "@/lib/model-capabilities"; // ─── Types ─── @@ -420,10 +426,24 @@ export const useClaudeSetupStore = create((set, get) => ({ }, fetchProviderModels: async (apiKey: string, baseUrl: string) => { - return invoke("list_openai_compatible_models", { - apiKey: apiKey.trim(), - baseUrl: baseUrl.trim(), - }); + const trimmedBaseUrl = baseUrl.trim(); + const models = await invoke>( + "list_openai_compatible_models", + { + apiKey: apiKey.trim(), + baseUrl: trimmedBaseUrl, + }, + ); + rememberModelListCapabilityMetadata(trimmedBaseUrl, models); + return models + .filter((model) => + isChatModelOption({ + baseUrl: trimmedBaseUrl, + model: modelInfoId(model), + metadata: typeof model === "string" ? undefined : model.metadata, + }), + ) + .map(modelInfoId); }, toggleInstallLogs: () => { From a22860e589069daf3816cfa15dd69275d032b1fc Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 00:47:29 +0800 Subject: [PATCH 088/118] fix: guard unsupported proxy image payloads Send Anthropic image blocks as OpenAI image_url parts with high detail. Detect endpoints known to reject OpenAI-style image parts and fail early with a clear provider error. --- apps/desktop/src-tauri/src/anthropic_proxy.rs | 40 +++++++++++++++++++ .../src-tauri/src/anthropic_proxy/messages.rs | 11 +++++ 2 files changed, 51 insertions(+) diff --git a/apps/desktop/src-tauri/src/anthropic_proxy.rs b/apps/desktop/src-tauri/src/anthropic_proxy.rs index 1ecd0dd..8210e52 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy.rs @@ -225,6 +225,14 @@ async fn handle_messages_to_stream( credential, wants_stream, ); + if request_contains_openai_image_parts(&openai_request) + && provider_rejects_openai_image_parts(credential) + { + return Err(format!( + "{} does not accept OpenAI-style image_url message parts. Switch to Claude Code or a vision-capable OpenAI-compatible endpoint for image questions.", + credential.model + )); + } let client = reqwest::Client::builder() .timeout(std::time::Duration::from_secs(300)) @@ -313,6 +321,22 @@ fn with_optional_bearer_auth( } } +fn request_contains_openai_image_parts(value: &Value) -> bool { + match value { + Value::Array(values) => values.iter().any(request_contains_openai_image_parts), + Value::Object(object) => { + object.get("type").and_then(Value::as_str) == Some("image_url") + || object.values().any(request_contains_openai_image_parts) + } + _ => false, + } +} + +fn provider_rejects_openai_image_parts(credential: &OpenAiProxyCredential) -> bool { + let base_url = credential.base_url.to_ascii_lowercase(); + base_url.contains("api.deepseek.com") +} + fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { let lower = base_url.to_ascii_lowercase(); if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { @@ -385,6 +409,22 @@ mod tests { assert!(is_count_tokens_path("/v1/messages/count_tokens")); } + #[test] + fn detects_openai_image_parts_for_provider_guard() { + assert!(request_contains_openai_image_parts(&json!({ + "messages": [{ + "role": "user", + "content": [ + { "type": "text", "text": "what is this?" }, + { "type": "image_url", "image_url": { "url": "data:image/png;base64,abc" } } + ] + }] + }))); + assert!(!request_contains_openai_image_parts(&json!({ + "messages": [{ "role": "user", "content": "text only" }] + }))); + } + #[test] fn converts_tool_use_and_tool_result_messages() { let credential = OpenAiProxyCredential { diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs index 5636c63..46f9204 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy/messages.rs @@ -271,6 +271,7 @@ fn anthropic_image_block_to_openai_part(block: &Value) -> Option { "type": "image_url", "image_url": { "url": url, + "detail": "high", }, })) } @@ -694,10 +695,15 @@ mod tests { let converted = anthropic_to_openai_request(&request, &credential()).unwrap(); assert_eq!(converted["messages"][0]["content"][0]["type"], "text"); + assert_eq!(converted["messages"][0]["content"][1]["type"], "image_url"); assert_eq!( converted["messages"][0]["content"][1]["image_url"]["url"], "data:image/png;base64,abcd" ); + assert_eq!( + converted["messages"][0]["content"][1]["image_url"]["detail"], + "high" + ); } #[test] @@ -745,10 +751,15 @@ mod tests { ); assert_eq!(converted["messages"][2]["role"], "user"); assert_eq!(converted["messages"][2]["content"][0]["type"], "text"); + assert_eq!(converted["messages"][2]["content"][1]["type"], "image_url"); assert_eq!( converted["messages"][2]["content"][1]["image_url"]["url"], "data:image/png;base64,abcd" ); + assert_eq!( + converted["messages"][2]["content"][1]["image_url"]["detail"], + "high" + ); } #[test] From 671e3227e10dc2221c97742b7c20e4c65d34d62e Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 00:48:08 +0800 Subject: [PATCH 089/118] feat: add multi-select file tree actions Preserve app context menus while suppressing the browser menu elsewhere. Support Ctrl/Cmd multi-select, batch drag moves, Delete/Backspace deletion, and a themed confirmation dialog for file tree items. --- apps/desktop/src/App.tsx | 12 + .../src/components/ui/context-menu.tsx | 7 +- .../src/components/workspace/sidebar.tsx | 535 ++++++++++++++++-- 3 files changed, 500 insertions(+), 54 deletions(-) diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 74290cb..37de69a 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -182,6 +182,18 @@ export function App({ onReady }: { onReady?: () => void }) { // Register global keyboard shortcuts (Cmd+S, Cmd+N) at the app level useKeyboardShortcuts(); + useEffect(() => { + const preventNativeContextMenu = (event: MouseEvent) => { + if (event.defaultPrevented) return; + event.preventDefault(); + }; + + document.addEventListener("contextmenu", preventNativeContextMenu); + return () => { + document.removeEventListener("contextmenu", preventNativeContextMenu); + }; + }, []); + useEffect(() => { onReady?.(); }, [onReady]); diff --git a/apps/desktop/src/components/ui/context-menu.tsx b/apps/desktop/src/components/ui/context-menu.tsx index 4f2cdfd..7142e04 100644 --- a/apps/desktop/src/components/ui/context-menu.tsx +++ b/apps/desktop/src/components/ui/context-menu.tsx @@ -13,7 +13,11 @@ function ContextMenuTrigger({ ...props }: React.ComponentProps) { return ( - + ); } @@ -24,6 +28,7 @@ function ContextMenuContent({ return ( item.type === "folder") + .sort((a, b) => a.path.length - b.path.length) + .filter( + (item, index, all) => + !all + .slice(0, index) + .some((folder) => isInsideFolder(item.path, folder.path)), + ); + + const files = items.filter( + (item) => + item.type === "file" && + !folders.some((folder) => isInsideFolder(item.path, folder.path)), + ); + + return { files, folders }; +} + function buildFileTree(files: ProjectFile[], folders: string[]): TreeNode[] { const root: TreeNode[] = []; const folderMap = new Map(); @@ -434,6 +489,220 @@ export function Sidebar() { return () => window.removeEventListener("keydown", handleKeyDown); }, [importFiles, pasteTargetFolder]); + const [selectedItemKeys, setSelectedItemKeys] = useState>( + new Set(), + ); + + const existingItemKeys = useMemo(() => { + const keys = new Set(); + for (const file of files) { + keys.add(fileTreeSelectionKey({ type: "file", path: file.relativePath })); + } + for (const folder of folders) { + keys.add(fileTreeSelectionKey({ type: "folder", path: folder })); + } + return keys; + }, [files, folders]); + + useEffect(() => { + setSelectedItemKeys((prev) => { + const next = new Set( + [...prev].filter((key) => existingItemKeys.has(key)), + ); + return next.size === prev.size ? prev : next; + }); + }, [existingItemKeys]); + + const selectedItemsFromKeys = useCallback( + (keys: Iterable) => + Array.from(keys) + .map(fileTreeSelectionItemFromKey) + .filter((item): item is FileTreeSelectionItem => { + if (!item) return false; + return existingItemKeys.has(fileTreeSelectionKey(item)); + }), + [existingItemKeys], + ); + + const getEffectiveSelectionItems = useCallback( + (fallback: FileTreeSelectionItem) => { + const fallbackKey = fileTreeSelectionKey(fallback); + if (selectedItemKeys.has(fallbackKey)) { + return selectedItemsFromKeys(selectedItemKeys); + } + return [fallback]; + }, + [selectedItemKeys, selectedItemsFromKeys], + ); + + const getEffectiveSelectionCount = useCallback( + (fallback: FileTreeSelectionItem) => + getEffectiveSelectionItems(fallback).length, + [getEffectiveSelectionItems], + ); + + const selectedAffectedFileCount = useCallback( + (items: FileTreeSelectionItem[]) => { + const { files: selectedFiles, folders: selectedFolders } = + normalizeSelectionItems(items); + const affected = new Set(selectedFiles.map((item) => item.path)); + + for (const folder of selectedFolders) { + for (const file of files) { + if (isInsideFolder(file.relativePath, folder.path)) { + affected.add(file.relativePath); + } + } + } + + return affected.size; + }, + [files], + ); + + const canDeleteSelection = useCallback( + (fallback: FileTreeSelectionItem) => { + const items = getEffectiveSelectionItems(fallback); + const affected = selectedAffectedFileCount(items); + return items.length > 0 && affected < files.length; + }, + [files.length, getEffectiveSelectionItems, selectedAffectedFileCount], + ); + + const [pendingDeleteItems, setPendingDeleteItems] = useState< + FileTreeSelectionItem[] | null + >(null); + const [isDeletingSelection, setIsDeletingSelection] = useState(false); + const [deleteError, setDeleteError] = useState(""); + + const canDeleteItems = useCallback( + (items: FileTreeSelectionItem[]) => { + const affected = selectedAffectedFileCount(items); + return items.length > 0 && affected < files.length; + }, + [files.length, selectedAffectedFileCount], + ); + + const requestDeleteItems = useCallback( + (items: FileTreeSelectionItem[]) => { + if (!canDeleteItems(items)) return; + const { files: selectedFiles, folders: selectedFolders } = + normalizeSelectionItems(items); + setPendingDeleteItems([...selectedFolders, ...selectedFiles]); + setDeleteError(""); + }, + [canDeleteItems], + ); + + const handleTreeItemContextMenu = useCallback( + (item: FileTreeSelectionItem) => { + const key = fileTreeSelectionKey(item); + setPasteTargetFolder( + item.type === "folder" ? item.path : parentFolderOfPath(item.path), + ); + setSelectedItemKeys((prev) => (prev.has(key) ? prev : new Set([key]))); + }, + [], + ); + + const handleTreeItemClick = useCallback( + ( + item: FileTreeSelectionItem, + event: React.MouseEvent, + onPrimaryClick: () => void, + ) => { + setPasteTargetFolder( + item.type === "folder" ? item.path : parentFolderOfPath(item.path), + ); + + if (event.ctrlKey || event.metaKey) { + event.preventDefault(); + event.stopPropagation(); + const key = fileTreeSelectionKey(item); + setSelectedItemKeys((prev) => { + const next = new Set(prev); + if (next.has(key)) next.delete(key); + else next.add(key); + return next; + }); + return; + } + + setSelectedItemKeys(new Set()); + onPrimaryClick(); + }, + [], + ); + + const requestDeleteSelection = useCallback( + (fallback: FileTreeSelectionItem) => { + requestDeleteItems(getEffectiveSelectionItems(fallback)); + }, + [getEffectiveSelectionItems, requestDeleteItems], + ); + + const confirmDeleteSelection = useCallback(async () => { + if (!pendingDeleteItems || isDeletingSelection) return; + + setIsDeletingSelection(true); + setDeleteError(""); + try { + const { files: selectedFiles, folders: selectedFolders } = + normalizeSelectionItems(pendingDeleteItems); + + for (const file of selectedFiles) { + await Promise.resolve(deleteFile(file.path) as unknown); + } + for (const folder of selectedFolders) { + await deleteFolder(folder.path); + } + + setPendingDeleteItems(null); + setSelectedItemKeys(new Set()); + } catch (err) { + setDeleteError(err instanceof Error ? err.message : String(err)); + } finally { + setIsDeletingSelection(false); + } + }, [deleteFile, deleteFolder, isDeletingSelection, pendingDeleteItems]); + + useEffect(() => { + const handleDeleteKey = (event: KeyboardEvent) => { + if (event.key !== "Delete" && event.key !== "Backspace") return; + if (event.ctrlKey || event.metaKey || event.altKey) return; + + const active = document.activeElement; + if ( + active && + (active.tagName === "INPUT" || + active.tagName === "TEXTAREA" || + (active as HTMLElement).isContentEditable) + ) { + return; + } + + const selectedItems = selectedItemsFromKeys(selectedItemKeys); + if (selectedItems.length > 0) { + event.preventDefault(); + requestDeleteItems(selectedItems); + return; + } + + if (activeFileId) { + event.preventDefault(); + requestDeleteItems([{ type: "file", path: activeFileId }]); + } + }; + + window.addEventListener("keydown", handleDeleteKey); + return () => window.removeEventListener("keydown", handleDeleteKey); + }, [ + activeFileId, + requestDeleteItems, + selectedItemKeys, + selectedItemsFromKeys, + ]); + // dnd-kit drag-and-drop (uses PointerSensor — works in Tauri WKWebView) const sensors = useSensors( useSensor(PointerSensor, { activationConstraint: { distance: 5 } }), @@ -442,15 +711,29 @@ export function Sidebar() { id: string; type: "file" | "folder"; name: string; + count: number; } | null>(null); - const handleDragStart = useCallback((event: DragStartEvent) => { - const { type, name } = event.active.data.current as { - type: "file" | "folder"; - name: string; - }; - setActiveDrag({ id: event.active.id as string, type, name }); - }, []); + const handleDragStart = useCallback( + (event: DragStartEvent) => { + const { type, name } = event.active.data.current as { + type: "file" | "folder"; + name: string; + }; + const item: FileTreeSelectionItem = { + type, + path: event.active.id as string, + }; + const key = fileTreeSelectionKey(item); + setActiveDrag({ + id: item.path, + type, + name, + count: selectedItemKeys.has(key) ? getEffectiveSelectionCount(item) : 1, + }); + }, + [getEffectiveSelectionCount, selectedItemKeys], + ); const handleDragEnd = useCallback( async (event: DragEndEvent) => { @@ -463,29 +746,45 @@ export function Sidebar() { const targetId = over.id as string; const targetFolder = targetId === "__root__" ? null : targetId; - // Don't move if same parent - const draggedParent = draggedPath.includes("/") - ? draggedPath.substring(0, draggedPath.lastIndexOf("/")) - : null; - if (targetFolder === draggedParent) return; + const draggedItem: FileTreeSelectionItem = { + type: draggedType === "folder" ? "folder" : "file", + path: draggedPath, + }; + const draggedKey = fileTreeSelectionKey(draggedItem); + const movingItems = selectedItemKeys.has(draggedKey) + ? selectedItemsFromKeys(selectedItemKeys) + : [draggedItem]; + const { files: movingFiles, folders: movingFolders } = + normalizeSelectionItems(movingItems); - // Don't move folder into itself or descendant - if (draggedType === "folder" && targetFolder) { - if ( - targetFolder === draggedPath || - targetFolder.startsWith(`${draggedPath}/`) + if ( + targetFolder && + movingFolders.some((folder) => + isInsideFolder(targetFolder, folder.path), ) - return; + ) { + return; } try { - if (draggedType === "file") await moveFile(draggedPath, targetFolder); - else await moveFolder(draggedPath, targetFolder); + for (const file of movingFiles) { + const parent = parentFolderOfPath(file.path) ?? null; + if (targetFolder === parent) continue; + await moveFile(file.path, targetFolder); + } + + for (const folder of movingFolders) { + const parent = parentFolderOfPath(folder.path) ?? null; + if (targetFolder === parent) continue; + await moveFolder(folder.path, targetFolder); + } + + setSelectedItemKeys(new Set()); } catch (err) { log.error("DnD move failed", { error: String(err) }); } }, - [moveFile, moveFolder], + [moveFile, moveFolder, selectedItemKeys, selectedItemsFromKeys], ); // Dialog state @@ -712,6 +1011,9 @@ export function Sidebar() { // ─── Render ─── + const pendingDeleteCount = pendingDeleteItems?.length ?? 0; + const pendingDeletePreview = pendingDeleteItems?.slice(0, 4) ?? []; + return (
{/* Header — padded top for macOS overlay titlebar */} @@ -817,22 +1119,23 @@ export function Sidebar() { node={node} depth={0} activeFileId={activeFileId} + selectedItemKeys={selectedItemKeys} expandedFolders={expandedFolders} onToggleFolder={toggleFolder} onSelectFile={(id: string) => { - const parent = id.includes("/") - ? id.substring(0, id.lastIndexOf("/")) - : undefined; + const parent = parentFolderOfPath(id); setPasteTargetFolder(parent); setActiveFile(id); }} + onItemClick={handleTreeItemClick} + onItemContextMenu={handleTreeItemContextMenu} onNewFile={openNewFileDialog} onNewFolder={openNewFolderDialog} onImport={handleImport} onRename={openRenameDialog} - onDelete={deleteFile} - onDeleteFolder={deleteFolder} - fileCount={files.length} + onDeleteSelection={requestDeleteSelection} + canDeleteSelection={canDeleteSelection} + getEffectiveSelectionCount={getEffectiveSelectionCount} nativeDragOver={nativeDragOver} /> ))} @@ -862,7 +1165,11 @@ export function Sidebar() { ) : ( )} - {activeDrag.name} + + {activeDrag.count > 1 + ? `${activeDrag.count} selected` + : activeDrag.name} +
)} @@ -963,7 +1270,7 @@ export function Sidebar() { {/* New File Dialog */} - + New File{addDialogFolder ? ` in ${addDialogFolder}` : ""} @@ -1117,6 +1424,74 @@ export function Sidebar() { + + {/* Delete confirmation */} + { + if (!open && !isDeletingSelection) { + setPendingDeleteItems(null); + setDeleteError(""); + } + }} + > + + + + Delete {pendingDeleteCount === 1 ? "Item" : "Items"} + + + {pendingDeleteCount === 1 + ? "This item will be removed from disk." + : `${pendingDeleteCount} selected items will be removed from disk.`} + + + {pendingDeletePreview.length > 0 && ( +
+
+ {pendingDeletePreview.map((item) => ( +
+ {item.type === "folder" ? "Folder" : "File"}: {item.path} +
+ ))} + {pendingDeleteCount > pendingDeletePreview.length && ( +
+ +{pendingDeleteCount - pendingDeletePreview.length} more +
+ )} +
+
+ )} + {deleteError && ( +

+ {deleteError} +

+ )} + + + + +
+
); } @@ -1174,16 +1549,23 @@ interface FileTreeNodeProps { node: TreeNode; depth: number; activeFileId: string; + selectedItemKeys: Set; expandedFolders: Set; onToggleFolder: (path: string) => void; onSelectFile: (id: string) => void; + onItemClick: ( + item: FileTreeSelectionItem, + event: React.MouseEvent, + onPrimaryClick: () => void, + ) => void; + onItemContextMenu: (item: FileTreeSelectionItem) => void; onNewFile: (folder?: string) => void; onNewFolder: (parent?: string) => void; onImport: (folder?: string) => void; onRename: (id: string, name: string) => void; - onDelete: (id: string) => void; - onDeleteFolder: (folderPath: string) => void; - fileCount: number; + onDeleteSelection: (fallback: FileTreeSelectionItem) => void; + canDeleteSelection: (fallback: FileTreeSelectionItem) => boolean; + getEffectiveSelectionCount: (fallback: FileTreeSelectionItem) => number; nativeDragOver?: string | null; } @@ -1191,21 +1573,32 @@ function FileTreeNode({ node, depth, activeFileId, + selectedItemKeys, expandedFolders, onToggleFolder, onSelectFile, + onItemClick, + onItemContextMenu, onNewFile, onNewFolder, onImport, onRename, - onDelete, - onDeleteFolder, - fileCount, + onDeleteSelection, + canDeleteSelection, + getEffectiveSelectionCount, nativeDragOver, }: FileTreeNodeProps) { const isExpanded = expandedFolders.has(node.relativePath); if (node.type === "folder") { + const folderItem: FileTreeSelectionItem = { + type: "folder", + path: node.relativePath, + }; + const isSelected = selectedItemKeys.has(fileTreeSelectionKey(folderItem)); + const effectiveSelectionCount = getEffectiveSelectionCount(folderItem); + const batchOperation = effectiveSelectionCount > 1; + return ( - onRename(file.id, file.name)}> + onRename(file.id, file.name)} + disabled={batchOperation} + > Rename onDelete(file.id)} - disabled={fileCount <= 1} + onClick={() => onDeleteSelection(fileItem)} + disabled={!canDeleteSelection(fileItem)} > - Delete + {batchOperation + ? `Delete ${effectiveSelectionCount} selected` + : "Delete"} From b57a0b0d2340eeb98105482518c825b3ab08576c Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 00:48:37 +0800 Subject: [PATCH 090/118] fix: disable global webview zoom shortcuts Disable Tauri zoom hotkeys for normal and debug windows. Reset stale persisted app zoom on startup and consume Ctrl/Cmd zoom shortcuts without changing the whole webview scale. --- apps/desktop/src-tauri/src/lib.rs | 4 ++-- apps/desktop/src-tauri/tauri.conf.json | 2 +- apps/desktop/src/__tests__/lib/app-zoom.test.ts | 5 +++-- .../desktop/src/hooks/use-keyboard-shortcuts.ts | 17 ++--------------- apps/desktop/src/lib/app-zoom.ts | 3 ++- 5 files changed, 10 insertions(+), 21 deletions(-) diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 559b6bd..4a34794 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -187,7 +187,7 @@ fn create_new_window(app: tauri::AppHandle) -> Result<(), String> { .title("ClaudePrism") .inner_size(1400.0, 900.0) .min_inner_size(800.0, 600.0) - .zoom_hotkeys_enabled(true) + .zoom_hotkeys_enabled(false) .visible(false); #[cfg(target_os = "macos")] @@ -461,7 +461,7 @@ fn open_debug_window(app: tauri::AppHandle) -> Result<(), String> { .title("ClaudePrism — Debug") .inner_size(560.0, 700.0) .min_inner_size(400.0, 400.0) - .zoom_hotkeys_enabled(true) + .zoom_hotkeys_enabled(false) .visible(true) .build() .map_err(|e| format!("Failed to create debug window: {}", e))?; diff --git a/apps/desktop/src-tauri/tauri.conf.json b/apps/desktop/src-tauri/tauri.conf.json index a39e979..6c49493 100644 --- a/apps/desktop/src-tauri/tauri.conf.json +++ b/apps/desktop/src-tauri/tauri.conf.json @@ -23,7 +23,7 @@ "visible": false, "titleBarStyle": "Overlay", "hiddenTitle": true, - "zoomHotkeysEnabled": true, + "zoomHotkeysEnabled": false, "trafficLightPosition": { "x": 12, "y": 12 diff --git a/apps/desktop/src/__tests__/lib/app-zoom.test.ts b/apps/desktop/src/__tests__/lib/app-zoom.test.ts index 976da91..57557d0 100644 --- a/apps/desktop/src/__tests__/lib/app-zoom.test.ts +++ b/apps/desktop/src/__tests__/lib/app-zoom.test.ts @@ -47,13 +47,14 @@ describe("app zoom", () => { expect(localStorage.getItem(APP_ZOOM_STORAGE_KEY)).toBe("1.25"); }); - it("restores the saved zoom on startup", async () => { + it("resets stale global zoom on startup", async () => { const webview = getCurrentWebview(); localStorage.setItem(APP_ZOOM_STORAGE_KEY, "1.4"); await initializeAppZoom(); - expect(webview.setZoom).toHaveBeenCalledWith(1.4); + expect(webview.setZoom).toHaveBeenCalledWith(DEFAULT_APP_ZOOM); + expect(localStorage.getItem(APP_ZOOM_STORAGE_KEY)).toBeNull(); }); it("zooms in, zooms out, and resets around the stored value", async () => { diff --git a/apps/desktop/src/hooks/use-keyboard-shortcuts.ts b/apps/desktop/src/hooks/use-keyboard-shortcuts.ts index d6820f6..9a823a6 100644 --- a/apps/desktop/src/hooks/use-keyboard-shortcuts.ts +++ b/apps/desktop/src/hooks/use-keyboard-shortcuts.ts @@ -1,12 +1,6 @@ import { useEffect } from "react"; import { invoke } from "@tauri-apps/api/core"; -import { - getAppZoomAction, - resetAppZoom, - shouldHandleAppZoomShortcut, - zoomInApp, - zoomOutApp, -} from "@/lib/app-zoom"; +import { getAppZoomAction, shouldHandleAppZoomShortcut } from "@/lib/app-zoom"; import { useDocumentStore } from "@/stores/document-store"; export function useKeyboardShortcuts() { @@ -18,14 +12,7 @@ export function useKeyboardShortcuts() { } e.preventDefault(); - - if (zoomAction === "in") { - zoomInApp().catch(console.error); - } else if (zoomAction === "out") { - zoomOutApp().catch(console.error); - } else { - resetAppZoom().catch(console.error); - } + e.stopPropagation(); }; const handleKeyDown = (e: KeyboardEvent) => { diff --git a/apps/desktop/src/lib/app-zoom.ts b/apps/desktop/src/lib/app-zoom.ts index 115c1b6..fbca8c9 100644 --- a/apps/desktop/src/lib/app-zoom.ts +++ b/apps/desktop/src/lib/app-zoom.ts @@ -48,7 +48,8 @@ export async function persistAppZoom(value: number): Promise { export function initializeAppZoom(): Promise { installNativeWheelZoomGuard(); - return applyAppZoom(readStoredAppZoom()); + window.localStorage.removeItem(APP_ZOOM_STORAGE_KEY); + return applyAppZoom(DEFAULT_APP_ZOOM); } export function zoomInApp(): Promise { From 140ec1c5bb04beab51e76e64055e2efc01a6e275 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 01:03:36 +0800 Subject: [PATCH 091/118] feat: implement cleanup for temporary files in chat composer and event hooks --- .../components/claude-chat/chat-composer.tsx | 58 +++++++++++++++---- apps/desktop/src/hooks/use-claude-events.ts | 17 ++++++ apps/desktop/src/stores/claude-chat-store.ts | 30 ++++++++-- 3 files changed, 90 insertions(+), 15 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/chat-composer.tsx b/apps/desktop/src/components/claude-chat/chat-composer.tsx index 97a923c..e5bf297 100644 --- a/apps/desktop/src/components/claude-chat/chat-composer.tsx +++ b/apps/desktop/src/components/claude-chat/chat-composer.tsx @@ -32,7 +32,7 @@ import { ListEndIcon, } from "lucide-react"; import { getCurrentWebview } from "@tauri-apps/api/webview"; -import { writeFile, mkdir, exists } from "@tauri-apps/plugin-fs"; +import { writeFile, mkdir, exists, remove } from "@tauri-apps/plugin-fs"; import { join, tempDir } from "@tauri-apps/api/path"; import { invoke } from "@tauri-apps/api/core"; import { @@ -87,6 +87,7 @@ interface PinnedContext { filePath: string; selectedText: string; imageDataUrl?: string; // thumbnail for captured images + isTemporary?: boolean; } function pastedFileExtension(file: File) { @@ -113,6 +114,33 @@ function readFileAsDataUrl(file: File) { }); } +function temporaryFilePaths(contexts: PinnedContext[]) { + return contexts + .filter((context) => context.isTemporary) + .map((context) => context.filePath); +} + +async function cleanupTemporaryFilePaths(paths: string[] | undefined) { + if (!paths?.length) return; + await Promise.all( + paths.map(async (path) => { + try { + await remove(path); + } catch (err) { + log.warn("Failed to remove temporary pasted file", { + path, + error: String(err), + }); + } + }), + ); +} + +function cleanupTemporaryPinnedContext(context: PinnedContext) { + if (!context.isTemporary) return; + void cleanupTemporaryFilePaths([context.filePath]); +} + function getFileIcon(file: ProjectFile) { if (file.type === "image") return ; @@ -813,6 +841,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { "Use this image file as visual context for the user's message.", ].join("\n"), imageDataUrl: await readFileAsDataUrl(file), + isTemporary: true, }); } catch (err) { log.error("Failed to save pasted image", { @@ -946,6 +975,7 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { label: combinedLabel, filePath: pinnedContexts[0].filePath, selectedText: combinedText, + temporaryFilePaths: temporaryFilePaths(pinnedContexts), }; } @@ -960,7 +990,8 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { if (textareaRef.current) { textareaRef.current.style.height = "auto"; } - // Clear pinned contexts after send + // Clear pinned contexts after send. Temporary files are removed by the + // completion event once the provider has finished with them. setPinnedContexts([]); }, [ activeTabId, @@ -1655,9 +1686,12 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { type="button" aria-label="Remove queued guidance" className="flex size-6 shrink-0 items-center justify-center rounded-md text-muted-foreground transition-colors hover:bg-red-500/10 hover:text-red-600 dark:hover:bg-red-500/15 dark:hover:text-red-400" - onClick={() => - removeQueuedGuidance(activeTabId, guidance.id) - } + onClick={() => { + void cleanupTemporaryFilePaths( + guidance.contextOverride?.temporaryFilePaths, + ); + removeQueuedGuidance(activeTabId, guidance.id); + }} > @@ -1683,11 +1717,12 @@ export const ChatComposer: FC<{ isOpen?: boolean }> = ({ isOpen }) => { />
)} diff --git a/apps/desktop/src/hooks/use-claude-events.ts b/apps/desktop/src/hooks/use-claude-events.ts index d706a55..eb099a6 100644 --- a/apps/desktop/src/hooks/use-claude-events.ts +++ b/apps/desktop/src/hooks/use-claude-events.ts @@ -84,11 +84,10 @@ export function useClaudeEvents() { hasTexChangesRef.current.set(tab.id, false); cancelledForAskRef.current.set(tab.id, false); lastErrorRef.current.delete(tab.id); - const providerId = - useClaudeChatStore.getState().selectedProviderCredentialId; + const providerKey = tab.sessionProviderKey ?? tab.providerKey; directProviderTabRef.current.set( tab.id, - !!providerId && providerId !== CLAUDE_CODE_PROVIDER_ID, + !!providerKey && providerKey !== CLAUDE_CODE_PROVIDER_ID, ); msgCountRef.current.set(tab.id, 0); streamStartTimeRef.current.delete(tab.id); diff --git a/apps/desktop/src/stores/claude-chat-store.ts b/apps/desktop/src/stores/claude-chat-store.ts index 55fcda8..a2ffadf 100644 --- a/apps/desktop/src/stores/claude-chat-store.ts +++ b/apps/desktop/src/stores/claude-chat-store.ts @@ -12,7 +12,7 @@ export const SELECTED_PROVIDER_CREDENTIAL_STORAGE_KEY = function providerSelectionStorage(): Storage | null { try { - return globalThis.localStorage ?? null; + return globalThis.sessionStorage ?? null; } catch { return null; } @@ -120,7 +120,10 @@ export interface TabState { id: string; title: string; sessionId: string | null; + /** Provider currently selected in the tab UI. */ providerKey: string | null; + /** Provider that last executed this session, used for safe resume/switching. */ + sessionProviderKey: string | null; messages: ClaudeStreamMessage[]; isStreaming: boolean; error: string | null; @@ -144,11 +147,14 @@ const TAB_FIELDS = [ ] as const; function makeDefaultTab(id: string): TabState { + const selectedCredentialId = + loadSelectedProviderCredentialId() ?? CLAUDE_CODE_PROVIDER_ID; return { id, title: "New Chat", sessionId: null, - providerKey: null, + providerKey: providerKeyForSelectedCredential(selectedCredentialId), + sessionProviderKey: null, messages: [], isStreaming: false, error: null, @@ -168,6 +174,12 @@ function providerSessionKey(providerCredentialId: string | null): string { : CLAUDE_CODE_PROVIDER_ID; } +function providerKeyForSelectedCredential(credentialId: string | null): string { + return credentialId && credentialId !== CLAUDE_CODE_PROVIDER_ID + ? providerSessionKey(credentialId) + : CLAUDE_CODE_PROVIDER_ID; +} + function providerCredentialIdFromSessionKey( providerKey: string | null, ): string | null | undefined { @@ -179,6 +191,11 @@ function providerCredentialIdFromSessionKey( : undefined; } +function selectedCredentialForProviderKey(providerKey: string | null) { + const credentialId = providerCredentialIdFromSessionKey(providerKey); + return credentialId === undefined ? null : credentialId; +} + function inferProviderKeyFromHistory(history: any[]): string | null { const init = history.find( (entry) => entry?.type === "system" && entry?.subtype === "init", @@ -593,7 +610,7 @@ interface ClaudeChatState { clearQueuedGuidance: (tabId: string) => void; consumeTemporaryFilePaths: (tabId: string) => string[]; forceQueuedGuidanceNow: (tabId: string, guidanceId?: string) => Promise; - cancelExecution: () => Promise; + cancelExecution: (tabId?: string) => Promise; clearMessages: () => void; newSession: () => void; resumeSession: (sessionId: string, title?: string) => Promise; @@ -634,10 +651,19 @@ export const useClaudeChatStore = create()((set, get) => ({ selectedModel: "opus", setSelectedModel: (model) => set({ selectedModel: model }), - selectedProviderCredentialId: loadSelectedProviderCredentialId(), + selectedProviderCredentialId: + loadSelectedProviderCredentialId() ?? CLAUDE_CODE_PROVIDER_ID, setSelectedProviderCredentialId: (credentialId) => { persistSelectedProviderCredentialId(credentialId); - set({ selectedProviderCredentialId: credentialId }); + const providerKey = providerKeyForSelectedCredential( + credentialId ?? CLAUDE_CODE_PROVIDER_ID, + ); + set((state) => ({ + selectedProviderCredentialId: credentialId, + tabs: state.tabs.map((tab) => + tab.id === state.activeTabId ? { ...tab, providerKey } : tab, + ), + })); }, selectedProviderModels: {}, setSelectedProviderModel: (credentialId, model) => @@ -687,17 +713,15 @@ export const useClaudeChatStore = create()((set, get) => ({ const activeTab = state.tabs.find((t) => t.id === activeTabId); if (!activeTab || activeTab.isStreaming) return; - const { - selectedModel, - effortLevel, - selectedProviderCredentialId, - selectedProviderModels, - } = state; + const { selectedModel, effortLevel, selectedProviderModels } = state; const sessionId = activeTab.sessionId; + const tabSelectedProviderCredentialId = + selectedCredentialForProviderKey(activeTab.providerKey) ?? + state.selectedProviderCredentialId; let providerCredentialId = - selectedProviderCredentialId && - selectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID - ? selectedProviderCredentialId + tabSelectedProviderCredentialId && + tabSelectedProviderCredentialId !== CLAUDE_CODE_PROVIDER_ID + ? tabSelectedProviderCredentialId : null; if (options?.preserveTabProvider && activeTab.providerKey) { @@ -715,7 +739,7 @@ export const useClaudeChatStore = create()((set, get) => ({ ? selectedProviderModels[providerCredentialId] || null : null; const requestProviderKey = providerSessionKey(providerCredentialId); - const previousProviderKey = activeTab?.providerKey ?? null; + const previousProviderKey = activeTab?.sessionProviderKey ?? null; const providerChanged = !!sessionId && !!previousProviderKey && @@ -790,6 +814,7 @@ export const useClaudeChatStore = create()((set, get) => ({ messages: [...(currentTab?.messages ?? []), userMessage], sessionId: resumeSessionId, providerKey: requestProviderKey, + sessionProviderKey: requestProviderKey, isStreaming: true, error: null, pendingTemporaryFilePaths: temporaryFilePaths, @@ -1064,14 +1089,11 @@ export const useClaudeChatStore = create()((set, get) => ({ } }, - cancelExecution: async () => { - const { activeTabId } = get(); + cancelExecution: async (tabId) => { + const activeTabId = tabId ?? get().activeTabId; + const tab = get().tabs.find((t) => t.id === activeTabId); + if (!tab?.isStreaming) return; set({ _cancelledByUser: true }); - try { - await invoke("cancel_claude_execution", { tabId: activeTabId }); - } catch { - // ignore - } set((s) => applyTabUpdate(s, activeTabId, { isStreaming: false, @@ -1080,6 +1102,11 @@ export const useClaudeChatStore = create()((set, get) => ({ forcedQueuedGuidanceId: null, }), ); + try { + await invoke("cancel_claude_execution", { tabId: activeTabId }); + } catch { + // The UI has already moved to a stopped state; stale output is ignored. + } }, clearMessages: () => { @@ -1103,7 +1130,12 @@ export const useClaudeChatStore = create()((set, get) => ({ const activeTab = tabs.find((t) => t.id === activeTabId); if (activeTab?.isStreaming) { const id = nextTabId(); - const newTab = makeDefaultTab(id); + const newTab = { + ...makeDefaultTab(id), + providerKey: + activeTab.providerKey ?? + providerKeyForSelectedCredential(get().selectedProviderCredentialId), + }; set({ tabs: [...tabs, newTab], activeTabId: id, @@ -1113,6 +1145,9 @@ export const useClaudeChatStore = create()((set, get) => ({ error: newTab.error, totalInputTokens: newTab.totalInputTokens, totalOutputTokens: newTab.totalOutputTokens, + selectedProviderCredentialId: selectedCredentialForProviderKey( + newTab.providerKey, + ), }); return; } @@ -1121,7 +1156,10 @@ export const useClaudeChatStore = create()((set, get) => ({ applyTabUpdate(s, activeTabId, { messages: [], sessionId: null, - providerKey: null, + providerKey: + activeTab?.providerKey ?? + providerKeyForSelectedCredential(s.selectedProviderCredentialId), + sessionProviderKey: null, error: null, isStreaming: false, totalInputTokens: 0, @@ -1148,6 +1186,10 @@ export const useClaudeChatStore = create()((set, get) => ({ const nextTabs = tabs.map((tab) => tab.id === existingTab.id ? { ...tab, title: nextTitle } : tab, ); + const nextSelectedProviderCredentialId = + selectedCredentialForProviderKey(existingTab.providerKey) ?? + CLAUDE_CODE_PROVIDER_ID; + persistSelectedProviderCredentialId(nextSelectedProviderCredentialId); set({ tabs: nextTabs, activeTabId: existingTab.id, @@ -1157,13 +1199,21 @@ export const useClaudeChatStore = create()((set, get) => ({ error: existingTab.error, totalInputTokens: existingTab.totalInputTokens, totalOutputTokens: existingTab.totalOutputTokens, + selectedProviderCredentialId: nextSelectedProviderCredentialId, }); if (existingTab.isStreaming) return; } else { const activeTab = tabs.find((tab) => tab.id === activeTabId); if (activeTab?.isStreaming) { const id = nextTabId(); - const newTab = makeDefaultTab(id); + const newTab = { + ...makeDefaultTab(id), + providerKey: + activeTab.providerKey ?? + providerKeyForSelectedCredential( + get().selectedProviderCredentialId, + ), + }; tabs = [...tabs, newTab]; activeTabId = id; set({ @@ -1175,6 +1225,9 @@ export const useClaudeChatStore = create()((set, get) => ({ error: newTab.error, totalInputTokens: newTab.totalInputTokens, totalOutputTokens: newTab.totalOutputTokens, + selectedProviderCredentialId: selectedCredentialForProviderKey( + newTab.providerKey, + ), }); } } @@ -1187,6 +1240,7 @@ export const useClaudeChatStore = create()((set, get) => ({ messages: [], sessionId, providerKey: null, + sessionProviderKey: null, error: null, isStreaming: false, totalInputTokens: 0, @@ -1220,20 +1274,29 @@ export const useClaudeChatStore = create()((set, get) => ({ const providerKey = inferProviderKeyFromHistory(history); const selectedProviderCredentialId = providerCredentialIdFromSessionKey(providerKey); - if (selectedProviderCredentialId !== undefined) { - persistSelectedProviderCredentialId(selectedProviderCredentialId); - } + const nextSelectedProviderCredentialId = + selectedProviderCredentialId === undefined + ? CLAUDE_CODE_PROVIDER_ID + : selectedProviderCredentialId; + persistSelectedProviderCredentialId(nextSelectedProviderCredentialId); set((s) => ({ ...applyTabUpdate(s, activeTabId, { messages, - providerKey, + providerKey: + providerKey ?? + providerKeyForSelectedCredential( + nextSelectedProviderCredentialId, + ), + sessionProviderKey: + providerKey ?? + providerKeyForSelectedCredential( + nextSelectedProviderCredentialId, + ), title: sessionTitle ?? titleForMessages(rawMessages) ?? "New Chat", totalInputTokens: totals.inputTokens, totalOutputTokens: totals.outputTokens, }), - ...(selectedProviderCredentialId !== undefined - ? { selectedProviderCredentialId } - : {}), + selectedProviderCredentialId: nextSelectedProviderCredentialId, })); } catch (err) { log.error("Failed to load session history", { error: String(err) }); @@ -1246,7 +1309,14 @@ export const useClaudeChatStore = create()((set, get) => ({ createTab: () => { log.debug("Creating new tab"); const id = nextTabId(); - const newTab = makeDefaultTab(id); + const state = get(); + const activeTab = state.tabs.find((tab) => tab.id === state.activeTabId); + const newTab = { + ...makeDefaultTab(id), + providerKey: + activeTab?.providerKey ?? + providerKeyForSelectedCredential(state.selectedProviderCredentialId), + }; set((s) => ({ tabs: [...s.tabs, newTab], activeTabId: id, @@ -1257,6 +1327,9 @@ export const useClaudeChatStore = create()((set, get) => ({ error: newTab.error, totalInputTokens: newTab.totalInputTokens, totalOutputTokens: newTab.totalOutputTokens, + selectedProviderCredentialId: selectedCredentialForProviderKey( + newTab.providerKey, + ), })); return id; }, @@ -1278,6 +1351,10 @@ export const useClaudeChatStore = create()((set, get) => ({ // Switch to adjacent tab const newIdx = Math.min(idx, newTabs.length - 1); const newActive = newTabs[newIdx]; + const nextSelectedProviderCredentialId = + selectedCredentialForProviderKey(newActive.providerKey) ?? + CLAUDE_CODE_PROVIDER_ID; + persistSelectedProviderCredentialId(nextSelectedProviderCredentialId); set({ tabs: newTabs, activeTabId: newActive.id, @@ -1288,6 +1365,7 @@ export const useClaudeChatStore = create()((set, get) => ({ error: newActive.error, totalInputTokens: newActive.totalInputTokens, totalOutputTokens: newActive.totalOutputTokens, + selectedProviderCredentialId: nextSelectedProviderCredentialId, }); } else { set({ tabs: newTabs }); @@ -1299,6 +1377,10 @@ export const useClaudeChatStore = create()((set, get) => ({ if (tabId === state.activeTabId) return; const targetTab = state.tabs.find((t) => t.id === tabId); if (!targetTab) return; + const nextSelectedProviderCredentialId = + selectedCredentialForProviderKey(targetTab.providerKey) ?? + CLAUDE_CODE_PROVIDER_ID; + persistSelectedProviderCredentialId(nextSelectedProviderCredentialId); // Project the target tab's fields to top-level set({ @@ -1309,6 +1391,7 @@ export const useClaudeChatStore = create()((set, get) => ({ error: targetTab.error, totalInputTokens: targetTab.totalInputTokens, totalOutputTokens: targetTab.totalOutputTokens, + selectedProviderCredentialId: nextSelectedProviderCredentialId, }); }, diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 177e44f..b67f820 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -118,6 +118,41 @@ const STEP_ORDER_INSTALL = [ ]; const STEP_ORDER_LOGIN = ["opening-browser", "waiting-auth", "complete"]; +function canonicalOpenAiCompatibleBaseUrl(url: string) { + const trimmed = url.trim(); + const lower = trimmed.toLowerCase(); + const deepseekMatch = trimmed.match( + /^(https?:\/\/api\.deepseek\.com)(?:\/|$)/i, + ); + const deepseekOrigin = deepseekMatch?.[1]; + if (deepseekOrigin && !lower.includes("/anthropic")) { + return `${deepseekOrigin}/anthropic`; + } + if (deepseekOrigin) { + const anthropicIndex = lower.indexOf("/anthropic"); + return `${trimmed.slice(0, anthropicIndex)}/anthropic`; + } + + const qwenMatch = trimmed.match( + /^(https?:\/\/dashscope(?:-intl)?\.aliyuncs\.com)(?:\/|$)/i, + ); + const qwenOrigin = qwenMatch?.[1]; + if ( + qwenOrigin && + (lower.includes("/apps/anthropic") || + lower.includes("/compatible-mode/") || + trimmed.replace(/\/+$/, "").toLowerCase() === qwenOrigin.toLowerCase()) + ) { + const anthropicIndex = lower.indexOf("/apps/anthropic"); + if (anthropicIndex >= 0) { + return `${trimmed.slice(0, anthropicIndex)}/apps/anthropic`; + } + return `${qwenOrigin}/apps/anthropic`; + } + + return trimmed; +} + function advanceSteps( steps: StepInfo[], targetId: string, @@ -298,7 +333,11 @@ export const useClaudeSetupStore = create((set, get) => ({ credentialLabel?: string, ) => { const key = apiKey.trim(); - const url = baseUrl?.trim() ?? ""; + const rawUrl = baseUrl?.trim() ?? ""; + const url = + provider === "openai-compatible" + ? canonicalOpenAiCompatibleBaseUrl(rawUrl) + : rawUrl; const modelName = model?.trim() ?? ""; if (provider !== "openai-compatible" && !key) { set({ error: "API key is empty" }); From 9d9a1e0e94a5ef5727be7a6c3f15e063bced2148 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 19:07:30 +0800 Subject: [PATCH 097/118] feat(providers): route Kimi through Claude Code Use Moonshot/Kimi Anthropic-compatible endpoints for the native Claude Code runtime. Canonicalize legacy Moonshot OpenAI URLs to /anthropic while keeping model discovery on the provider's /v1/models endpoint. Add setup-store and Rust route coverage for domestic and international Moonshot endpoints. --- apps/desktop/src-tauri/src/claude.rs | 84 +++++++++++++++++++ .../stores/claude-setup-store.test.ts | 62 ++++++++++++++ apps/desktop/src/components/claude-setup.tsx | 44 ++++++++-- apps/desktop/src/stores/claude-setup-store.ts | 18 ++++ 4 files changed, 202 insertions(+), 6 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index cc040d0..df3007d 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2198,6 +2198,9 @@ fn openai_models_url(base_url: &str) -> String { if let Some(origin) = qwen_origin_for_anthropic_base_url(clean) { return format!("{}/compatible-mode/v1/models", origin); } + if let Some(origin) = moonshot_origin_for_anthropic_base_url(clean) { + return format!("{}/v1/models", origin); + } if let Some(root) = clean.strip_suffix("/chat/completions") { return format!("{}/models", root.trim_end_matches('/')); } @@ -2697,6 +2700,15 @@ fn native_anthropic_base_url(credential: &StoredOpenAiCompatibleCredential) -> O return Some(format!("{}/apps/anthropic", origin)); } + if is_moonshot_anthropic_origin(&lower_origin) { + let lower = credential.base_url.to_ascii_lowercase(); + if let Some(index) = lower.find("/anthropic") { + return Some(format!("{}{}", &credential.base_url[..index], "/anthropic")); + } + + return Some(format!("{}/anthropic", origin)); + } + None } @@ -2720,6 +2732,18 @@ fn qwen_origin_for_anthropic_base_url(base_url: &str) -> Option { None } +fn moonshot_origin_for_anthropic_base_url(base_url: &str) -> Option { + let lower = base_url.to_ascii_lowercase(); + let origin = http_origin(base_url)?; + if !is_moonshot_anthropic_origin(&origin.to_ascii_lowercase()) { + return None; + } + if lower.contains("/anthropic") || lower.ends_with("/v1") { + return Some(origin); + } + None +} + fn is_qwen_anthropic_origin(lower_origin: &str) -> bool { matches!( lower_origin, @@ -2730,6 +2754,16 @@ fn is_qwen_anthropic_origin(lower_origin: &str) -> bool { ) } +fn is_moonshot_anthropic_origin(lower_origin: &str) -> bool { + matches!( + lower_origin, + "https://api.moonshot.cn" + | "http://api.moonshot.cn" + | "https://api.moonshot.ai" + | "http://api.moonshot.ai" + ) +} + fn http_origin(value: &str) -> Option { let value = value.trim().trim_end_matches('/'); let scheme_end = value.find("://")?; @@ -3766,6 +3800,15 @@ mod tests { vec!["tooluse".to_string()], )]), }, + StoredOpenAiCompatibleCredentialConfig { + id: "moonshot".to_string(), + label: "Moonshot / Kimi".to_string(), + api_key: "sk-moonshot".to_string(), + base_url: "https://api.moonshot.cn/anthropic".to_string(), + model: "kimi-k2.5".to_string(), + transformers: Vec::new(), + model_transformers: HashMap::new(), + }, ], ..Default::default() } @@ -4057,6 +4100,20 @@ mod tests { ); } + #[test] + fn test_moonshot_official_anthropic_endpoint_uses_native_route() { + let config = test_openai_compatible_auth_config(); + let credential = openai_compatible_credential_by_id_from_config(&config, Some("moonshot")) + .unwrap() + .unwrap(); + + assert!(uses_native_anthropic_route(&credential)); + assert_eq!( + native_anthropic_base_url(&credential).as_deref(), + Some("https://api.moonshot.cn/anthropic") + ); + } + #[test] fn test_native_anthropic_route_preserves_explicit_anthropic_path() { let credential = StoredOpenAiCompatibleCredential { @@ -4110,6 +4167,25 @@ mod tests { ); } + #[test] + fn test_moonshot_legacy_openai_mode_uses_native_anthropic_route() { + let credential = StoredOpenAiCompatibleCredential { + id: "moonshot-compatible".to_string(), + label: "Moonshot / Kimi".to_string(), + api_key: "sk-test".to_string(), + base_url: "https://api.moonshot.ai/v1".to_string(), + model: "kimi-k2.5".to_string(), + transformers: Vec::new(), + model_transformers: HashMap::new(), + }; + + assert!(uses_native_anthropic_route(&credential)); + assert_eq!( + native_anthropic_base_url(&credential).as_deref(), + Some("https://api.moonshot.ai/anthropic") + ); + } + #[test] fn test_provider_id_lookup_rejects_missing_provider() { let config = test_openai_compatible_auth_config(); @@ -4193,6 +4269,14 @@ mod tests { openai_models_url("https://dashscope.aliyuncs.com/apps/anthropic"), "https://dashscope.aliyuncs.com/compatible-mode/v1/models" ); + assert_eq!( + openai_models_url("https://api.moonshot.cn/anthropic"), + "https://api.moonshot.cn/v1/models" + ); + assert_eq!( + openai_models_url("https://api.moonshot.ai/anthropic"), + "https://api.moonshot.ai/v1/models" + ); assert_eq!( openai_models_url("https://generativelanguage.googleapis.com/v1beta/openai/"), "https://generativelanguage.googleapis.com/v1beta/openai/models" diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index 96220d7..bd75180 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -271,6 +271,68 @@ describe("useClaudeSetupStore.saveApiKey", () => { }); }); + it("normalizes legacy Moonshot compatible URLs to the native Anthropic endpoint", async () => { + vi.mocked(invoke).mockResolvedValue(null); + + const success = await useClaudeSetupStore + .getState() + .saveApiKey( + "sk-test", + "https://api.moonshot.cn/v1", + "openai-compatible", + "kimi-k2.5", + ); + + expect(success).toBe(true); + expect(invoke).toHaveBeenNthCalledWith( + 1, + "verify_openai_compatible_api_key", + { + apiKey: "sk-test", + baseUrl: "https://api.moonshot.cn/anthropic", + model: "kimi-k2.5", + }, + ); + expect(invoke).toHaveBeenNthCalledWith(2, "save_anthropic_api_key", { + apiKey: "sk-test", + baseUrl: "https://api.moonshot.cn/anthropic", + provider: "openai-compatible", + model: "kimi-k2.5", + credentialLabel: null, + }); + }); + + it("preserves Moonshot international Anthropic URLs when saving credentials", async () => { + vi.mocked(invoke).mockResolvedValue(null); + + const success = await useClaudeSetupStore + .getState() + .saveApiKey( + "sk-test", + "https://api.moonshot.ai/anthropic/v1", + "openai-compatible", + "kimi-k2.5", + ); + + expect(success).toBe(true); + expect(invoke).toHaveBeenNthCalledWith( + 1, + "verify_openai_compatible_api_key", + { + apiKey: "sk-test", + baseUrl: "https://api.moonshot.ai/anthropic", + model: "kimi-k2.5", + }, + ); + expect(invoke).toHaveBeenNthCalledWith(2, "save_anthropic_api_key", { + apiKey: "sk-test", + baseUrl: "https://api.moonshot.ai/anthropic", + provider: "openai-compatible", + model: "kimi-k2.5", + credentialLabel: null, + }); + }); + it("allows local OpenAI-compatible providers without an API key", async () => { vi.mocked(invoke).mockImplementation(async (command) => { if (command === "check_claude_status") { diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index bbc8b59..cf677db 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -99,9 +99,9 @@ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ { id: "moonshot", label: "Moonshot / Kimi", - baseUrl: "https://api.moonshot.cn/v1", + baseUrl: "https://api.moonshot.cn/anthropic", model: "", - note: "Moonshot AI OpenAI-compatible endpoint.", + note: "Kimi Anthropic-compatible endpoint for Claude Code.", }, { id: "glm", @@ -161,6 +161,7 @@ const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ const OPENAI_DEFAULT_PRESET_ID = OPENAI_PROVIDER_CARDS[0]?.id ?? "openai"; const DEEPSEEK_ANTHROPIC_BASE_URL = "https://api.deepseek.com/anthropic"; const QWEN_ANTHROPIC_BASE_URL = "https://dashscope.aliyuncs.com/apps/anthropic"; +const MOONSHOT_ANTHROPIC_BASE_URL = "https://api.moonshot.cn/anthropic"; function deepseekOrigin(url: string) { const trimmed = url.trim(); @@ -176,6 +177,14 @@ function qwenOrigin(url: string) { return match?.[1] ?? null; } +function moonshotOrigin(url: string) { + const trimmed = url.trim(); + const match = trimmed.match( + /^(https?:\/\/api\.moonshot\.(?:cn|ai))(?:\/|$)/i, + ); + return match?.[1] ?? null; +} + function canonicalOpenAiCompatibleBaseUrl( url: string, presetId?: string | null, @@ -211,6 +220,23 @@ function canonicalOpenAiCompatibleBaseUrl( return `${qwenBaseOrigin}/apps/anthropic`; } + const moonshotBaseOrigin = moonshotOrigin(trimmed); + if ( + moonshotBaseOrigin && + (presetId === "moonshot" || + trimmed.toLowerCase().includes("/anthropic") || + trimmed.toLowerCase().includes("/v1") || + normalizeOriginOnlyUrl(trimmed) === + normalizeOriginOnlyUrl(moonshotBaseOrigin)) + ) { + const lower = trimmed.toLowerCase(); + const anthropicIndex = lower.indexOf("/anthropic"); + if (anthropicIndex >= 0) { + return `${trimmed.slice(0, anthropicIndex)}/anthropic`; + } + return `${moonshotBaseOrigin}/anthropic`; + } + return trimmed; } @@ -219,7 +245,7 @@ function normalizeOriginOnlyUrl(value: string) { } function isNativeAnthropicPreset(cardId?: string | null) { - return cardId === "deepseek" || cardId === "qwen"; + return cardId === "deepseek" || cardId === "qwen" || cardId === "moonshot"; } function normalizePresetBaseUrl(url: string) { @@ -757,7 +783,9 @@ export function ClaudeSetup({ ? DEEPSEEK_ANTHROPIC_BASE_URL : activeCardId === "qwen" ? QWEN_ANTHROPIC_BASE_URL - : "https://dashscope.aliyuncs.com/compatible-mode/v1" + : activeCardId === "moonshot" + ? MOONSHOT_ANTHROPIC_BASE_URL + : "https://dashscope.aliyuncs.com/compatible-mode/v1" : "https://mg.aid.pub/claude-proxy" } value={baseUrl} @@ -799,7 +827,9 @@ export function ClaudeSetup({ ? "DeepSeek runs through its native Anthropic-compatible Claude Code route." : activeCardId === "qwen" ? "Qwen runs through its native Anthropic-compatible Claude Code route." - : "Use either the API root or a full /chat/completions URL." + : activeCardId === "moonshot" + ? "Kimi runs through its native Anthropic-compatible Claude Code route." + : "Use either the API root or a full /chat/completions URL." : "Leave blank for Anthropic direct API."}

@@ -880,7 +910,9 @@ export function ClaudeSetup({ ? "Fetches DeepSeek models from the matching provider model endpoint." : activeCardId === "qwen" ? "Fetches Qwen models from the matching DashScope model endpoint." - : "Fetches the provider's real /models list when available."} + : activeCardId === "moonshot" + ? "Fetches Kimi models from the matching Moonshot model endpoint." + : "Fetches the provider's real /models list when available."}

)} diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index b67f820..4b34232 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -150,6 +150,24 @@ function canonicalOpenAiCompatibleBaseUrl(url: string) { return `${qwenOrigin}/apps/anthropic`; } + const moonshotMatch = trimmed.match( + /^(https?:\/\/api\.moonshot\.(?:cn|ai))(?:\/|$)/i, + ); + const moonshotOrigin = moonshotMatch?.[1]; + if ( + moonshotOrigin && + (lower.includes("/anthropic") || + lower.includes("/v1") || + trimmed.replace(/\/+$/, "").toLowerCase() === + moonshotOrigin.toLowerCase()) + ) { + const anthropicIndex = lower.indexOf("/anthropic"); + if (anthropicIndex >= 0) { + return `${trimmed.slice(0, anthropicIndex)}/anthropic`; + } + return `${moonshotOrigin}/anthropic`; + } + return trimmed; } From 80518c6fb969257b4e1652e0f8c907b2c9d01016 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 19:49:19 +0800 Subject: [PATCH 098/118] fix(security): harden Claude Code provider routing Remove the global Claude Code permission bypass so native Anthropic provider runs rely on Claude Code's normal approval model. Clear inherited ANTHROPIC_* variables before proxy or native provider launches to prevent credential and endpoint leakage across routes. Require HTTPS for known cloud provider endpoints, tighten DeepSeek proxy matching, and harden manual code-block shell execution with cwd validation, timeouts, and output limits. --- apps/desktop/src-tauri/src/anthropic_proxy.rs | 4 +- apps/desktop/src-tauri/src/claude.rs | 197 ++++++++++++++---- 2 files changed, 157 insertions(+), 44 deletions(-) diff --git a/apps/desktop/src-tauri/src/anthropic_proxy.rs b/apps/desktop/src-tauri/src/anthropic_proxy.rs index facb325..7873b85 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy.rs @@ -341,12 +341,12 @@ fn request_contains_openai_image_parts(value: &Value) -> bool { fn provider_rejects_openai_image_parts(credential: &OpenAiProxyCredential) -> bool { let base_url = credential.base_url.to_ascii_lowercase(); - base_url.contains("api.deepseek.com") + base_url == "https://api.deepseek.com" || base_url.starts_with("https://api.deepseek.com/") } fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { let lower = base_url.to_ascii_lowercase(); - if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { + if lower == "https://api.deepseek.com" { return true; } diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index df3007d..bf08df8 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -243,6 +243,28 @@ fn normalize_base_url(value: Option<&str>) -> Result, String> { Ok(Some(clean)) } +fn ensure_secure_known_provider_base_url(base_url: &str) -> Result<(), String> { + let lower = base_url.to_ascii_lowercase(); + let insecure_known_provider = [ + "http://api.deepseek.com", + "http://dashscope.aliyuncs.com", + "http://dashscope-intl.aliyuncs.com", + "http://api.moonshot.cn", + "http://api.moonshot.ai", + ] + .iter() + .any(|prefix| lower == *prefix || lower.starts_with(&format!("{}/", prefix))); + + if insecure_known_provider { + return Err( + "Known cloud provider endpoints must use https:// to avoid sending API keys in plaintext." + .to_string(), + ); + } + + Ok(()) +} + fn normalize_provider(value: Option<&str>) -> Result { let provider = value.unwrap_or(PROVIDER_CLAUDE_CODE).trim(); match provider { @@ -558,6 +580,7 @@ pub async fn save_anthropic_api_key( if provider == PROVIDER_OPENAI_COMPATIBLE { let base_url = base_url.ok_or("OpenAI-compatible provider requires a Base URL")?; + ensure_secure_known_provider_base_url(&base_url)?; let model = model.ok_or("OpenAI-compatible provider requires a model")?; let label = credential_label .as_deref() @@ -642,6 +665,7 @@ pub async fn verify_openai_compatible_api_key( let api_key = normalize_optional_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; + ensure_secure_known_provider_base_url(&base_url)?; if let Some(message) = known_proxy_mismatch_error(PROVIDER_OPENAI_COMPATIBLE, Some(base_url.as_str())) { @@ -670,6 +694,7 @@ pub async fn list_openai_compatible_models( let api_key = normalize_optional_api_key(&api_key)?; let base_url = normalize_base_url(Some(base_url.as_str()))? .ok_or("OpenAI-compatible provider requires a Base URL")?; + ensure_secure_known_provider_base_url(&base_url)?; if let Some(message) = known_proxy_mismatch_error(PROVIDER_OPENAI_COMPATIBLE, Some(base_url.as_str())) { @@ -696,6 +721,7 @@ async fn fetch_openai_compatible_models( api_key: &str, base_url: &str, ) -> Result, String> { + ensure_secure_known_provider_base_url(base_url)?; let request = reqwest::Client::new().get(openai_models_url(base_url)); let response = with_optional_bearer_auth(request, api_key) .send() @@ -1630,6 +1656,29 @@ fn create_command( cmd } +fn clear_anthropic_provider_env(cmd: &mut Command) { + for key in [ + "ANTHROPIC_API_KEY", + "ANTHROPIC_AUTH_TOKEN", + "ANTHROPIC_BASE_URL", + "ANTHROPIC_MODEL", + "ANTHROPIC_SMALL_FAST_MODEL", + "ANTHROPIC_DEFAULT_OPUS_MODEL", + "ANTHROPIC_DEFAULT_SONNET_MODEL", + "ANTHROPIC_DEFAULT_HAIKU_MODEL", + "ANTHROPIC_CUSTOM_HEADERS", + "ANTHROPIC_BETA", + "ANTHROPIC_VERSION", + ] { + cmd.env_remove(key); + } + for (key, _) in std::env::vars() { + if key.to_ascii_uppercase().starts_with("ANTHROPIC_") { + cmd.env_remove(key); + } + } +} + fn with_prompt_transport(mut args: Vec, prompt: String) -> (Vec, Option) { args.push("-p".to_string()); #[cfg(target_os = "windows")] @@ -1707,19 +1756,18 @@ fn find_git_bash() -> Option { #[tauri::command] pub async fn check_claude_status() -> Result { let auth_config = read_claude_prism_auth_config()?; - if let Some(credential) = stored_openai_compatible_credential_from_config(&auth_config, None) { - return Ok(ClaudeStatus { - installed: true, - authenticated: true, - binary_path: None, - version: Some("OpenAI-compatible provider".to_string()), - provider_kind: PROVIDER_OPENAI_COMPATIBLE.to_string(), - account_email: None, - provider_model: Some(credential.model), - provider_base_url: Some(credential.base_url), - missing_git: false, - }); - } + let openai_credential = stored_openai_compatible_credential_from_config(&auth_config, None); + let provider_kind = if openai_credential.is_some() { + PROVIDER_OPENAI_COMPATIBLE + } else { + PROVIDER_CLAUDE_CODE + }; + let provider_model = openai_credential + .as_ref() + .map(|credential| credential.model.clone()); + let provider_base_url = openai_credential + .as_ref() + .map(|credential| credential.base_url.clone()); // On Windows, check for Git for Windows first 鈥?Claude Code requires it. #[cfg(target_os = "windows")] @@ -1736,10 +1784,10 @@ pub async fn check_claude_status() -> Result { authenticated: false, binary_path: None, version: None, - provider_kind: PROVIDER_CLAUDE_CODE.to_string(), + provider_kind: provider_kind.to_string(), account_email: None, - provider_model: None, - provider_base_url: None, + provider_model: provider_model.clone(), + provider_base_url: provider_base_url.clone(), missing_git, }); } @@ -1760,15 +1808,29 @@ pub async fn check_claude_status() -> Result { authenticated: false, binary_path: None, version: None, - provider_kind: PROVIDER_CLAUDE_CODE.to_string(), + provider_kind: provider_kind.to_string(), account_email: None, - provider_model: None, - provider_base_url: None, + provider_model: provider_model.clone(), + provider_base_url: provider_base_url.clone(), missing_git, }); } }; + if openai_credential.is_some() { + return Ok(ClaudeStatus { + installed: true, + authenticated: true, + binary_path: Some(binary_path), + version, + provider_kind: PROVIDER_OPENAI_COMPATIBLE.to_string(), + account_email: None, + provider_model, + provider_base_url, + missing_git, + }); + } + // Check auth status let auth_output = new_sync_command(&binary_path) .args(["auth", "status"]) @@ -2132,7 +2194,6 @@ fn common_claude_args() -> Vec { "--output-format".to_string(), "stream-json".to_string(), "--verbose".to_string(), - "--dangerously-skip-permissions".to_string(), "--append-system-prompt".to_string(), concat!( "You are an AI assistant integrated into a LaTeX document editor (Prism). ", @@ -2214,7 +2275,7 @@ fn openai_models_url(base_url: &str) -> String { fn openai_compatible_base_url_has_chat_root(base_url: &str) -> bool { let lower = base_url.to_ascii_lowercase(); - if lower == "https://api.deepseek.com" || lower == "http://api.deepseek.com" { + if lower == "https://api.deepseek.com" { return true; } @@ -2567,10 +2628,9 @@ async fn execute_openai_compatible_via_claude_proxy( args.extend(common_claude_args()); let mut cmd = create_command(&claude_path, args, &project_path, effort_level.as_deref()); + clear_anthropic_provider_env(&mut cmd); cmd.env("ANTHROPIC_API_KEY", "claude-prism-local-proxy"); cmd.env("ANTHROPIC_BASE_URL", proxy_url); - cmd.env_remove("ANTHROPIC_AUTH_TOKEN"); - cmd.env_remove("ANTHROPIC_MODEL"); cmd.env_remove("CLAUDE_MODEL"); spawn_claude_process( @@ -2596,6 +2656,8 @@ async fn execute_openai_compatible_provider( effort_level: Option, credential: StoredOpenAiCompatibleCredential, ) -> Result<(), String> { + ensure_secure_known_provider_base_url(&credential.base_url)?; + if uses_native_anthropic_route(&credential) { return execute_openai_compatible_via_native_anthropic( window, @@ -2659,9 +2721,9 @@ fn apply_native_anthropic_provider_env( credential: &StoredOpenAiCompatibleCredential, anthropic_base_url: &str, ) { + clear_anthropic_provider_env(cmd); cmd.env("ANTHROPIC_BASE_URL", anthropic_base_url); cmd.env("ANTHROPIC_AUTH_TOKEN", credential.api_key.as_str()); - cmd.env_remove("ANTHROPIC_API_KEY"); cmd.env("ANTHROPIC_MODEL", credential.model.as_str()); cmd.env("ANTHROPIC_SMALL_FAST_MODEL", credential.model.as_str()); cmd.env("ANTHROPIC_DEFAULT_OPUS_MODEL", credential.model.as_str()); @@ -2678,7 +2740,7 @@ fn uses_native_anthropic_route(credential: &StoredOpenAiCompatibleCredential) -> fn native_anthropic_base_url(credential: &StoredOpenAiCompatibleCredential) -> Option { let origin = http_origin(&credential.base_url)?; let lower_origin = origin.to_ascii_lowercase(); - if lower_origin == "https://api.deepseek.com" || lower_origin == "http://api.deepseek.com" { + if lower_origin == "https://api.deepseek.com" { let lower = credential.base_url.to_ascii_lowercase(); if let Some(index) = lower.find("/anthropic") { return Some(format!("{}{}", &credential.base_url[..index], "/anthropic")); @@ -2714,10 +2776,11 @@ fn native_anthropic_base_url(credential: &StoredOpenAiCompatibleCredential) -> O fn deepseek_origin_for_anthropic_base_url(base_url: &str) -> Option { let lower = base_url.to_ascii_lowercase(); - if !lower.contains("api.deepseek.com") || !lower.contains("/anthropic") { + let origin = http_origin(base_url)?; + if origin.to_ascii_lowercase() != "https://api.deepseek.com" || !lower.contains("/anthropic") { return None; } - http_origin(base_url) + Some(origin) } fn qwen_origin_for_anthropic_base_url(base_url: &str) -> Option { @@ -2747,20 +2810,14 @@ fn moonshot_origin_for_anthropic_base_url(base_url: &str) -> Option { fn is_qwen_anthropic_origin(lower_origin: &str) -> bool { matches!( lower_origin, - "https://dashscope.aliyuncs.com" - | "http://dashscope.aliyuncs.com" - | "https://dashscope-intl.aliyuncs.com" - | "http://dashscope-intl.aliyuncs.com" + "https://dashscope.aliyuncs.com" | "https://dashscope-intl.aliyuncs.com" ) } fn is_moonshot_anthropic_origin(lower_origin: &str) -> bool { matches!( lower_origin, - "https://api.moonshot.cn" - | "http://api.moonshot.cn" - | "https://api.moonshot.ai" - | "http://api.moonshot.ai" + "https://api.moonshot.cn" | "https://api.moonshot.ai" ) } @@ -3687,27 +3744,59 @@ pub struct ShellCommandResult { pub stderr: String, } +fn truncate_shell_output(value: &[u8]) -> String { + const MAX_OUTPUT_BYTES: usize = 64 * 1024; + let truncated = value.len() > MAX_OUTPUT_BYTES; + let mut text = String::from_utf8_lossy(&value[..value.len().min(MAX_OUTPUT_BYTES)]).to_string(); + if truncated { + text.push_str("\n[output truncated]"); + } + text +} + #[tauri::command] pub async fn run_shell_command(command: String, cwd: String) -> Result { + let command = strip_nul(&command).trim().to_string(); + if command.is_empty() { + return Err("Command is empty".to_string()); + } + + let cwd = strip_nul(&cwd).trim().to_string(); + if cwd.is_empty() { + return Err("Command working directory is empty".to_string()); + } + let cwd = PathBuf::from(cwd); + let cwd = cwd + .canonicalize() + .map_err(|e| format!("Failed to resolve command working directory: {}", e))?; + if !cwd.is_dir() { + return Err("Command working directory is not a directory".to_string()); + } + let cwd = cwd.to_string_lossy().to_string(); + #[cfg(not(target_os = "windows"))] let (shell, args) = ("sh", vec!["-c".to_string(), command]); #[cfg(target_os = "windows")] let (shell, args) = ("cmd", vec!["/C".to_string(), command]); let mut cmd = create_command(shell, args, &cwd, None); + cmd.kill_on_drop(true); let child = cmd .spawn() .map_err(|e| format!("Failed to spawn command: {}", e))?; - let output = child - .wait_with_output() - .await - .map_err(|e| format!("Failed to wait for command: {}", e))?; + let output = tokio::time::timeout( + std::time::Duration::from_secs(120), + child.wait_with_output(), + ) + .await + .map_err(|_| "Command timed out after 120 seconds".to_string())? + .map_err(|e| format!("Failed to wait for command: {}", e))?; Ok(ShellCommandResult { exit_code: output.status.code().unwrap_or(-1), - stdout: String::from_utf8_lossy(&output.stdout).to_string(), - stderr: String::from_utf8_lossy(&output.stderr).to_string(), + stdout: truncate_shell_output(&output.stdout), + stderr: truncate_shell_output(&output.stderr), }) } @@ -3941,7 +4030,7 @@ mod tests { assert!(args.contains(&"--output-format".to_string())); assert!(args.contains(&"stream-json".to_string())); assert!(args.contains(&"--verbose".to_string())); - assert!(args.contains(&"--dangerously-skip-permissions".to_string())); + assert!(!args.contains(&"--dangerously-skip-permissions".to_string())); assert!(args.contains(&"--append-system-prompt".to_string())); } @@ -4186,6 +4275,30 @@ mod tests { ); } + #[test] + fn test_known_native_provider_routes_require_https() { + for (base_url, model) in [ + ("http://api.deepseek.com/anthropic", "deepseek-chat"), + ("http://dashscope.aliyuncs.com/apps/anthropic", "qwen3-max"), + ("http://api.moonshot.cn/anthropic", "kimi-k2.5"), + ] { + let credential = StoredOpenAiCompatibleCredential { + id: "insecure".to_string(), + label: "Insecure".to_string(), + api_key: "sk-test".to_string(), + base_url: base_url.to_string(), + model: model.to_string(), + transformers: Vec::new(), + model_transformers: HashMap::new(), + }; + + assert!(!uses_native_anthropic_route(&credential)); + assert!(ensure_secure_known_provider_base_url(base_url).is_err()); + } + + assert!(ensure_secure_known_provider_base_url("http://localhost:11434/v1").is_ok()); + } + #[test] fn test_provider_id_lookup_rejects_missing_provider() { let config = test_openai_compatible_auth_config(); From 0d6101245de668ab977f6db3e2b420ddde20eb57 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 20:38:56 +0800 Subject: [PATCH 099/118] feat(pdf-viewer): enhance zoom functionality and add permission skip option --- apps/desktop/src-tauri/src/claude.rs | 3 +- .../workspace/preview/pdf-viewer.tsx | 224 ++++++++---------- 2 files changed, 103 insertions(+), 124 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index bf08df8..82130d5 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2194,6 +2194,7 @@ fn common_claude_args() -> Vec { "--output-format".to_string(), "stream-json".to_string(), "--verbose".to_string(), + "--dangerously-skip-permissions".to_string(), "--append-system-prompt".to_string(), concat!( "You are an AI assistant integrated into a LaTeX document editor (Prism). ", @@ -4030,7 +4031,7 @@ mod tests { assert!(args.contains(&"--output-format".to_string())); assert!(args.contains(&"stream-json".to_string())); assert!(args.contains(&"--verbose".to_string())); - assert!(!args.contains(&"--dangerously-skip-permissions".to_string())); + assert!(args.contains(&"--dangerously-skip-permissions".to_string())); assert!(args.contains(&"--append-system-prompt".to_string())); } diff --git a/apps/desktop/src/components/workspace/preview/pdf-viewer.tsx b/apps/desktop/src/components/workspace/preview/pdf-viewer.tsx index aeeab66..d2c175f 100644 --- a/apps/desktop/src/components/workspace/preview/pdf-viewer.tsx +++ b/apps/desktop/src/components/workspace/preview/pdf-viewer.tsx @@ -1,6 +1,10 @@ -import { useCallback, useRef, useEffect, useState } from "react"; -import type { MutableRefObject } from "react"; -import { flushSync } from "react-dom"; +import { + useCallback, + useRef, + useEffect, + useLayoutEffect, + useState, +} from "react"; import { LoaderIcon } from "lucide-react"; import { open as shellOpen } from "@tauri-apps/plugin-shell"; import { ask } from "@tauri-apps/plugin-dialog"; @@ -18,11 +22,10 @@ const log = createLogger("pdf-viewer"); const MIN_PDF_SCALE = 0.25; const MAX_PDF_SCALE = 4; -const MOUSE_WHEEL_ZOOM_STEP = 1.12; -const TRACKPAD_PINCH_MIN_FACTOR = 0.9; -const TRACKPAD_PINCH_MAX_FACTOR = 1.1; -const PIXELS_PER_WHEEL_TICK = 120; -const MIN_WHEEL_TICKS_PER_ZOOM_STEP = 0.5; +const MOUSE_WHEEL_ZOOM_SENSITIVITY = 0.00125; +const TRACKPAD_PINCH_ZOOM_SENSITIVITY = 0.012; +const MAX_MOUSE_WHEEL_FACTOR_PER_EVENT = 1.22; +const MAX_TRACKPAD_PINCH_FACTOR_PER_EVENT = 1.28; type WebKitGestureEvent = Event & { scale?: number; @@ -79,76 +82,30 @@ function isTrackpadPinchWheel( ); } -function normalizeWheelEventDirection(event: WheelEvent): number { - let delta = Math.hypot(event.deltaX, event.deltaY); - const angle = Math.atan2(event.deltaY, event.deltaX); - if (-0.25 * Math.PI < angle && angle < 0.75 * Math.PI) { - delta = -delta; - } - return delta; +function clampZoomFactor(factor: number, maxFactor: number): number { + if (!Number.isFinite(factor) || factor <= 0) return 1; + return Math.max(1 / maxFactor, Math.min(maxFactor, factor)); } -function normalizeMouseWheelTicks(event: WheelEvent): number { - if (event.deltaY === 0) return 0; +function getWheelZoomFactor(event: WheelEvent, isTrackpadPinch: boolean): number { + if (event.deltaY === 0) return 1; if ( - event.deltaMode === WheelEvent.DOM_DELTA_LINE || - event.deltaMode === WheelEvent.DOM_DELTA_PAGE + !isTrackpadPinch && + (event.deltaMode === WheelEvent.DOM_DELTA_LINE || + event.deltaMode === WheelEvent.DOM_DELTA_PAGE) ) { - return Math.sign(normalizeWheelEventDirection(event)); + return event.deltaY < 0 ? 1.16 : 1 / 1.16; } - return normalizeWheelEventDirection(event) / PIXELS_PER_WHEEL_TICK; -} + const sensitivity = isTrackpadPinch + ? TRACKPAD_PINCH_ZOOM_SENSITIVITY + : MOUSE_WHEEL_ZOOM_SENSITIVITY; + const maxFactor = isTrackpadPinch + ? MAX_TRACKPAD_PINCH_FACTOR_PER_EVENT + : MAX_MOUSE_WHEEL_FACTOR_PER_EVENT; -function accumulateWheelTicks( - ticksRef: MutableRefObject, - ticks: number, -): number { - if ( - (ticksRef.current > 0 && ticks < 0) || - (ticksRef.current < 0 && ticks > 0) - ) { - ticksRef.current = 0; - } - - ticksRef.current += ticks; - if (Math.abs(ticksRef.current) < MIN_WHEEL_TICKS_PER_ZOOM_STEP) { - return 0; - } - - const zoomTicks = Math.sign(ticksRef.current); - ticksRef.current -= zoomTicks; - return zoomTicks; -} - -function accumulatePinchFactor( - factorRef: MutableRefObject, - previousScale: number, - factor: number, -): number { - if (factor === 1) return 1; - - if ( - (factorRef.current > 1 && factor < 1) || - (factorRef.current < 1 && factor > 1) - ) { - factorRef.current = 1; - } - - const nextFactor = - Math.floor(previousScale * factor * factorRef.current * 100) / - (100 * previousScale); - factorRef.current = factor / nextFactor; - return nextFactor; -} - -function getTrackpadPinchFactor(event: WheelEvent): number { - const factor = Math.exp(-event.deltaY / 100); - return Math.max( - TRACKPAD_PINCH_MIN_FACTOR, - Math.min(TRACKPAD_PINCH_MAX_FACTOR, factor), - ); + return clampZoomFactor(Math.exp(-event.deltaY * sensitivity), maxFactor); } interface PageZoomAnchor { @@ -157,6 +114,18 @@ interface PageZoomAnchor { pdfY: number; } +interface PendingZoomScroll { + anchorClientX: number; + anchorClientY: number; + pageAnchor: PageZoomAnchor | null; + fallbackAnchorX: number; + fallbackAnchorY: number; + fallbackRatio: number; + nextScale: number; + containerLeft: number; + containerTop: number; +} + function findPageZoomAnchor( container: HTMLElement, clientX: number, @@ -276,10 +245,10 @@ export function PdfViewer({ const scaleRef = useRef(scale); scaleRef.current = scale; + const renderedScaleRef = useRef(scale); + const pendingZoomScrollRef = useRef(null); const ctrlKeyDownRef = useRef(false); const metaKeyDownRef = useRef(false); - const wheelUnusedTicksRef = useRef(0); - const wheelUnusedFactorRef = useRef(1); const touchPinchRef = useRef<{ distance: number; scale: number; @@ -305,6 +274,42 @@ export function PdfViewer({ window.removeEventListener(APP_VISIBILITY_RESTORED, handleRestore); }, []); + useLayoutEffect(() => { + renderedScaleRef.current = scale; + + const pending = pendingZoomScrollRef.current; + if (!pending || Math.abs(pending.nextScale - scale) > 0.001) return; + pendingZoomScrollRef.current = null; + + const container = containerRef.current; + if (!container) return; + + if (pending.pageAnchor) { + const pageEl = container.querySelector( + `.mupdf-page[data-page-number="${pending.pageAnchor.pageNumber}"]`, + ) as HTMLElement | null; + if (pageEl) { + const pageRect = pageEl.getBoundingClientRect(); + container.scrollLeft += + pageRect.left + + pending.pageAnchor.pdfX * scale - + pending.anchorClientX; + container.scrollTop += + pageRect.top + + pending.pageAnchor.pdfY * scale - + pending.anchorClientY; + return; + } + } + + container.scrollLeft = + pending.fallbackAnchorX * pending.fallbackRatio - + (pending.anchorClientX - pending.containerLeft); + container.scrollTop = + pending.fallbackAnchorY * pending.fallbackRatio - + (pending.anchorClientY - pending.containerTop); + }, [scale]); + // Keep-alive scroll save/restore const savedScrollTop = useRef(0); const prevIsActive = useRef(isActive); @@ -744,10 +749,11 @@ export function PdfViewer({ const container = containerRef.current; const previousScale = scaleRef.current; + const renderedScale = renderedScaleRef.current; const nextScale = clampPdfScale(nextScaleValue); if (Math.abs(nextScale - previousScale) < 0.001) return; - if (!container || previousScale <= 0) { + if (!container || previousScale <= 0 || renderedScale <= 0) { scaleRef.current = nextScale; onScaleChange(nextScale); return; @@ -762,38 +768,28 @@ export function PdfViewer({ container, anchorClientX, anchorClientY, - previousScale, + renderedScale, ); const fallbackAnchorX = anchorClientX - containerRect.left + container.scrollLeft; const fallbackAnchorY = anchorClientY - containerRect.top + container.scrollTop; - const fallbackRatio = nextScale / previousScale; + const fallbackRatio = nextScale / renderedScale; + + pendingZoomScrollRef.current = { + anchorClientX, + anchorClientY, + pageAnchor, + fallbackAnchorX, + fallbackAnchorY, + fallbackRatio, + nextScale, + containerLeft: containerRect.left, + containerTop: containerRect.top, + }; scaleRef.current = nextScale; - flushSync(() => onScaleChange(nextScale)); - - const currentContainer = containerRef.current; - if (!currentContainer) return; - - if (pageAnchor) { - const pageEl = currentContainer.querySelector( - `.mupdf-page[data-page-number="${pageAnchor.pageNumber}"]`, - ) as HTMLElement | null; - if (pageEl) { - const pageRect = pageEl.getBoundingClientRect(); - currentContainer.scrollLeft += - pageRect.left + pageAnchor.pdfX * nextScale - anchorClientX; - currentContainer.scrollTop += - pageRect.top + pageAnchor.pdfY * nextScale - anchorClientY; - return; - } - } - - currentContainer.scrollLeft = - fallbackAnchorX * fallbackRatio - (anchorClientX - containerRect.left); - currentContainer.scrollTop = - fallbackAnchorY * fallbackRatio - (anchorClientY - containerRect.top); + onScaleChange(nextScale); }, [onScaleChange], ); @@ -811,30 +807,13 @@ export function PdfViewer({ e.preventDefault(); e.stopPropagation(); - if ( - isTrackpadPinchWheel(e, ctrlKeyDownRef.current, metaKeyDownRef.current) - ) { - const previousScale = scaleRef.current; - const factor = accumulatePinchFactor( - wheelUnusedFactorRef, - previousScale, - getTrackpadPinchFactor(e), - ); - if (factor !== 1) { - wheelUnusedTicksRef.current = 0; - zoomAtPoint(previousScale * factor, e.clientX, e.clientY); - } - return; - } - - const ticks = accumulateWheelTicks( - wheelUnusedTicksRef, - normalizeMouseWheelTicks(e), + const isTrackpadPinch = isTrackpadPinchWheel( + e, + ctrlKeyDownRef.current, + metaKeyDownRef.current, ); - if (ticks === 0) return; - - wheelUnusedFactorRef.current = 1; - const factor = MOUSE_WHEEL_ZOOM_STEP ** ticks; + const factor = getWheelZoomFactor(e, isTrackpadPinch); + if (Math.abs(factor - 1) < 0.0001) return; zoomAtPoint(scaleRef.current * factor, e.clientX, e.clientY); }; @@ -843,8 +822,7 @@ export function PdfViewer({ }); return () => { window.removeEventListener("wheel", handleWheel); - wheelUnusedTicksRef.current = 0; - wheelUnusedFactorRef.current = 1; + pendingZoomScrollRef.current = null; }; }, [onScaleChange, zoomAtPoint]); From 39e38428dcb2a7e7d7bd57d07c5c59a77282f7fa Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 20:45:32 +0800 Subject: [PATCH 100/118] feat(stream): improve error handling for provider stream and add SSE error rendering --- .../src-tauri/src/anthropic_proxy/stream.rs | 73 ++++++++++++++----- 1 file changed, 54 insertions(+), 19 deletions(-) diff --git a/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs b/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs index 736178a..18b0fed 100644 --- a/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs +++ b/apps/desktop/src-tauri/src/anthropic_proxy/stream.rs @@ -39,21 +39,22 @@ pub(super) async fn stream_openai_sse_to_anthropic( let mut state = OpenAiStreamState::default(); let mut buffer = String::new(); - while let Some(chunk) = response - .chunk() - .await - .map_err(|err| format!("Failed to read provider stream: {}", err))? - { + while let Some(chunk) = match response.chunk().await { + Ok(chunk) => chunk, + Err(err) => { + let rendered = + anthropic_stream_error_sse(&format!("Provider stream ended unexpectedly: {}", err)); + let _ = write_stream_body(stream, &rendered, "provider stream error").await; + return Ok(()); + } + } { buffer.push_str(&String::from_utf8_lossy(&chunk)); while let Some((event, rest)) = take_next_sse_event(&buffer) { buffer = rest; let rendered = openai_sse_event_to_anthropic(&mut state, &event, anthropic_request, credential); - if !rendered.is_empty() { - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write proxy stream event: {}", err))?; + if !write_stream_body(stream, &rendered, "proxy stream event").await { + return Ok(()); } } } @@ -61,19 +62,14 @@ pub(super) async fn stream_openai_sse_to_anthropic( if !buffer.trim().is_empty() { let rendered = openai_sse_event_to_anthropic(&mut state, &buffer, anthropic_request, credential); - if !rendered.is_empty() { - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write final proxy stream event: {}", err))?; + if !write_stream_body(stream, &rendered, "final proxy stream event").await { + return Ok(()); } } let rendered = finish_anthropic_stream(&mut state); - stream - .write_all(rendered.as_bytes()) - .await - .map_err(|err| format!("Failed to write proxy stream completion: {}", err)) + let _ = write_stream_body(stream, &rendered, "proxy stream completion").await; + Ok(()) } fn streaming_http_headers() -> String { @@ -81,6 +77,35 @@ fn streaming_http_headers() -> String { .to_string() } +async fn write_stream_body(stream: &mut TcpStream, body: &str, context: &str) -> bool { + if body.is_empty() { + return true; + } + match stream.write_all(body.as_bytes()).await { + Ok(()) => true, + Err(err) => { + eprintln!("[anthropic-proxy] failed to write {}: {}", context, err); + false + } + } +} + +fn anthropic_stream_error_sse(message: &str) -> String { + let mut body = String::new(); + push_sse( + &mut body, + "error", + &json!({ + "type": "error", + "error": { + "type": "api_error", + "message": message, + }, + }), + ); + body +} + fn take_next_sse_event(buffer: &str) -> Option<(String, String)> { if let Some(index) = buffer.find("\n\n") { let event = buffer[..index].to_string(); @@ -730,6 +755,16 @@ mod tests { } } + #[test] + fn renders_provider_stream_errors_as_anthropic_sse_errors() { + let rendered = anthropic_stream_error_sse("provider stream broke"); + + assert!(rendered.contains("event: error")); + assert!(rendered.contains("\"type\":\"error\"")); + assert!(rendered.contains("\"type\":\"api_error\"")); + assert!(rendered.contains("\"message\":\"provider stream broke\"")); + } + #[test] fn streams_openai_text_delta_as_anthropic_sse() { let request = json!({ "model": "claude-sonnet-4" }); From 3073e57fc5c31596e824ff2c9aac071453168c27 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 21:24:54 +0800 Subject: [PATCH 101/118] fix: align Kimi Claude Code native route --- apps/desktop/src-tauri/src/claude.rs | 55 +++++++++++++++---- .../stores/claude-setup-store.test.ts | 8 +-- apps/desktop/src/components/claude-setup.tsx | 9 +-- apps/desktop/src/stores/claude-setup-store.ts | 6 +- 4 files changed, 57 insertions(+), 21 deletions(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 82130d5..b10f4fb 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -76,6 +76,7 @@ pub struct OpenAiCompatibleModelInfo { const PROVIDER_CLAUDE_CODE: &str = "claude-code"; const PROVIDER_OPENAI_COMPATIBLE: &str = "openai-compatible"; +const MOONSHOT_OFFICIAL_ORIGIN: &str = "https://api.moonshot.ai"; /// Check if an environment variable should be explicitly passed to child processes. /// @@ -2731,6 +2732,10 @@ fn apply_native_anthropic_provider_env( cmd.env("ANTHROPIC_DEFAULT_SONNET_MODEL", credential.model.as_str()); cmd.env("ANTHROPIC_DEFAULT_HAIKU_MODEL", credential.model.as_str()); cmd.env("CLAUDE_CODE_SUBAGENT_MODEL", credential.model.as_str()); + if native_anthropic_provider_kind(anthropic_base_url) == Some("moonshot") { + cmd.env("ENABLE_TOOL_SEARCH", "false"); + cmd.env("CLAUDE_CODE_AUTO_COMPACT_WINDOW", "262144"); + } cmd.env_remove("CLAUDE_MODEL"); } @@ -2764,17 +2769,26 @@ fn native_anthropic_base_url(credential: &StoredOpenAiCompatibleCredential) -> O } if is_moonshot_anthropic_origin(&lower_origin) { - let lower = credential.base_url.to_ascii_lowercase(); - if let Some(index) = lower.find("/anthropic") { - return Some(format!("{}{}", &credential.base_url[..index], "/anthropic")); - } - - return Some(format!("{}/anthropic", origin)); + return Some(format!("{}/anthropic", MOONSHOT_OFFICIAL_ORIGIN)); } None } +fn native_anthropic_provider_kind(base_url: &str) -> Option<&'static str> { + let origin = http_origin(base_url)?.to_ascii_lowercase(); + if origin == "https://api.deepseek.com" { + return Some("deepseek"); + } + if is_qwen_anthropic_origin(&origin) { + return Some("qwen"); + } + if is_moonshot_anthropic_origin(&origin) { + return Some("moonshot"); + } + None +} + fn deepseek_origin_for_anthropic_base_url(base_url: &str) -> Option { let lower = base_url.to_ascii_lowercase(); let origin = http_origin(base_url)?; @@ -2803,7 +2817,7 @@ fn moonshot_origin_for_anthropic_base_url(base_url: &str) -> Option { return None; } if lower.contains("/anthropic") || lower.ends_with("/v1") { - return Some(origin); + return Some(MOONSHOT_OFFICIAL_ORIGIN.to_string()); } None } @@ -3894,7 +3908,7 @@ mod tests { id: "moonshot".to_string(), label: "Moonshot / Kimi".to_string(), api_key: "sk-moonshot".to_string(), - base_url: "https://api.moonshot.cn/anthropic".to_string(), + base_url: "https://api.moonshot.ai/anthropic".to_string(), model: "kimi-k2.5".to_string(), transformers: Vec::new(), model_transformers: HashMap::new(), @@ -4200,7 +4214,7 @@ mod tests { assert!(uses_native_anthropic_route(&credential)); assert_eq!( native_anthropic_base_url(&credential).as_deref(), - Some("https://api.moonshot.cn/anthropic") + Some("https://api.moonshot.ai/anthropic") ); } @@ -4276,12 +4290,31 @@ mod tests { ); } + #[test] + fn test_moonshot_cn_urls_normalize_to_official_ai_route() { + let credential = StoredOpenAiCompatibleCredential { + id: "moonshot-compatible".to_string(), + label: "Moonshot / Kimi".to_string(), + api_key: "sk-test".to_string(), + base_url: "https://api.moonshot.cn/v1".to_string(), + model: "kimi-k2.5".to_string(), + transformers: Vec::new(), + model_transformers: HashMap::new(), + }; + + assert!(uses_native_anthropic_route(&credential)); + assert_eq!( + native_anthropic_base_url(&credential).as_deref(), + Some("https://api.moonshot.ai/anthropic") + ); + } + #[test] fn test_known_native_provider_routes_require_https() { for (base_url, model) in [ ("http://api.deepseek.com/anthropic", "deepseek-chat"), ("http://dashscope.aliyuncs.com/apps/anthropic", "qwen3-max"), - ("http://api.moonshot.cn/anthropic", "kimi-k2.5"), + ("http://api.moonshot.ai/anthropic", "kimi-k2.5"), ] { let credential = StoredOpenAiCompatibleCredential { id: "insecure".to_string(), @@ -4385,7 +4418,7 @@ mod tests { ); assert_eq!( openai_models_url("https://api.moonshot.cn/anthropic"), - "https://api.moonshot.cn/v1/models" + "https://api.moonshot.ai/v1/models" ); assert_eq!( openai_models_url("https://api.moonshot.ai/anthropic"), diff --git a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts index bd75180..ccdeb79 100644 --- a/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts +++ b/apps/desktop/src/__tests__/stores/claude-setup-store.test.ts @@ -271,7 +271,7 @@ describe("useClaudeSetupStore.saveApiKey", () => { }); }); - it("normalizes legacy Moonshot compatible URLs to the native Anthropic endpoint", async () => { + it("normalizes Moonshot compatible URLs to the native Anthropic endpoint", async () => { vi.mocked(invoke).mockResolvedValue(null); const success = await useClaudeSetupStore @@ -289,20 +289,20 @@ describe("useClaudeSetupStore.saveApiKey", () => { "verify_openai_compatible_api_key", { apiKey: "sk-test", - baseUrl: "https://api.moonshot.cn/anthropic", + baseUrl: "https://api.moonshot.ai/anthropic", model: "kimi-k2.5", }, ); expect(invoke).toHaveBeenNthCalledWith(2, "save_anthropic_api_key", { apiKey: "sk-test", - baseUrl: "https://api.moonshot.cn/anthropic", + baseUrl: "https://api.moonshot.ai/anthropic", provider: "openai-compatible", model: "kimi-k2.5", credentialLabel: null, }); }); - it("preserves Moonshot international Anthropic URLs when saving credentials", async () => { + it("preserves Moonshot Anthropic-looking URLs when saving credentials", async () => { vi.mocked(invoke).mockResolvedValue(null); const success = await useClaudeSetupStore diff --git a/apps/desktop/src/components/claude-setup.tsx b/apps/desktop/src/components/claude-setup.tsx index cf677db..a3c8e60 100644 --- a/apps/desktop/src/components/claude-setup.tsx +++ b/apps/desktop/src/components/claude-setup.tsx @@ -99,7 +99,7 @@ const OPENAI_COMPATIBLE_PRESETS: OpenAICompatiblePreset[] = [ { id: "moonshot", label: "Moonshot / Kimi", - baseUrl: "https://api.moonshot.cn/anthropic", + baseUrl: "https://api.moonshot.ai/anthropic", model: "", note: "Kimi Anthropic-compatible endpoint for Claude Code.", }, @@ -161,7 +161,8 @@ const CLAUDE_PROVIDER_CARDS: ModelProviderCard[] = [ const OPENAI_DEFAULT_PRESET_ID = OPENAI_PROVIDER_CARDS[0]?.id ?? "openai"; const DEEPSEEK_ANTHROPIC_BASE_URL = "https://api.deepseek.com/anthropic"; const QWEN_ANTHROPIC_BASE_URL = "https://dashscope.aliyuncs.com/apps/anthropic"; -const MOONSHOT_ANTHROPIC_BASE_URL = "https://api.moonshot.cn/anthropic"; +const MOONSHOT_ANTHROPIC_BASE_URL = "https://api.moonshot.ai/anthropic"; +const MOONSHOT_OFFICIAL_ORIGIN = "https://api.moonshot.ai"; function deepseekOrigin(url: string) { const trimmed = url.trim(); @@ -232,9 +233,9 @@ function canonicalOpenAiCompatibleBaseUrl( const lower = trimmed.toLowerCase(); const anthropicIndex = lower.indexOf("/anthropic"); if (anthropicIndex >= 0) { - return `${trimmed.slice(0, anthropicIndex)}/anthropic`; + return `${MOONSHOT_OFFICIAL_ORIGIN}/anthropic`; } - return `${moonshotBaseOrigin}/anthropic`; + return `${MOONSHOT_OFFICIAL_ORIGIN}/anthropic`; } return trimmed; diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index 4b34232..ea0e300 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -7,6 +7,8 @@ import { rememberModelListCapabilityMetadata, } from "@/lib/model-capabilities"; +const MOONSHOT_OFFICIAL_ORIGIN = "https://api.moonshot.ai"; + // ─── Types ─── interface ClaudeStatus { @@ -163,9 +165,9 @@ function canonicalOpenAiCompatibleBaseUrl(url: string) { ) { const anthropicIndex = lower.indexOf("/anthropic"); if (anthropicIndex >= 0) { - return `${trimmed.slice(0, anthropicIndex)}/anthropic`; + return `${MOONSHOT_OFFICIAL_ORIGIN}/anthropic`; } - return `${moonshotOrigin}/anthropic`; + return `${MOONSHOT_OFFICIAL_ORIGIN}/anthropic`; } return trimmed; From 3c5650b618b08c4079d331b4074fdcf09a5d38cc Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Thu, 11 Jun 2026 23:41:39 +0800 Subject: [PATCH 102/118] feat(layout): enhance workspace components with responsive design adjustments --- .../claude-chat/proposed-changes-panel.tsx | 67 +++++++++++++++---- .../workspace/editor/latex-editor.tsx | 2 +- .../src/components/workspace/sidebar.tsx | 2 +- .../components/workspace/workspace-layout.tsx | 10 ++- 4 files changed, 62 insertions(+), 19 deletions(-) diff --git a/apps/desktop/src/components/claude-chat/proposed-changes-panel.tsx b/apps/desktop/src/components/claude-chat/proposed-changes-panel.tsx index 5d5b745..bc10b0c 100644 --- a/apps/desktop/src/components/claude-chat/proposed-changes-panel.tsx +++ b/apps/desktop/src/components/claude-chat/proposed-changes-panel.tsx @@ -1,4 +1,4 @@ -import { type FC } from "react"; +import { type FC, useEffect, useRef, useState } from "react"; import { Check, X } from "lucide-react"; import { type ProposedChange } from "@/stores/proposed-changes-store"; @@ -17,42 +17,81 @@ export const ProposedChangesPanel: FC = ({ onKeep, onUndo, }) => { + const containerRef = useRef(null); + const [containerWidth, setContainerWidth] = useState(0); const oldLines = change.oldContent.split("\n").length; const newLines = change.newContent.split("\n").length; const added = Math.max(0, newLines - oldLines); const removed = Math.max(0, oldLines - newLines); + const compactTitle = containerWidth > 0 && containerWidth < 680; + const hideToolName = containerWidth > 0 && containerWidth < 920; + + useEffect(() => { + const element = containerRef.current; + if (!element) return; + + const updateWidth = () => setContainerWidth(element.clientWidth); + updateWidth(); + + const observer = new ResizeObserver(updateWidth); + observer.observe(element); + return () => observer.disconnect(); + }, []); return ( -
-
- Proposed Changes +
+
+ + {compactTitle ? "Changes" : "Proposed Changes"} + {totalChanges > 1 && ( - + {changeIndex + 1}/{totalChanges} files )} - {change.filePath} - {change.toolName} - {added > 0 && +{added}} - {removed > 0 && -{removed}}
-
+
+ + {change.filePath} + + {!hideToolName && ( + + {change.toolName} + + )} + {added > 0 && ( + +{added} + )} + {removed > 0 && ( + -{removed} + )} +
+
{isComplete ? ( From bcbbd449dc2648243234f9573af1ed282ec1e652 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sat, 13 Jun 2026 15:09:37 +0800 Subject: [PATCH 108/118] feat: enhance skills management with import and delete functionality - Added `import_skill_from_folder` command to import skills from a local directory. - Implemented `delete_installed_skill` command to remove specific skills. - Updated the skills installation process to provide detailed download progress. - Refactored skills loading and management logic for better organization and efficiency. - Enhanced the UI to support skill importing and deletion with appropriate user feedback. --- apps/desktop/src-tauri/src/lib.rs | 2 + apps/desktop/src-tauri/src/skills.rs | 300 +++++++++++-- apps/desktop/src-tauri/src/slash_commands.rs | 69 ++- .../scientific-skills/install-progress.tsx | 64 +-- .../scientific-skills-onboarding.tsx | 423 ++++++++++++++++-- .../src/components/workspace/sidebar.tsx | 24 +- 6 files changed, 719 insertions(+), 163 deletions(-) diff --git a/apps/desktop/src-tauri/src/lib.rs b/apps/desktop/src-tauri/src/lib.rs index 559b6bd..7c7bb13 100644 --- a/apps/desktop/src-tauri/src/lib.rs +++ b/apps/desktop/src-tauri/src/lib.rs @@ -640,8 +640,10 @@ pub fn run() { slash_commands::slash_command_delete, skills::install_scientific_skills, skills::install_scientific_skills_global, + skills::import_skill_from_folder, skills::check_skills_installed, skills::list_installed_skills, + skills::delete_installed_skill, skills::uninstall_scientific_skills, skills::get_skill_categories, skills::get_skill_content, diff --git a/apps/desktop/src-tauri/src/skills.rs b/apps/desktop/src-tauri/src/skills.rs index b8a149d..3ff415e 100644 --- a/apps/desktop/src-tauri/src/skills.rs +++ b/apps/desktop/src-tauri/src/skills.rs @@ -1,6 +1,6 @@ use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; -use tauri::{Emitter, WebviewWindow}; +use tauri::{Emitter, Manager, WebviewWindow}; const TARBALL_URL: &str = "https://github.com/K-Dense-AI/scientific-agent-skills/archive/refs/heads/main.tar.gz"; @@ -364,15 +364,74 @@ fn skills_dir(project_path: Option<&str>) -> PathBuf { } } +fn sanitize_skill_folder_name(name: &str) -> String { + name.chars() + .map(|c| { + if c.is_ascii_alphanumeric() || c == '-' || c == '_' { + c.to_ascii_lowercase() + } else { + '-' + } + }) + .collect::() + .trim_matches('-') + .to_string() +} + +fn find_skill_md(skill_dir: &Path) -> Option { + for name in ["SKILL.md", "skill.md"] { + let candidate = skill_dir.join(name); + if candidate.is_file() { + return Some(candidate); + } + } + + let entries = std::fs::read_dir(skill_dir).ok()?; + for entry in entries.flatten() { + let path = entry.path(); + if path.is_file() + && path + .file_name() + .and_then(|name| name.to_str()) + .is_some_and(|name| name.eq_ignore_ascii_case("SKILL.md")) + { + return Some(path); + } + } + + None +} + +fn collect_skill_dirs(root: &Path, output: &mut Vec) { + if find_skill_md(root).is_some() { + output.push(root.to_path_buf()); + return; + } + + let Ok(entries) = std::fs::read_dir(root) else { + return; + }; + + for entry in entries.flatten() { + let Ok(file_type) = entry.file_type() else { + continue; + }; + if file_type.is_symlink() || !file_type.is_dir() { + continue; + } + collect_skill_dirs(&entry.path(), output); + } +} + /// Download and extract tarball. -async fn download_tarball(tmp_dir: &Path) -> Result<(), String> { +async fn download_tarball(window: &WebviewWindow, tmp_dir: &Path) -> Result<(), String> { let client = reqwest::Client::builder() .connect_timeout(std::time::Duration::from_secs(SKILLS_CONNECT_TIMEOUT_SECS)) .timeout(std::time::Duration::from_secs(SKILLS_DOWNLOAD_TIMEOUT_SECS)) .build() .map_err(|e| format!("Failed to create download client: {}", e))?; - let response = client + let mut response = client .get(TARBALL_URL) .header(reqwest::header::USER_AGENT, "ClaudePrism skills installer") .send() @@ -386,10 +445,33 @@ async fn download_tarball(tmp_dir: &Path) -> Result<(), String> { )); } - let bytes = response - .bytes() + let total_size = response.content_length(); + let mut bytes = + Vec::with_capacity(total_size.unwrap_or_default().min(64 * 1024 * 1024) as usize); + let mut downloaded = 0_u64; + let mut last_emitted_percent = 0_u64; + + while let Some(chunk) = response + .chunk() .await - .map_err(|e| format!("Failed to read tarball bytes: {}", e))?; + .map_err(|e| format!("Failed to read tarball bytes: {}", e))? + { + downloaded += chunk.len() as u64; + bytes.extend_from_slice(&chunk); + + if let Some(total) = total_size { + if total > 0 { + let percent = ((downloaded.saturating_mul(100)) / total).min(100); + if percent >= last_emitted_percent + 5 || percent == 100 { + emit_log(window, &format!("Download progress {}%", percent)); + last_emitted_percent = percent; + } + } + } else if downloaded / (1024 * 1024) > last_emitted_percent { + last_emitted_percent = downloaded / (1024 * 1024); + emit_log(window, &format!("Downloaded {} MiB", last_emitted_percent)); + } + } // Decompress gzip let decoder = flate2::read::GzDecoder::new(&bytes[..]); @@ -416,13 +498,9 @@ async fn download_tarball(tmp_dir: &Path) -> Result<(), String> { } fn contains_skill_dirs(path: &Path) -> bool { - let Ok(entries) = std::fs::read_dir(path) else { - return false; - }; - - entries - .flatten() - .any(|entry| entry.path().is_dir() && entry.path().join("SKILL.md").exists()) + let mut dirs = Vec::new(); + collect_skill_dirs(path, &mut dirs); + !dirs.is_empty() } fn find_skills_source(repo_dir: &Path) -> Option { @@ -463,19 +541,19 @@ fn copy_skills(repo_dir: &Path, target_dir: &Path) -> Result { let mut count = 0; - // Iterate through skill subdirectories - let entries = - std::fs::read_dir(&src).map_err(|e| format!("Failed to read skills dir: {}", e))?; + let mut skill_dirs = Vec::new(); + collect_skill_dirs(&src, &mut skill_dirs); + skill_dirs.sort(); - for entry in entries.flatten() { - let entry_path = entry.path(); - if !entry_path.is_dir() { + for entry_path in skill_dirs { + let Some(skill_name) = entry_path.file_name().and_then(|name| name.to_str()) else { continue; + }; + let target_skill = target_dir.join(skill_name); + if target_skill.exists() { + std::fs::remove_dir_all(&target_skill) + .map_err(|e| format!("Failed to replace {}: {}", target_skill.display(), e))?; } - - let skill_name = entry.file_name().to_string_lossy().to_string(); - - let target_skill = target_dir.join(&skill_name); copy_dir_recursive(&entry_path, &target_skill)?; count += 1; } @@ -508,10 +586,7 @@ fn copy_dir_recursive(src: &Path, dst: &Path) -> Result<(), String> { /// Parse a SKILL.md file to extract skill info. fn parse_skill_md(skill_dir: &Path) -> Option { - let skill_md = skill_dir.join("SKILL.md"); - if !skill_md.exists() { - return None; - } + let skill_md = find_skill_md(skill_dir)?; let content = std::fs::read_to_string(&skill_md).ok()?; let folder = skill_dir.file_name()?.to_string_lossy().to_string(); @@ -567,6 +642,79 @@ pub async fn install_scientific_skills_global( install_skills_with_timeout(&window, &target, None).await } +#[tauri::command] +pub async fn import_skill_from_folder(source_path: String) -> Result, String> { + let source = PathBuf::from(&source_path); + if !source.is_dir() { + return Err("Selected path is not a folder".into()); + } + + let mut skill_dirs = Vec::new(); + collect_skill_dirs(&source, &mut skill_dirs); + skill_dirs.sort(); + + if skill_dirs.is_empty() { + return Err( + "Selected folder does not contain any Claude skills. A skill must contain SKILL.md." + .into(), + ); + } + + let target_root = skills_dir(None); + std::fs::create_dir_all(&target_root).map_err(|e| { + format!( + "Failed to create skills dir {}: {}", + target_root.display(), + e + ) + })?; + + let mut imported = Vec::new(); + for skill_dir in skill_dirs { + let raw_folder_name = skill_dir + .file_name() + .and_then(|name| name.to_str()) + .ok_or_else(|| "Selected skill folder has an invalid name".to_string())?; + let folder_name = sanitize_skill_folder_name(raw_folder_name); + if folder_name.is_empty() { + return Err("Selected skill folder has an invalid name".into()); + } + + let target = target_root.join(folder_name); + let source_canon = skill_dir + .canonicalize() + .map_err(|e| format!("Failed to resolve selected skill folder: {}", e))?; + + if target.exists() { + let target_canon = target + .canonicalize() + .map_err(|e| format!("Failed to resolve existing skill folder: {}", e))?; + if target_canon == source_canon { + let info = parse_skill_md(&target).ok_or_else(|| { + "Selected skill folder has an unreadable SKILL.md".to_string() + })?; + imported.push(info); + continue; + } + + std::fs::remove_dir_all(&target).map_err(|e| { + format!( + "Failed to replace existing skill {}: {}", + target.display(), + e + ) + })?; + } + + copy_dir_recursive(&skill_dir, &target)?; + let info = parse_skill_md(&target) + .ok_or_else(|| "Imported skill has an unreadable SKILL.md".to_string())?; + imported.push(info); + } + + Ok(imported) +} + /// Ensure the target directory is creatable and writable. /// If creation fails (e.g. ~/.claude is owned by root), prompt for admin password via osascript. fn ensure_target_writable(target: &Path) -> Result<(), String> { @@ -633,7 +781,9 @@ fn ensure_target_writable(target: &Path) -> Result<(), String> { /// Emit a progress log event to the frontend + stderr for terminal debugging. fn emit_log(window: &WebviewWindow, msg: &str) { eprintln!("[skills] {}", msg); - let _ = window.emit("skills-install-log", msg); + let _ = window + .app_handle() + .emit("skills-install-log", msg.to_string()); } async fn install_skills_with_timeout( @@ -691,7 +841,7 @@ async fn install_skills_to( // Download via tarball (faster, no git/git-lfs dependency) emit_log(window, "Downloading skills..."); - download_tarball(&tmp_dir).await.map_err(|e| { + download_tarball(window, &tmp_dir).await.map_err(|e| { emit_log(window, &format!("Download failed: {}", e)); e })?; @@ -733,12 +883,9 @@ pub async fn check_skills_installed(project_path: Option) -> Result 0, @@ -756,14 +903,13 @@ pub async fn list_installed_skills(project_path: Option) -> Result) -> Result Result<(), String> { + if skill_folder.trim().is_empty() { + return Err("Skill folder cannot be empty".into()); + } + + let target = skills_dir(None); + if !target.exists() { + return Err("No global skills directory found".into()); + } + + let target_canon = target + .canonicalize() + .map_err(|e| format!("Failed to resolve global skills directory: {}", e))?; + + let mut skill_dirs = Vec::new(); + collect_skill_dirs(&target, &mut skill_dirs); + let skill_dir = skill_dirs + .into_iter() + .find(|dir| { + dir.file_name() + .and_then(|name| name.to_str()) + .is_some_and(|name| name == skill_folder) + }) + .ok_or_else(|| format!("Skill '{}' is not installed", skill_folder))?; + + let skill_canon = skill_dir + .canonicalize() + .map_err(|e| format!("Failed to resolve skill folder: {}", e))?; + if !skill_canon.starts_with(&target_canon) { + return Err("Refusing to delete a skill outside ~/.claude/skills".into()); + } + + std::fs::remove_dir_all(&skill_canon) + .map_err(|e| format!("Failed to delete skill {}: {}", skill_folder, e))?; + + Ok(()) +} + #[tauri::command] pub async fn uninstall_scientific_skills(project_path: Option) -> Result<(), String> { let target = skills_dir(project_path.as_deref()); @@ -801,11 +986,26 @@ pub async fn get_skill_content( }; for base in &locations { - let skill_md = base.join(&skill_folder).join("SKILL.md"); - if skill_md.exists() { + let skill_dir = base.join(&skill_folder); + if let Some(skill_md) = find_skill_md(&skill_dir) { return std::fs::read_to_string(&skill_md) .map_err(|e| format!("Failed to read SKILL.md: {}", e)); } + + let mut skill_dirs = Vec::new(); + collect_skill_dirs(base, &mut skill_dirs); + for skill_dir in skill_dirs { + if skill_dir + .file_name() + .and_then(|name| name.to_str()) + .is_some_and(|name| name == skill_folder) + { + if let Some(skill_md) = find_skill_md(&skill_dir) { + return std::fs::read_to_string(&skill_md) + .map_err(|e| format!("Failed to read SKILL.md: {}", e)); + } + } + } } // Fallback: fetch from GitHub. The upstream project moved from @@ -853,6 +1053,18 @@ mod tests { assert_eq!(dir, PathBuf::from("/tmp/my-project/.claude/skills")); } + #[test] + fn test_sanitize_skill_folder_name() { + assert_eq!( + sanitize_skill_folder_name("My Local Skill!"), + "my-local-skill" + ); + assert_eq!( + sanitize_skill_folder_name("__Data_Skill-01__"), + "__data_skill-01__" + ); + } + #[test] fn test_skill_categories_count() { let cats = skill_categories(); diff --git a/apps/desktop/src-tauri/src/slash_commands.rs b/apps/desktop/src-tauri/src/slash_commands.rs index 3da5914..89dfea3 100644 --- a/apps/desktop/src-tauri/src/slash_commands.rs +++ b/apps/desktop/src-tauri/src/slash_commands.rs @@ -200,23 +200,16 @@ fn load_skills_from_dir(dir: &Path, scope: &str) -> Vec { return Vec::new(); } - let entries = match fs::read_dir(dir) { - Ok(e) => e, - Err(_) => return Vec::new(), - }; - + let mut skill_dirs = Vec::new(); + collect_skill_dirs(dir, &mut skill_dirs); + skill_dirs.sort(); let mut skills = Vec::new(); + let mut seen_ids = std::collections::HashSet::new(); - for entry in entries.flatten() { - let path = entry.path(); - if !path.is_dir() { + for path in skill_dirs { + let Some(skill_md) = find_skill_md(&path) else { continue; - } - - let skill_md = path.join("SKILL.md"); - if !skill_md.exists() { - continue; - } + }; let content = match fs::read_to_string(&skill_md) { Ok(c) => c, @@ -248,6 +241,9 @@ fn load_skills_from_dir(dir: &Path, scope: &str) -> Vec { .map(|d| d.chars().take(200).collect()); let id = format!("skill-{}", folder_name); + if !seen_ids.insert(id.clone()) { + continue; + } skills.push(SlashCommand { id, @@ -269,6 +265,51 @@ fn load_skills_from_dir(dir: &Path, scope: &str) -> Vec { skills } +fn find_skill_md(skill_dir: &Path) -> Option { + for name in ["SKILL.md", "skill.md"] { + let candidate = skill_dir.join(name); + if candidate.is_file() { + return Some(candidate); + } + } + + let entries = fs::read_dir(skill_dir).ok()?; + for entry in entries.flatten() { + let path = entry.path(); + if path.is_file() + && path + .file_name() + .and_then(|name| name.to_str()) + .is_some_and(|name| name.eq_ignore_ascii_case("SKILL.md")) + { + return Some(path); + } + } + + None +} + +fn collect_skill_dirs(root: &Path, output: &mut Vec) { + if find_skill_md(root).is_some() { + output.push(root.to_path_buf()); + return; + } + + let Ok(entries) = fs::read_dir(root) else { + return; + }; + + for entry in entries.flatten() { + let Ok(file_type) = entry.file_type() else { + continue; + }; + if file_type.is_symlink() || !file_type.is_dir() { + continue; + } + collect_skill_dirs(&entry.path(), output); + } +} + fn create_default_commands() -> Vec { vec![ SlashCommand { diff --git a/apps/desktop/src/components/scientific-skills/install-progress.tsx b/apps/desktop/src/components/scientific-skills/install-progress.tsx index 946a5cf..0b5e49c 100644 --- a/apps/desktop/src/components/scientific-skills/install-progress.tsx +++ b/apps/desktop/src/components/scientific-skills/install-progress.tsx @@ -1,13 +1,13 @@ -import { useEffect, useRef, useState } from "react"; -import { listen } from "@tauri-apps/api/event"; +import { useMemo } from "react"; import { Progress } from "@/components/ui/progress"; -import { ScrollArea } from "@/components/ui/scroll-area"; const PHASE_MAP: Record = { + "Preparing installer": 0, "Checking directory permissions...": 5, "Directory permissions OK": 10, "Git available": 15, "cloning repository": 20, + "Downloading skills": 20, "downloading tarball": 20, "Download complete": 60, "Copying skills": 70, @@ -16,6 +16,18 @@ const PHASE_MAP: Record = { }; function pctFromLog(log: string): number | null { + const downloadMatch = log.match(/^Download progress\s+(\d+)%/i); + if (downloadMatch?.[1]) { + const downloadPct = Math.max(0, Math.min(100, Number(downloadMatch[1]))); + return Math.round(20 + downloadPct * 0.4); + } + + const downloadedMatch = log.match(/^Downloaded\s+(\d+)\s+MiB/i); + if (downloadedMatch?.[1]) { + const mib = Math.max(0, Number(downloadedMatch[1])); + return Math.min(55, 20 + mib); + } + for (const [key, pct] of Object.entries(PHASE_MAP)) { if (log.toLowerCase().includes(key.toLowerCase())) return pct; } @@ -26,37 +38,21 @@ interface InstallProgressProps { isInstalling: boolean; isComplete: boolean; error: string | null; + logs: string[]; } export function InstallProgress({ - isInstalling, isComplete, error, + logs, }: InstallProgressProps) { - const [logs, setLogs] = useState([]); - const [pct, setPct] = useState(0); - const scrollRef = useRef(null); - - useEffect(() => { - if (!isInstalling) return; - const unlisten = listen("skills-install-log", (event) => { - setLogs((prev) => [...prev, event.payload]); - const p = pctFromLog(event.payload); - if (p !== null) setPct(p); - }); - return () => { - unlisten.then((fn) => fn()); - }; - }, [isInstalling]); - - useEffect(() => { - if (isComplete) setPct(100); - }, [isComplete]); - - // Auto-scroll to bottom - useEffect(() => { - scrollRef.current?.scrollTo({ top: scrollRef.current.scrollHeight }); - }, [logs]); + const pct = useMemo(() => { + if (isComplete) return 100; + return logs.reduce((current, line) => { + const next = pctFromLog(line); + return next === null ? current : Math.max(current, next); + }, 0); + }, [isComplete, logs]); const label = isComplete ? "Done" @@ -77,18 +73,6 @@ export function InstallProgress({ {pct}%

- {logs.length > 0 && ( - -
- {logs.map((line, i) => ( -
{line}
- ))} -
-
- )}
); } diff --git a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx index 94bc313..ccf546d 100644 --- a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx +++ b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx @@ -1,5 +1,8 @@ import { useCallback, useEffect, useRef, useState } from "react"; import { invoke } from "@tauri-apps/api/core"; +import { listen } from "@tauri-apps/api/event"; +import { open } from "@tauri-apps/plugin-dialog"; +import { toast } from "sonner"; import { FlaskConicalIcon, DownloadIcon, @@ -10,6 +13,7 @@ import { Trash2Icon, Loader2Icon, ChevronLeftIcon, + FolderPlusIcon, XIcon, } from "lucide-react"; import { @@ -46,6 +50,14 @@ interface SkillsStatus { location: string; } +interface SkillInfo { + id: string; + name: string; + domain: string; + description: string; + folder: string; +} + interface ScientificSkillsOnboardingProps { onClose: () => void; } @@ -57,13 +69,23 @@ export function ScientificSkillsOnboarding({ const [selectedId, setSelectedId] = useState(null); const [isInstalling, setIsInstalling] = useState(false); const [isComplete, setIsComplete] = useState(false); + const [installLogs, setInstallLogs] = useState([]); const [installResult, setInstallResult] = useState( null, ); const [error, setError] = useState(null); const [status, setStatus] = useState(null); + const [installedSkills, setInstalledSkills] = useState([]); const [isUninstalling, setIsUninstalling] = useState(false); + const [isImporting, setIsImporting] = useState(false); + const [confirmUninstallAllOpen, setConfirmUninstallAllOpen] = + useState(false); + const [deleteTarget, setDeleteTarget] = useState(null); + const [deletingSkillFolder, setDeletingSkillFolder] = useState( + null, + ); const mountedRef = useRef(true); + const installBackendLogSeenRef = useRef(false); useEffect(() => { return () => { @@ -71,15 +93,37 @@ export function ScientificSkillsOnboarding({ }; }, []); - // Check global install status + useEffect(() => { + const unlisten = listen("skills-install-log", (event) => { + installBackendLogSeenRef.current = true; + setInstallLogs((previous) => { + const last = previous[previous.length - 1]; + if (last === event.payload) return previous; + return [...previous, event.payload]; + }); + }); + + return () => { + unlisten.then((fn) => fn()); + }; + }, []); + + // Skills are global Claude Code assets under ~/.claude/skills. const checkStatus = useCallback(async () => { try { - const gs = await invoke("check_skills_installed", { - projectPath: null, - }); + const [gs, skills] = await Promise.all([ + invoke("check_skills_installed", { + projectPath: null, + }), + invoke("list_installed_skills", { + projectPath: null, + }), + ]); setStatus(gs); + setInstalledSkills(skills); } catch { setStatus(null); + setInstalledSkills([]); } }, []); @@ -96,29 +140,91 @@ export function ScientificSkillsOnboarding({ .catch(console.error); }, []); - const totalSkills = categories.reduce((sum, c) => sum + c.skill_count, 0); - const selected = categories.find((c) => c.id === selectedId) ?? null; + const knownSkillFolders = new Set( + categories.flatMap((category) => + category.skills.map((skill) => skill.folder), + ), + ); + const importedSkills = installedSkills.filter( + (skill) => !knownSkillFolders.has(skill.folder), + ); + const installedSkillFolders = new Set( + installedSkills.map((skill) => skill.folder), + ); + const displayCategories: SkillCategoryData[] = + importedSkills.length > 0 + ? [ + ...categories, + { + id: "imported", + name: "Imported Skills", + icon: "settings", + skill_count: importedSkills.length, + skills: importedSkills.map((skill) => ({ + name: skill.name, + folder: skill.folder, + })), + }, + ] + : categories; + + const totalSkills = displayCategories.reduce( + (sum, c) => sum + c.skill_count, + 0, + ); + const selected = + displayCategories.find((c) => c.id === selectedId) ?? + displayCategories[0] ?? + null; const isInstalled = status?.installed ?? false; const handleInstall = useCallback(async () => { + installBackendLogSeenRef.current = false; + let noBackendLogTimer: number | undefined; + setInstallLogs(["Preparing installer..."]); setIsInstalling(true); + setIsComplete(false); + setInstallResult(null); setError(null); try { - await new Promise((resolve) => window.setTimeout(resolve, 50)); + noBackendLogTimer = window.setTimeout(() => { + if (installBackendLogSeenRef.current || !mountedRef.current) return; + setInstallLogs((previous) => { + const hasBackendLog = previous.some( + (line) => !line.startsWith("Preparing installer"), + ); + if (hasBackendLog) return previous; + return [ + ...previous, + "Waiting for the installer command to start...", + ]; + }); + }, 2500); + + await new Promise((resolve) => window.setTimeout(resolve, 150)); if (!mountedRef.current) return; const result = await invoke( "install_scientific_skills_global", + {}, ); + if (noBackendLogTimer !== undefined) { + window.clearTimeout(noBackendLogTimer); + } if (!mountedRef.current) return; setInstallResult(result); setIsComplete(true); localStorage.setItem(STORAGE_KEY, "true"); await checkStatus(); } catch (e) { + if (noBackendLogTimer !== undefined) { + window.clearTimeout(noBackendLogTimer); + } if (!mountedRef.current) return; - setError(String(e)); + const message = String(e); + setInstallLogs((previous) => [...previous, message]); + setError(message); setIsInstalling(false); } }, [checkStatus]); @@ -126,7 +232,9 @@ export function ScientificSkillsOnboarding({ const handleUninstall = useCallback(async () => { setIsUninstalling(true); try { - await invoke("uninstall_scientific_skills", { projectPath: null }); + await invoke("uninstall_scientific_skills", { + projectPath: null, + }); await checkStatus(); const gsAfter = await invoke("check_skills_installed", { projectPath: null, @@ -134,13 +242,71 @@ export function ScientificSkillsOnboarding({ if (!gsAfter.installed) { localStorage.removeItem(STORAGE_KEY); } + toast.success("All skills uninstalled"); } catch (e) { console.error("Failed to uninstall:", e); + toast.error("Failed to uninstall skills", { + description: String(e), + }); } finally { setIsUninstalling(false); } }, [checkStatus]); + const handleImportSkill = useCallback(async () => { + setIsImporting(true); + try { + const selectedFolder = await open({ + directory: true, + multiple: false, + title: "Import Claude Skill Folder", + }); + + if (typeof selectedFolder !== "string") return; + + const skills = await invoke("import_skill_from_folder", { + sourcePath: selectedFolder, + }); + + localStorage.setItem(STORAGE_KEY, "true"); + await checkStatus(); + setSelectedId("imported"); + toast.success("Skill imported", { + description: + skills.length === 1 + ? skills[0]?.name + : `${skills.length} skills imported`, + }); + } catch (e) { + toast.error("Failed to import skill", { + description: String(e), + }); + } finally { + setIsImporting(false); + } + }, [checkStatus]); + + const handleConfirmDeleteSkill = useCallback(async () => { + if (!deleteTarget) return; + setDeletingSkillFolder(deleteTarget.folder); + try { + await invoke("delete_installed_skill", { + skillFolder: deleteTarget.folder, + }); + toast.success("Skill deleted", { + description: deleteTarget.name, + }); + setDeleteTarget(null); + await checkStatus(); + } catch (e) { + toast.error("Failed to delete skill", { + description: String(e), + }); + } finally { + setDeletingSkillFolder(null); + } + }, [checkStatus, deleteTarget]); + // ─── Installing / Complete state ─── if (isInstalling || isComplete) { return ( @@ -150,7 +316,10 @@ export function ScientificSkillsOnboarding({ if (!open) onClose(); }} > - +
)} +
@@ -296,10 +482,10 @@ export function ScientificSkillsOnboarding({ {/* Body — sidebar + detail */}
{/* Category sidebar */} -
@@ -498,16 +797,44 @@ function CategoryDetail({ Skills
- {category.skills.map((skill) => ( - - ))} + {category.skills.map((skill) => { + const canDelete = installedSkillFolders.has(skill.folder); + const isDeleting = deletingSkillFolder === skill.folder; + return ( +
+ + {canDelete && ( + + )} +
+ ); + })}
diff --git a/apps/desktop/src/components/workspace/sidebar.tsx b/apps/desktop/src/components/workspace/sidebar.tsx index 4ef2c2a..b5de39c 100644 --- a/apps/desktop/src/components/workspace/sidebar.tsx +++ b/apps/desktop/src/components/workspace/sidebar.tsx @@ -1767,7 +1767,11 @@ interface SkillsStatus { location: string; } -function EnvironmentSection({ projectPath }: { projectPath: string | null }) { +function EnvironmentSection({ + projectPath: _projectPath, +}: { + projectPath: string | null; +}) { // ── Python / uv ── const venvReady = useUvSetupStore((s) => s.venvReady); const uvStatus = useUvSetupStore((s) => s.status); @@ -1785,25 +1789,11 @@ function EnvironmentSection({ projectPath }: { projectPath: string | null }) { projectPath: null, }, ); - if (globalStatus.installed) { - setSkillsStatus(globalStatus); - return; - } - if (projectPath) { - const projectStatus = await invoke( - "check_skills_installed", - { - projectPath, - }, - ); - setSkillsStatus(projectStatus); - } else { - setSkillsStatus(globalStatus); - } + setSkillsStatus(globalStatus); } catch { // Ignore errors silently } - }, [projectPath]); + }, []); useEffect(() => { checkSkillsStatus(); From 69b5e960e881ffa623829c847fc708b4bc2bf9e4 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sat, 13 Jun 2026 15:34:17 +0800 Subject: [PATCH 109/118] feat: enhance skills downloading and proxy configuration --- apps/desktop/src-tauri/Cargo.lock | 60 +- apps/desktop/src-tauri/Cargo.toml | 2 +- apps/desktop/src-tauri/src/skills.rs | 744 ++++++++++++++++-- .../scientific-skills-onboarding.tsx | 301 +++---- 4 files changed, 868 insertions(+), 239 deletions(-) diff --git a/apps/desktop/src-tauri/Cargo.lock b/apps/desktop/src-tauri/Cargo.lock index 4f07585..464958a 100644 --- a/apps/desktop/src-tauri/Cargo.lock +++ b/apps/desktop/src-tauri/Cargo.lock @@ -2172,9 +2172,11 @@ dependencies = [ "percent-encoding", "pin-project-lite", "socket2 0.5.10", + "system-configuration 0.7.0", "tokio", "tower-service", "tracing", + "windows-registry", ] [[package]] @@ -4054,7 +4056,7 @@ dependencies = [ "serde_json", "serde_urlencoded", "sync_wrapper 0.1.2", - "system-configuration", + "system-configuration 0.5.1", "tokio", "tokio-native-tls", "tower-service", @@ -4968,7 +4970,18 @@ checksum = "ba3a3adc5c275d719af8cb4272ea1c4a6d668a777f37e115f6d11ddbc1c8e0e7" dependencies = [ "bitflags 1.3.2", "core-foundation 0.9.4", - "system-configuration-sys", + "system-configuration-sys 0.5.0", +] + +[[package]] +name = "system-configuration" +version = "0.7.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "a13f3d0daba03132c0aa9767f98351b3488edc2c100cda2d2ec2b04f3d8d3c8b" +dependencies = [ + "bitflags 2.13.0", + "core-foundation 0.9.4", + "system-configuration-sys 0.6.0", ] [[package]] @@ -4981,6 +4994,16 @@ dependencies = [ "libc", ] +[[package]] +name = "system-configuration-sys" +version = "0.6.0" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "8e1d1b10ced5ca923a1fcb8d03e96b8d3268065d724548c0211415ff6ac6bac4" +dependencies = [ + "core-foundation-sys", + "libc", +] + [[package]] name = "system-deps" version = "6.2.2" @@ -6876,8 +6899,8 @@ dependencies = [ "windows-implement", "windows-interface", "windows-link 0.1.3", - "windows-result", - "windows-strings", + "windows-result 0.3.4", + "windows-strings 0.4.2", ] [[package]] @@ -6935,6 +6958,17 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-registry" +version = "0.6.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "02752bf7fbdcce7f2a27a742f798510f3e5ad88dbe84871e5168e2120c3d5720" +dependencies = [ + "windows-link 0.2.1", + "windows-result 0.4.1", + "windows-strings 0.5.1", +] + [[package]] name = "windows-result" version = "0.3.4" @@ -6944,6 +6978,15 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-result" +version = "0.4.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7781fa89eaf60850ac3d2da7af8e5242a5ea78d1a11c49bf2910bb5a73853eb5" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-strings" version = "0.4.2" @@ -6953,6 +6996,15 @@ dependencies = [ "windows-link 0.1.3", ] +[[package]] +name = "windows-strings" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "7837d08f69c77cf6b07689544538e017c1bfcf57e34b4c0ff58e6c2cd3b37091" +dependencies = [ + "windows-link 0.2.1", +] + [[package]] name = "windows-sys" version = "0.45.0" diff --git a/apps/desktop/src-tauri/Cargo.toml b/apps/desktop/src-tauri/Cargo.toml index 5543430..3510b84 100644 --- a/apps/desktop/src-tauri/Cargo.toml +++ b/apps/desktop/src-tauri/Cargo.toml @@ -23,7 +23,7 @@ serde_json = "1" serde_yaml = "0.9" tokio = { version = "1", features = ["full"] } dirs = "5" -reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream"] } +reqwest = { version = "0.12", default-features = false, features = ["rustls-tls", "stream", "system-proxy", "socks"] } hmac = "0.12" sha1 = "0.10" base64 = "0.22" diff --git a/apps/desktop/src-tauri/src/skills.rs b/apps/desktop/src-tauri/src/skills.rs index 3ff415e..aa7fae5 100644 --- a/apps/desktop/src-tauri/src/skills.rs +++ b/apps/desktop/src-tauri/src/skills.rs @@ -1,12 +1,18 @@ use serde::{Deserialize, Serialize}; use std::path::{Path, PathBuf}; +use std::time::Duration; use tauri::{Emitter, Manager, WebviewWindow}; -const TARBALL_URL: &str = - "https://github.com/K-Dense-AI/scientific-agent-skills/archive/refs/heads/main.tar.gz"; -const SKILLS_DOWNLOAD_TIMEOUT_SECS: u64 = 120; +const TARBALL_URLS: &[&str] = &[ + "https://github.com/K-Dense-AI/scientific-agent-skills/archive/refs/heads/main.tar.gz", + "https://codeload.github.com/K-Dense-AI/scientific-agent-skills/tar.gz/refs/heads/main", + "https://github.com/K-Dense-AI/claude-scientific-skills/archive/refs/heads/main.tar.gz", +]; +const SKILLS_DOWNLOAD_ATTEMPTS: usize = 3; +const SKILLS_DOWNLOAD_TIMEOUT_SECS: u64 = 240; const SKILLS_CONNECT_TIMEOUT_SECS: u64 = 20; -const SKILLS_INSTALL_TIMEOUT_SECS: u64 = 180; +const SKILLS_INSTALL_TIMEOUT_SECS: u64 = 420; +const SKILL_CONTENT_TIMEOUT_SECS: u64 = 45; const RAW_SKILL_URLS: &[&str] = &[ "https://raw.githubusercontent.com/K-Dense-AI/scientific-agent-skills/main/skills", "https://raw.githubusercontent.com/K-Dense-AI/claude-scientific-skills/main/scientific-skills", @@ -423,24 +429,404 @@ fn collect_skill_dirs(root: &Path, output: &mut Vec) { } } -/// Download and extract tarball. -async fn download_tarball(window: &WebviewWindow, tmp_dir: &Path) -> Result<(), String> { - let client = reqwest::Client::builder() - .connect_timeout(std::time::Duration::from_secs(SKILLS_CONNECT_TIMEOUT_SECS)) - .timeout(std::time::Duration::from_secs(SKILLS_DOWNLOAD_TIMEOUT_SECS)) +#[derive(Clone, Copy, Debug, PartialEq, Eq)] +enum ProxyKind { + All, + Http, + Https, +} + +struct ProxyRule { + kind: ProxyKind, + url: String, + source: String, +} + +fn first_env_value(names: &[&str]) -> Option<(String, String)> { + for name in names { + let Ok(value) = std::env::var(name) else { + continue; + }; + let trimmed = value.trim(); + if !trimmed.is_empty() { + return Some(((*name).to_string(), trimmed.to_string())); + } + } + + None +} + +fn normalize_proxy_url(raw: &str) -> Option { + normalize_proxy_url_with_default(raw, "http") +} + +fn normalize_proxy_url_with_default(raw: &str, default_scheme: &str) -> Option { + let trimmed = raw.trim(); + if trimmed.is_empty() { + return None; + } + + if trimmed.contains("://") { + Some(trimmed.to_string()) + } else { + Some(format!("{}://{}", default_scheme, trimmed)) + } +} + +fn explicit_env_proxy_rules() -> Vec { + let mut rules = Vec::new(); + let mut has_https_proxy = false; + let mut has_all_proxy = false; + let mut http_proxy = None; + + if let Some((source, raw)) = first_env_value(&["HTTPS_PROXY", "https_proxy"]) { + if let Some(url) = normalize_proxy_url(&raw) { + rules.push(ProxyRule { + kind: ProxyKind::Https, + url, + source, + }); + has_https_proxy = true; + } + } + + if let Some((source, raw)) = first_env_value(&["HTTP_PROXY", "http_proxy"]) { + if let Some(url) = normalize_proxy_url(&raw) { + http_proxy = Some((source.clone(), url.clone())); + rules.push(ProxyRule { + kind: ProxyKind::Http, + url, + source, + }); + } + } + + if let Some((source, raw)) = first_env_value(&["ALL_PROXY", "all_proxy"]) { + if let Some(url) = normalize_proxy_url(&raw) { + rules.push(ProxyRule { + kind: ProxyKind::All, + url, + source, + }); + has_all_proxy = true; + } + } + + if !has_https_proxy && !has_all_proxy { + if let Some((source, url)) = http_proxy { + rules.insert( + 0, + ProxyRule { + kind: ProxyKind::Https, + url, + source: format!("{} (HTTPS fallback)", source), + }, + ); + } + } + + rules +} + +#[cfg(target_os = "windows")] +fn windows_proxy_override_to_no_proxy(raw: &str) -> Option { + let entries = raw + .split([';', ',']) + .filter_map(|part| { + let trimmed = part.trim(); + if trimmed.is_empty() { + return None; + } + + if trimmed.eq_ignore_ascii_case("") { + return Some("localhost,127.0.0.1,::1".to_string()); + } + + if trimmed == "*" { + return Some(trimmed.to_string()); + } + + if trimmed.contains('*') { + return trimmed + .strip_prefix("*.") + .map(|domain| format!(".{}", domain.trim_start_matches('.'))); + } + + Some(trimmed.to_string()) + }) + .collect::>(); + + if entries.is_empty() { + None + } else { + reqwest::NoProxy::from_string(&entries.join(",")) + } +} + +#[cfg(target_os = "windows")] +fn windows_system_no_proxy() -> Option { + use winreg::enums::HKEY_CURRENT_USER; + use winreg::RegKey; + + let settings = RegKey::predef(HKEY_CURRENT_USER) + .open_subkey(r"Software\Microsoft\Windows\CurrentVersion\Internet Settings") + .ok()?; + let raw = settings.get_value::("ProxyOverride").ok()?; + windows_proxy_override_to_no_proxy(&raw) +} + +#[cfg(target_os = "windows")] +fn parse_windows_proxy_server(raw: &str) -> Vec { + let trimmed = raw.trim(); + if trimmed.is_empty() { + return Vec::new(); + } + + if !trimmed.contains('=') { + return normalize_proxy_url(trimmed) + .map(|url| { + vec![ProxyRule { + kind: ProxyKind::All, + url, + source: "Windows system proxy".to_string(), + }] + }) + .unwrap_or_default(); + } + + let mut rules = Vec::new(); + for entry in trimmed.split(';') { + let Some((scheme, value)) = entry.split_once('=') else { + continue; + }; + let scheme = scheme.trim(); + let (kind, default_proxy_scheme) = match scheme.to_ascii_lowercase().as_str() { + "http" => (ProxyKind::Http, "http"), + "https" => (ProxyKind::Https, "http"), + "socks" | "socks5" => (ProxyKind::All, "socks5"), + "socks4" => (ProxyKind::All, "socks4"), + _ => continue, + }; + let Some(url) = normalize_proxy_url_with_default(value, default_proxy_scheme) else { + continue; + }; + + rules.push(ProxyRule { + kind, + url, + source: format!("Windows system proxy ({})", scheme.trim()), + }); + } + + rules +} + +#[cfg(target_os = "windows")] +fn windows_system_proxy_rules() -> Vec { + use winreg::enums::HKEY_CURRENT_USER; + use winreg::RegKey; + + let Ok(settings) = RegKey::predef(HKEY_CURRENT_USER) + .open_subkey(r"Software\Microsoft\Windows\CurrentVersion\Internet Settings") + else { + return Vec::new(); + }; + + let proxy_enabled = settings.get_value::("ProxyEnable").unwrap_or(0) != 0; + if !proxy_enabled { + return Vec::new(); + } + + settings + .get_value::("ProxyServer") + .map(|raw| parse_windows_proxy_server(&raw)) + .unwrap_or_default() +} + +#[cfg(not(target_os = "windows"))] +fn windows_system_proxy_rules() -> Vec { + Vec::new() +} + +#[cfg(not(target_os = "windows"))] +fn windows_system_no_proxy() -> Option { + None +} + +fn redacted_proxy_url(url: &str) -> String { + let Ok(mut parsed) = reqwest::Url::parse(url) else { + return "".to_string(); + }; + + if !parsed.username().is_empty() { + let _ = parsed.set_username("***"); + if parsed.password().is_some() { + let _ = parsed.set_password(Some("***")); + } + } + + parsed.to_string() +} + +fn add_proxy_rule( + builder: reqwest::ClientBuilder, + rule: &ProxyRule, + no_proxy: Option, +) -> Result { + let proxy = match rule.kind { + ProxyKind::All => reqwest::Proxy::all(&rule.url), + ProxyKind::Http => reqwest::Proxy::http(&rule.url), + ProxyKind::Https => reqwest::Proxy::https(&rule.url), + } + .map_err(|e| { + format!( + "Invalid proxy from {} ({}): {}", + rule.source, + redacted_proxy_url(&rule.url), + e + ) + })?; + + let proxy = proxy.no_proxy(no_proxy); + Ok(builder.proxy(proxy)) +} + +fn configure_proxy_for_client( + mut builder: reqwest::ClientBuilder, + window: Option<&WebviewWindow>, +) -> Result { + let mut rules = explicit_env_proxy_rules(); + let mut no_proxy = reqwest::NoProxy::from_env(); + + if rules.is_empty() { + let windows_rules = windows_system_proxy_rules(); + if !windows_rules.is_empty() { + rules = windows_rules; + no_proxy = windows_system_no_proxy(); + } + } + + if rules.is_empty() { + if let Some(window) = window { + emit_log(window, "Using system proxy settings when available"); + } + return Ok(builder); + } + + if let Some(window) = window { + for rule in &rules { + emit_log( + window, + &format!( + "Using proxy from {}: {}", + rule.source, + redacted_proxy_url(&rule.url) + ), + ); + } + } + + for rule in &rules { + builder = add_proxy_rule(builder, rule, no_proxy.clone())?; + } + + Ok(builder) +} + +fn build_skills_http_client( + timeout_secs: u64, + window: Option<&WebviewWindow>, +) -> Result { + let builder = reqwest::Client::builder() + .connect_timeout(Duration::from_secs(SKILLS_CONNECT_TIMEOUT_SECS)) + .timeout(Duration::from_secs(timeout_secs)); + + configure_proxy_for_client(builder, window)? .build() - .map_err(|e| format!("Failed to create download client: {}", e))?; + .map_err(|e| format!("Failed to create download client: {}", e)) +} + +fn tarball_source_label(url: &str) -> &'static str { + if url.contains("codeload.github.com") { + "GitHub codeload" + } else if url.contains("claude-scientific-skills") { + "legacy GitHub archive" + } else { + "GitHub archive" + } +} + +fn reset_download_workspace(tmp_dir: &Path) { + let _ = std::fs::remove_dir_all(tmp_dir.join("repo")); + let _ = std::fs::remove_dir_all(tmp_dir.join("repo-raw")); +} + +fn find_extracted_repo_dir(raw_dir: &Path) -> Option { + let mut candidates = Vec::new(); + let entries = std::fs::read_dir(raw_dir).ok()?; + + for entry in entries.flatten() { + let path = entry.path(); + if path.is_dir() { + candidates.push(path); + } + } + candidates.sort(); + + for candidate in &candidates { + if find_skills_source(candidate).is_some() { + return Some(candidate.clone()); + } + } + + candidates.into_iter().next() +} + +fn unpack_tarball(bytes: &[u8], tmp_dir: &Path) -> Result<(), String> { + reset_download_workspace(tmp_dir); + + let raw_dir = tmp_dir.join("repo-raw"); + std::fs::create_dir_all(&raw_dir) + .map_err(|e| format!("Failed to create extraction dir: {}", e))?; + + let decoder = flate2::read::GzDecoder::new(bytes); + let mut archive = tar::Archive::new(decoder); + + archive + .unpack(&raw_dir) + .map_err(|e| format!("Failed to extract tarball: {}", e))?; + + let repo_source = find_extracted_repo_dir(&raw_dir) + .ok_or_else(|| "Downloaded tarball did not contain a repository directory".to_string())?; + + std::fs::rename(&repo_source, tmp_dir.join("repo")) + .map_err(|e| format!("Failed to prepare extracted repo: {}", e))?; + + let _ = std::fs::remove_dir_all(&raw_dir); + Ok(()) +} + +async fn download_tarball_once( + client: &reqwest::Client, + window: &WebviewWindow, + tmp_dir: &Path, + url: &str, +) -> Result<(), String> { + reset_download_workspace(tmp_dir); + + let source_label = tarball_source_label(url); + emit_log(window, &format!("Downloading from {}...", source_label)); let mut response = client - .get(TARBALL_URL) + .get(url) .header(reqwest::header::USER_AGENT, "ClaudePrism skills installer") .send() .await - .map_err(|e| format!("Failed to download tarball: {}", e))?; + .map_err(|e| format!("Failed to start download: {}", e))?; if !response.status().is_success() { return Err(format!( - "Tarball download failed with status: {}", + "Download failed with status: {}", response.status() )); } @@ -454,7 +840,7 @@ async fn download_tarball(window: &WebviewWindow, tmp_dir: &Path) -> Result<(), while let Some(chunk) = response .chunk() .await - .map_err(|e| format!("Failed to read tarball bytes: {}", e))? + .map_err(|e| format!("Failed to read download bytes: {}", e))? { downloaded += chunk.len() as u64; bytes.extend_from_slice(&chunk); @@ -473,28 +859,48 @@ async fn download_tarball(window: &WebviewWindow, tmp_dir: &Path) -> Result<(), } } - // Decompress gzip - let decoder = flate2::read::GzDecoder::new(&bytes[..]); - let mut archive = tar::Archive::new(decoder); + unpack_tarball(&bytes, tmp_dir) +} - archive - .unpack(tmp_dir.join("repo-raw")) - .map_err(|e| format!("Failed to extract tarball: {}", e))?; +/// Download and extract tarball. +async fn download_tarball(window: &WebviewWindow, tmp_dir: &Path) -> Result<(), String> { + let client = build_skills_http_client(SKILLS_DOWNLOAD_TIMEOUT_SECS, Some(window))?; - // The tarball extracts to scientific-agent-skills-main/ - // We need to find it and rename to repo/ - let raw_dir = tmp_dir.join("repo-raw"); - if let Ok(mut entries) = std::fs::read_dir(&raw_dir) { - if let Some(Ok(entry)) = entries.next() { - std::fs::rename(entry.path(), tmp_dir.join("repo")) - .map_err(|e| format!("Failed to rename extracted dir: {}", e))?; + let mut last_error = None; + for attempt in 1..=SKILLS_DOWNLOAD_ATTEMPTS { + for url in TARBALL_URLS { + let label = tarball_source_label(url); + emit_log( + window, + &format!( + "Download attempt {}/{} ({})", + attempt, SKILLS_DOWNLOAD_ATTEMPTS, label + ), + ); + + match download_tarball_once(&client, window, tmp_dir, url).await { + Ok(()) => return Ok(()), + Err(e) => { + let message = format!("{} failed: {}", label, e); + emit_log(window, &message); + last_error = Some(message); + reset_download_workspace(tmp_dir); + } + } + } + + if attempt < SKILLS_DOWNLOAD_ATTEMPTS { + let delay_secs = attempt as u64 * 2; + emit_log(window, &format!("Retrying in {} seconds...", delay_secs)); + tokio::time::sleep(Duration::from_secs(delay_secs)).await; } } - // Clean up the raw extraction directory - let _ = std::fs::remove_dir_all(&raw_dir); - - Ok(()) + Err(format!( + "Failed to download skills after {} attempts. Last error: {}", + SKILLS_DOWNLOAD_ATTEMPTS, + last_error.unwrap_or_else(|| "unknown download error".to_string()) + )) } fn contains_skill_dirs(path: &Path) -> bool { @@ -526,6 +932,81 @@ fn find_skills_source(repo_dir: &Path) -> Option { None } +fn skills_staging_dir(target_dir: &Path) -> PathBuf { + let parent = target_dir + .parent() + .map(Path::to_path_buf) + .unwrap_or_else(|| PathBuf::from(".")); + let target_name = target_dir + .file_name() + .and_then(|name| name.to_str()) + .unwrap_or("skills"); + + parent.join(format!( + ".{}-installing-{}", + target_name, + uuid::Uuid::new_v4().simple() + )) +} + +fn hidden_sibling_path(path: &Path, label: &str) -> PathBuf { + let parent = path + .parent() + .map(Path::to_path_buf) + .unwrap_or_else(|| PathBuf::from(".")); + let name = path + .file_name() + .and_then(|name| name.to_str()) + .unwrap_or("skill"); + + parent.join(format!( + ".{}-{}-{}", + name, + label, + uuid::Uuid::new_v4().simple() + )) +} + +fn replace_dir_from_staging(staged: &Path, target: &Path) -> Result<(), String> { + let backup = hidden_sibling_path(target, "backup"); + let had_existing = target.exists(); + + if had_existing { + std::fs::rename(target, &backup).map_err(|e| { + format!( + "Failed to prepare replacement for {}: {}", + target.display(), + e + ) + })?; + } + + match std::fs::rename(staged, target) { + Ok(()) => { + if had_existing { + let _ = std::fs::remove_dir_all(&backup); + } + Ok(()) + } + Err(e) => { + let restore_error = if had_existing { + std::fs::rename(&backup, target) + .err() + .map(|restore| format!(" Restore also failed: {}", restore)) + } else { + None + }; + + Err(format!( + "Failed to install {}: {}{}", + target.display(), + e, + restore_error.unwrap_or_default() + )) + } + } +} + /// Copy the skills directory from the downloaded repo to the target. fn copy_skills(repo_dir: &Path, target_dir: &Path) -> Result { let src = find_skills_source(repo_dir).ok_or_else(|| { @@ -539,26 +1020,60 @@ fn copy_skills(repo_dir: &Path, target_dir: &Path) -> Result { std::fs::create_dir_all(target_dir) .map_err(|e| format!("Failed to create target dir: {}", e))?; - let mut count = 0; - let mut skill_dirs = Vec::new(); collect_skill_dirs(&src, &mut skill_dirs); skill_dirs.sort(); - for entry_path in skill_dirs { - let Some(skill_name) = entry_path.file_name().and_then(|name| name.to_str()) else { - continue; - }; - let target_skill = target_dir.join(skill_name); - if target_skill.exists() { - std::fs::remove_dir_all(&target_skill) - .map_err(|e| format!("Failed to replace {}: {}", target_skill.display(), e))?; - } - copy_dir_recursive(&entry_path, &target_skill)?; - count += 1; + if skill_dirs.is_empty() { + return Err("No skills found in downloaded repository".into()); } - Ok(count) + let staging_dir = skills_staging_dir(target_dir); + std::fs::create_dir_all(&staging_dir) + .map_err(|e| format!("Failed to create staging dir: {}", e))?; + + let mut staged_names = Vec::new(); + let stage_result = (|| -> Result<(), String> { + for entry_path in &skill_dirs { + let Some(skill_name) = entry_path.file_name().and_then(|name| name.to_str()) else { + continue; + }; + + let staged_skill = staging_dir.join(skill_name); + copy_dir_recursive(entry_path, &staged_skill)?; + staged_names.push(skill_name.to_string()); + } + + Ok(()) + })(); + + if let Err(e) = stage_result { + let _ = std::fs::remove_dir_all(&staging_dir); + return Err(e); + } + + let replace_result = (|| -> Result { + let mut count = 0; + for skill_name in staged_names { + let staged_skill = staging_dir.join(&skill_name); + let target_skill = target_dir.join(&skill_name); + + replace_dir_from_staging(&staged_skill, &target_skill).map_err(|e| { + format!( + "Failed to replace {} with staged skill {}: {}", + target_skill.display(), + skill_name, + e + ) + })?; + count += 1; + } + + Ok(count) + })(); + + let _ = std::fs::remove_dir_all(&staging_dir); + replace_result } /// Recursively copy a directory. @@ -839,36 +1354,43 @@ async fn install_skills_to( msg })?; - // Download via tarball (faster, no git/git-lfs dependency) - emit_log(window, "Downloading skills..."); - download_tarball(window, &tmp_dir).await.map_err(|e| { - emit_log(window, &format!("Download failed: {}", e)); - e - })?; - emit_log(window, "Download complete"); + let result = async { + // Download via tarball (faster, no git/git-lfs dependency) + emit_log(window, "Downloading skills..."); + download_tarball(window, &tmp_dir).await.map_err(|e| { + emit_log(window, &format!("Download failed: {}", e)); + e + })?; + emit_log(window, "Download complete"); - let repo_dir = tmp_dir.join("repo"); + let repo_dir = tmp_dir.join("repo"); - // Copy skills to target directory - emit_log(window, "Copying skills..."); - let count = copy_skills(&repo_dir, target).map_err(|e| { - emit_log(window, &format!("Copy failed: {}", e)); - e - })?; - emit_log(window, &format!("Copied {} skills", count)); + // Copy skills to target directory + emit_log(window, "Copying skills..."); + let count = copy_skills(&repo_dir, target).map_err(|e| { + emit_log(window, &format!("Copy failed: {}", e)); + e + })?; + emit_log(window, &format!("Copied {} skills", count)); - // Clean up temp directory - let _ = std::fs::remove_dir_all(&tmp_dir); - emit_log(window, "Cleanup complete"); + let target_str = target.to_string_lossy().to_string(); - let target_str = target.to_string_lossy().to_string(); + Ok(InstallResult { + success: true, + skills_installed: count, + target_dir: target_str.clone(), + message: format!("Successfully installed {} skills to {}", count, target_str), + }) + } + .await; - Ok(InstallResult { - success: true, - skills_installed: count, - target_dir: target_str.clone(), - message: format!("Successfully installed {} skills to {}", count, target_str), - }) + match std::fs::remove_dir_all(&tmp_dir) { + Ok(_) => emit_log(window, "Cleanup complete"), + Err(e) if tmp_dir.exists() => emit_log(window, &format!("Cleanup failed: {}", e)), + Err(_) => {} + } + + result } #[tauri::command] @@ -1010,27 +1532,44 @@ pub async fn get_skill_content( // Fallback: fetch from GitHub. The upstream project moved from // claude-scientific-skills/scientific-skills to scientific-agent-skills/skills. - let mut last_status = None; + let client = build_skills_http_client(SKILL_CONTENT_TIMEOUT_SECS, None) + .map_err(|e| format!("Failed to create GitHub client: {}", e))?; + + let mut last_error = None; for base_url in RAW_SKILL_URLS { - let url = format!("{}/{}/SKILL.md", base_url, skill_folder); - let response = reqwest::get(&url) - .await - .map_err(|e| format!("Failed to fetch from GitHub: {}", e))?; - - if response.status().is_success() { - return response - .text() + for skill_file in ["SKILL.md", "skill.md"] { + let url = format!("{}/{}/{}", base_url, skill_folder, skill_file); + let response = match client + .get(&url) + .header(reqwest::header::USER_AGENT, "ClaudePrism skills viewer") + .send() .await - .map_err(|e| format!("Failed to read response: {}", e)); - } + { + Ok(response) => response, + Err(e) => { + last_error = Some(format!("{}: {}", url, e)); + continue; + } + }; - last_status = Some(response.status().to_string()); + if response.status().is_success() { + match response.text().await { + Ok(text) => return Ok(text), + Err(e) => { + last_error = Some(format!("{}: failed to read response: {}", url, e)); + continue; + } + } + } + + last_error = Some(format!("{}: HTTP {}", url, response.status())); + } } Err(format!( - "Skill '{}' not found (HTTP {})", + "Skill '{}' not found. Last error: {}", skill_folder, - last_status.unwrap_or_else(|| "unknown".to_string()) + last_error.unwrap_or_else(|| "unknown".to_string()) )) } @@ -1065,6 +1604,43 @@ mod tests { ); } + #[test] + fn test_normalize_proxy_url_defaults_to_http() { + assert_eq!( + normalize_proxy_url("127.0.0.1:7890"), + Some("http://127.0.0.1:7890".to_string()) + ); + assert_eq!( + normalize_proxy_url("socks5://127.0.0.1:7891"), + Some("socks5://127.0.0.1:7891".to_string()) + ); + assert_eq!(normalize_proxy_url(" "), None); + } + + #[cfg(target_os = "windows")] + #[test] + fn test_parse_windows_proxy_server_single_proxy() { + let rules = parse_windows_proxy_server("127.0.0.1:7890"); + assert_eq!(rules.len(), 1); + assert_eq!(rules[0].kind, ProxyKind::All); + assert_eq!(rules[0].url, "http://127.0.0.1:7890"); + } + + #[cfg(target_os = "windows")] + #[test] + fn test_parse_windows_proxy_server_per_scheme_proxy() { + let rules = parse_windows_proxy_server( + "http=127.0.0.1:7890;https=127.0.0.1:7890;socks=127.0.0.1:7891", + ); + assert_eq!(rules.len(), 3); + assert_eq!(rules[0].kind, ProxyKind::Http); + assert_eq!(rules[0].url, "http://127.0.0.1:7890"); + assert_eq!(rules[1].kind, ProxyKind::Https); + assert_eq!(rules[1].url, "http://127.0.0.1:7890"); + assert_eq!(rules[2].kind, ProxyKind::All); + assert_eq!(rules[2].url, "socks5://127.0.0.1:7891"); + } + #[test] fn test_skill_categories_count() { let cats = skill_categories(); diff --git a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx index ccf546d..1d9a560 100644 --- a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx +++ b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx @@ -78,8 +78,7 @@ export function ScientificSkillsOnboarding({ const [installedSkills, setInstalledSkills] = useState([]); const [isUninstalling, setIsUninstalling] = useState(false); const [isImporting, setIsImporting] = useState(false); - const [confirmUninstallAllOpen, setConfirmUninstallAllOpen] = - useState(false); + const [confirmUninstallAllOpen, setConfirmUninstallAllOpen] = useState(false); const [deleteTarget, setDeleteTarget] = useState(null); const [deletingSkillFolder, setDeletingSkillFolder] = useState( null, @@ -195,10 +194,7 @@ export function ScientificSkillsOnboarding({ (line) => !line.startsWith("Preparing installer"), ); if (hasBackendLog) return previous; - return [ - ...previous, - "Waiting for the installer command to start...", - ]; + return [...previous, "Waiting for the installer command to start..."]; }); }, 2500); @@ -308,7 +304,7 @@ export function ScientificSkillsOnboarding({ }, [checkStatus, deleteTarget]); // ─── Installing / Complete state ─── - if (isInstalling || isComplete) { + if (isInstalling || isComplete || error) { return ( {isComplete ? ( + ) : error ? ( + ) : ( )} - {isComplete ? "Installation Complete" : "Installing Skills"} + {isComplete + ? "Installation Complete" + : error + ? "Installation Failed" + : "Installing Skills"} {isComplete && ( @@ -370,10 +372,7 @@ export function ScientificSkillsOnboarding({
- - - ) : ( - - )} - -
-
- - - {/* Body — sidebar + detail */} -
- {/* Category sidebar */} - +
+ {isInstalled ? ( + <> + + + {status?.skill_count} installed + + + + + ) : ( + + )} + +
+
+ - {/* Detail panel */} -
- {selected ? ( - -
- + {/* Body — sidebar + detail */} +
+ {/* Category sidebar */} +
-
+ - {/* Footer */} -
-

- {status?.location ?? "~/.claude/skills/"} -

- -
+ {/* Detail panel */} +
+ {selected ? ( + +
+ +
+
+ ) : ( +
+ Select a category +
+ )} +
+
+ + {/* Footer */} +
+

+ {status?.location ?? "~/.claude/skills/"} +

+ +
@@ -558,8 +559,8 @@ export function ScientificSkillsOnboarding({ Delete Skill - Delete {deleteTarget?.name ?? "this skill"} from - ~/.claude/skills. This cannot be undone. + Delete {deleteTarget?.name ?? "this skill"} from ~/.claude/skills. + This cannot be undone.
@@ -823,7 +824,7 @@ function CategoryDetail({ event.stopPropagation(); onDeleteSkill(skill); }} - className="mr-1 flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-70 transition-colors hover:bg-destructive/10 hover:text-destructive group-hover:opacity-100 disabled:opacity-50" + className="mr-1 flex size-7 shrink-0 items-center justify-center rounded-md text-muted-foreground opacity-70 transition-colors hover:bg-destructive/10 hover:text-destructive disabled:opacity-50 group-hover:opacity-100" > {isDeleting ? ( From 0f5eec56ba3feb33a075301fc52ea1ba32a758d1 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sat, 13 Jun 2026 19:30:09 +0800 Subject: [PATCH 110/118] Add workspace layout controls --- .../src/components/workspace/sidebar.tsx | 1172 ++++++++++------- .../components/workspace/workspace-layout.tsx | 228 +++- 2 files changed, 915 insertions(+), 485 deletions(-) diff --git a/apps/desktop/src/components/workspace/sidebar.tsx b/apps/desktop/src/components/workspace/sidebar.tsx index b5de39c..899de5f 100644 --- a/apps/desktop/src/components/workspace/sidebar.tsx +++ b/apps/desktop/src/components/workspace/sidebar.tsx @@ -17,6 +17,7 @@ import { ListIcon, HashIcon, GithubIcon, + PanelLeftIcon, ChevronRightIcon, ChevronDownIcon, FileCodeIcon, @@ -25,6 +26,7 @@ import { AppWindowIcon, FlaskConicalIcon, TerminalIcon, + type LucideIcon, } from "lucide-react"; import { invoke } from "@tauri-apps/api/core"; import { @@ -67,6 +69,11 @@ import { ContextMenuSeparator, ContextMenuTrigger, } from "@/components/ui/context-menu"; +import { + HoverCard, + HoverCardContent, + HoverCardTrigger, +} from "@/components/ui/hover-card"; import { Input } from "@/components/ui/input"; import { open as openDialog } from "@tauri-apps/plugin-dialog"; import { getCurrentWebview } from "@tauri-apps/api/webview"; @@ -263,7 +270,134 @@ function useAppVersion() { // ─── Sidebar ─── -export function Sidebar() { +function LayoutPaneSwitcher({ + controls, + onQuickToggleSidebar, + side = "bottom", + align = "end", + buttonClassName, +}: { + controls?: LayoutControls; + onQuickToggleSidebar?: () => void; + side?: "top" | "right" | "bottom" | "left"; + align?: "start" | "center" | "end"; + buttonClassName?: string; +}) { + const trigger = ( + + ); + + if (!controls) return trigger; + + return ( + + {trigger} + +
+ + + +
+
+
+ ); +} + +function LayoutToggleRow({ + icon: Icon, + label, + checked, + onCheckedChange, +}: { + icon: LucideIcon; + label: string; + checked: boolean; + onCheckedChange: (checked: boolean) => void; +}) { + return ( + + ); +} + +interface SidebarProps { + collapsed?: boolean; + onToggleCollapsed?: () => void; + layoutControls?: LayoutControls; +} + +interface LayoutControls { + codeVisible: boolean; + pdfVisible: boolean; + sidebarVisible: boolean; + setCodeVisible: (visible: boolean) => void; + setPdfVisible: (visible: boolean) => void; + setSidebarVisible: (visible: boolean) => void; +} + +export function Sidebar({ + collapsed = false, + onToggleCollapsed, + layoutControls, +}: SidebarProps) { const appVersion = useAppVersion(); const files = useDocumentStore((s) => s.files); const activeFileId = useDocumentStore((s) => s.activeFileId); @@ -1014,484 +1148,598 @@ export function Sidebar() { const pendingDeleteCount = pendingDeleteItems?.length ?? 0; const pendingDeletePreview = pendingDeleteItems?.slice(0, 4) ?? []; - return ( -
- {/* Header — padded top for macOS overlay titlebar */} -
- -
- -
+ const collapsedRail = ( +
+
+
+
+ + + + +
+
+ +
+
+ ); - {/* Resizable sections */} - - {/* Files */} - -
-
-
- - Files -
-
- - - + return ( +
+
+ {collapsedRail} +
+
+
+ {/* Header — padded top for macOS overlay titlebar */} +
+
+ +
+ +
+ +
+
+ + {/* Resizable sections */} + + {/* Files */} + +
+
+
+ + Files +
+
- - - openNewFileDialog()}> - - New LaTeX File - - openNewFolderDialog()}> - - New Folder - - - handleImport()}> - - Import File - - - -
-
- - - - - {tree.map((node) => ( - { - const parent = parentFolderOfPath(id); - setPasteTargetFolder(parent); - setActiveFile(id); - }} - onItemClick={handleTreeItemClick} - onItemContextMenu={handleTreeItemContextMenu} - onNewFile={openNewFileDialog} - onNewFolder={openNewFolderDialog} - onImport={handleImport} - onRename={openRenameDialog} - onDeleteSelection={requestDeleteSelection} - canDeleteSelection={canDeleteSelection} - getEffectiveSelectionCount={getEffectiveSelectionCount} - nativeDragOver={nativeDragOver} + - ))} - - - - openNewFileDialog()}> - - New File - - openNewFolderDialog()}> - - New Folder - - - handleImport()}> - - Import File - - - - - {activeDrag && ( -
- {activeDrag.type === "folder" ? ( - - ) : ( - - )} - - {activeDrag.count > 1 - ? `${activeDrag.count} selected` - : activeDrag.name} - + + + + + + + openNewFileDialog()}> + + New LaTeX File + + openNewFolderDialog()}> + + New Folder + + + handleImport()}> + + Import File + + +
- )} -
-
-
-
- - - - {/* Outline */} - -
-
- - Outline -
-
- {toc.length > 0 ? ( - toc.map((item, index) => ( - - )) - ) : ( -
- No sections found
- )} + + + + + {tree.map((node) => ( + { + const parent = parentFolderOfPath(id); + setPasteTargetFolder(parent); + setActiveFile(id); + }} + onItemClick={handleTreeItemClick} + onItemContextMenu={handleTreeItemContextMenu} + onNewFile={openNewFileDialog} + onNewFolder={openNewFolderDialog} + onImport={handleImport} + onRename={openRenameDialog} + onDeleteSelection={requestDeleteSelection} + canDeleteSelection={canDeleteSelection} + getEffectiveSelectionCount={ + getEffectiveSelectionCount + } + nativeDragOver={nativeDragOver} + /> + ))} + + + + openNewFileDialog()}> + + New File + + openNewFolderDialog()}> + + New Folder + + + handleImport()}> + + Import File + + + + + {activeDrag && ( +
+ {activeDrag.type === "folder" ? ( + + ) : ( + + )} + + {activeDrag.count > 1 + ? `${activeDrag.count} selected` + : activeDrag.name} + +
+ )} +
+
+
+ + + + + {/* Outline */} + +
+
+ + Outline +
+
+ {toc.length > 0 ? ( + toc.map((item, index) => ( + + )) + ) : ( +
+ No sections found +
+ )} +
+
+
+ + + + {/* Zotero */} + +
+
+ +
+
+ +
+
+
+ + + {/* Environment section — Python + Skills */} + + + {/* Footer */} +
+ ClaudePrism v{appVersion} +
+ +
- - - - {/* Zotero */} - -
-
- -
-
- -
-
-
- - - {/* Environment section — Python + Skills */} - - - {/* Footer */} -
- ClaudePrism v{appVersion} -
- - -
-
- - {/* New File Dialog */} - - - - - New File{addDialogFolder ? ` in ${addDialogFolder}` : ""} - - -
- { - setNewFileName(e.target.value); - setNameError(""); - }} - onKeyDown={(e) => { - if (e.key === "Enter") handleAddFile(); - }} - autoFocus - /> - {nameError && ( -

{nameError}

- )} -
- - - - -
-
- - {/* New Folder Dialog */} - - - - - New Folder{folderDialogParent ? ` in ${folderDialogParent}` : ""} - - -
- { - setNewFolderName(e.target.value); - setNameError(""); - }} - onKeyDown={(e) => { - if (e.key === "Enter") handleCreateFolder(); - }} - autoFocus - /> - {nameError && ( -

{nameError}

- )} -
- - - - -
-
- - {/* Rename Project Dialog */} - { - if (!isRenamingProject) setProjectRenameDialogOpen(open); - }} - > - - - Rename Project - -
- { - setProjectRenameValue(e.target.value); - setProjectRenameError(""); - }} - onKeyDown={(e) => { - if (e.key === "Enter") handleProjectRename(); - }} - autoFocus - /> - {projectRenameError && ( -

{projectRenameError}

- )} -
- - - - -
-
- - {/* Rename Dialog */} - - - - Rename - -
- { - setRenameValue(e.target.value); - setNameError(""); - }} - onKeyDown={(e) => { - if (e.key === "Enter") handleRename(); - }} - autoFocus - /> - {nameError && ( -

{nameError}

- )} -
- - - - -
-
- - {/* Delete confirmation */} - { - if (!open && !isDeletingSelection) { - setPendingDeleteItems(null); - setDeleteError(""); - } - }} - > - - - - Delete {pendingDeleteCount === 1 ? "Item" : "Items"} - - - {pendingDeleteCount === 1 - ? "This item will be removed from disk." - : `${pendingDeleteCount} selected items will be removed from disk.`} - - - {pendingDeletePreview.length > 0 && ( -
-
- {pendingDeletePreview.map((item) => ( -
- {item.type === "folder" ? "Folder" : "File"}: {item.path} -
- ))} - {pendingDeleteCount > pendingDeletePreview.length && ( -
- +{pendingDeleteCount - pendingDeletePreview.length} more -
+ {/* New File Dialog */} + + + + + New File{addDialogFolder ? ` in ${addDialogFolder}` : ""} + + +
+ { + setNewFileName(e.target.value); + setNameError(""); + }} + onKeyDown={(e) => { + if (e.key === "Enter") handleAddFile(); + }} + autoFocus + /> + {nameError && ( +

{nameError}

)}
-
- )} - {deleteError && ( -

- {deleteError} -

- )} - - + + + +
+ + {/* New Folder Dialog */} + + + + + New Folder + {folderDialogParent ? ` in ${folderDialogParent}` : ""} + + +
+ { + setNewFolderName(e.target.value); + setNameError(""); + }} + onKeyDown={(e) => { + if (e.key === "Enter") handleCreateFolder(); + }} + autoFocus + /> + {nameError && ( +

{nameError}

+ )} +
+ + + + +
+
+ + {/* Rename Project Dialog */} + { + if (!isRenamingProject) setProjectRenameDialogOpen(open); + }} + > + + + Rename Project + +
+ { + setProjectRenameValue(e.target.value); + setProjectRenameError(""); + }} + onKeyDown={(e) => { + if (e.key === "Enter") handleProjectRename(); + }} + autoFocus + /> + {projectRenameError && ( +

+ {projectRenameError} +

+ )} +
+ + + + +
+
+ + {/* Rename Dialog */} + + + + Rename + +
+ { + setRenameValue(e.target.value); + setNameError(""); + }} + onKeyDown={(e) => { + if (e.key === "Enter") handleRename(); + }} + autoFocus + /> + {nameError && ( +

{nameError}

+ )} +
+ + + + +
+
+ + {/* Delete confirmation */} + { + if (!open && !isDeletingSelection) { setPendingDeleteItems(null); setDeleteError(""); - }} - disabled={isDeletingSelection} - > - Cancel - - - - - + } + }} + > + + + + Delete {pendingDeleteCount === 1 ? "Item" : "Items"} + + + {pendingDeleteCount === 1 + ? "This item will be removed from disk." + : `${pendingDeleteCount} selected items will be removed from disk.`} + + + {pendingDeletePreview.length > 0 && ( +
+
+ {pendingDeletePreview.map((item) => ( +
+ {item.type === "folder" ? "Folder" : "File"}:{" "} + {item.path} +
+ ))} + {pendingDeleteCount > pendingDeletePreview.length && ( +
+ +{pendingDeleteCount - pendingDeletePreview.length} more +
+ )} +
+
+ )} + {deleteError && ( +

+ {deleteError} +

+ )} + + + + +
+ +
+
); } diff --git a/apps/desktop/src/components/workspace/workspace-layout.tsx b/apps/desktop/src/components/workspace/workspace-layout.tsx index 47e2a77..aa30836 100644 --- a/apps/desktop/src/components/workspace/workspace-layout.tsx +++ b/apps/desktop/src/components/workspace/workspace-layout.tsx @@ -1,27 +1,175 @@ -import { useEffect } from "react"; -import { Panel, PanelGroup, PanelResizeHandle } from "react-resizable-panels"; +import { + useCallback, + useEffect, + useLayoutEffect, + useRef, + useState, +} from "react"; +import { + Panel, + PanelGroup, + PanelResizeHandle, + type ImperativePanelHandle, +} from "react-resizable-panels"; import { Sidebar } from "./sidebar"; import { LatexEditor } from "./editor/latex-editor"; import { PdfPreview } from "./preview/pdf-preview"; import { useDocumentStore } from "@/stores/document-store"; import { usePreviewStore } from "@/stores/preview-store"; +const SIDEBAR_DEFAULT_SIZE = 15; +const SIDEBAR_MIN_SIZE = 10; +const SIDEBAR_COLLAPSED_WIDTH_PX = 48; +const SIDEBAR_COLLAPSED_SIZE_FALLBACK = 8; +const SIDEBAR_ANIMATION_MS = 180; + +function easeOutCubic(progress: number) { + return 1 - (1 - progress) ** 3; +} + export function WorkspaceLayout() { const initialized = useDocumentStore((s) => s.initialized); const previewVisible = usePreviewStore((s) => s.visible); - const togglePreview = usePreviewStore((s) => s.toggle); + const setPreviewVisible = usePreviewStore((s) => s.setVisible); + const workspaceRef = useRef(null); + const sidebarPanelRef = useRef(null); + const sidebarAnimationFrameRef = useRef(null); + const sidebarAnimatingRef = useRef(false); + const expandedSidebarSizeRef = useRef(SIDEBAR_DEFAULT_SIZE); + const [sidebarCollapsed, setSidebarCollapsed] = useState(false); + const [sidebarCollapsedSize, setSidebarCollapsedSize] = useState( + SIDEBAR_COLLAPSED_SIZE_FALLBACK, + ); + const [codeVisible, setCodeVisible] = useState(true); + + const getCollapsedSidebarSize = useCallback(() => { + const workspaceWidth = + workspaceRef.current?.clientWidth ?? window.innerWidth; + if (!workspaceWidth) return SIDEBAR_COLLAPSED_SIZE_FALLBACK; + return Math.min( + 18, + Math.max(2.5, (SIDEBAR_COLLAPSED_WIDTH_PX / workspaceWidth) * 100), + ); + }, []); + + const animateSidebarToSize = useCallback((targetSize: number) => { + const sidebarPanel = sidebarPanelRef.current; + if (!sidebarPanel) return; + + if (sidebarAnimationFrameRef.current !== null) { + window.cancelAnimationFrame(sidebarAnimationFrameRef.current); + } + + const startSize = sidebarPanel.getSize(); + const sizeDelta = targetSize - startSize; + const startedAt = performance.now(); + sidebarAnimatingRef.current = true; + + const step = (now: number) => { + const progress = Math.min((now - startedAt) / SIDEBAR_ANIMATION_MS, 1); + const nextSize = startSize + sizeDelta * easeOutCubic(progress); + + sidebarPanel.resize(nextSize); + + if (progress < 1) { + sidebarAnimationFrameRef.current = window.requestAnimationFrame(step); + return; + } + + sidebarPanel.resize(targetSize); + sidebarAnimationFrameRef.current = null; + sidebarAnimatingRef.current = false; + }; + + sidebarAnimationFrameRef.current = window.requestAnimationFrame(step); + }, []); + + const setSidebarPaneCollapsed = useCallback( + (nextCollapsed: boolean) => { + const sidebarPanel = sidebarPanelRef.current; + if (!sidebarPanel) return; + + if (!nextCollapsed) { + setSidebarCollapsed(false); + animateSidebarToSize(expandedSidebarSizeRef.current); + } else { + const collapsedSize = getCollapsedSidebarSize(); + const currentSize = sidebarPanel.getSize(); + if (currentSize >= SIDEBAR_MIN_SIZE) { + expandedSidebarSizeRef.current = currentSize; + } + setSidebarCollapsedSize(collapsedSize); + setSidebarCollapsed(true); + animateSidebarToSize(collapsedSize); + } + }, + [animateSidebarToSize, getCollapsedSidebarSize], + ); + + const toggleSidebarCollapsed = useCallback(() => { + setSidebarPaneCollapsed(!sidebarCollapsed); + }, [setSidebarPaneCollapsed, sidebarCollapsed]); + + const setCodePaneVisible = useCallback( + (visible: boolean) => { + if (!visible && !previewVisible) { + setPreviewVisible(true); + } + setCodeVisible(visible); + }, + [previewVisible, setPreviewVisible], + ); + + const setPdfPaneVisible = useCallback( + (visible: boolean) => { + if (!visible && !codeVisible) { + setCodeVisible(true); + } + setPreviewVisible(visible); + }, + [codeVisible, setPreviewVisible], + ); // Cmd+\ / Ctrl+\ toggles the PDF preview pane. useEffect(() => { const handler = (e: KeyboardEvent) => { if ((e.metaKey || e.ctrlKey) && e.key === "\\") { e.preventDefault(); - togglePreview(); + setPdfPaneVisible(!previewVisible); } }; window.addEventListener("keydown", handler); return () => window.removeEventListener("keydown", handler); - }, [togglePreview]); + }, [previewVisible, setPdfPaneVisible]); + + useEffect(() => { + return () => { + if (sidebarAnimationFrameRef.current !== null) { + window.cancelAnimationFrame(sidebarAnimationFrameRef.current); + } + }; + }, []); + + useLayoutEffect(() => { + const updateCollapsedSize = () => { + const nextSize = getCollapsedSidebarSize(); + setSidebarCollapsedSize(nextSize); + + if (sidebarCollapsed && !sidebarAnimatingRef.current) { + sidebarPanelRef.current?.resize(nextSize); + } + }; + + updateCollapsedSize(); + + const workspaceElement = workspaceRef.current; + if (!workspaceElement) return; + + const resizeObserver = new ResizeObserver(updateCollapsedSize); + resizeObserver.observe(workspaceElement); + + return () => resizeObserver.disconnect(); + }, [getCollapsedSidebarSize, sidebarCollapsed]); if (!initialized) { return ( @@ -32,30 +180,64 @@ export function WorkspaceLayout() { } return ( - - - - +
+ + setSidebarCollapsed(true)} + onExpand={() => setSidebarCollapsed(false)} + onResize={(size) => { + if (!sidebarAnimatingRef.current && size >= SIDEBAR_MIN_SIZE) { + expandedSidebarSizeRef.current = size; + } + }} + className="min-w-0 overflow-hidden" + > + setSidebarPaneCollapsed(!visible), + }} + /> + - + - - - + {codeVisible && ( + + + + )} - {previewVisible && ( - <> + {codeVisible && previewVisible && ( + )} - + {previewVisible && ( + - - )} - + )} + +
); } From 28ab3a8828e44d126fc3015eab2f27fdce853e11 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sat, 13 Jun 2026 20:04:48 +0800 Subject: [PATCH 111/118] Keep PDF preview for non-TeX selections --- .../__tests__/stores/document-store.test.ts | 34 +++++++++++++++++++ .../workspace/preview/pdf-preview.tsx | 6 +++- apps/desktop/src/stores/document-store.ts | 14 ++++++++ 3 files changed, 53 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src/__tests__/stores/document-store.test.ts b/apps/desktop/src/__tests__/stores/document-store.test.ts index b81cd6e..5b21f85 100644 --- a/apps/desktop/src/__tests__/stores/document-store.test.ts +++ b/apps/desktop/src/__tests__/stores/document-store.test.ts @@ -10,6 +10,7 @@ import { import { useDocumentStore, getCurrentPdfBytes, + getCurrentPdfRootId, clearPdfBytesCache, type ProjectFile, } from "@/stores/document-store"; @@ -443,6 +444,39 @@ describe("useDocumentStore", () => { expect(state.cursorPosition).toBe(100); expect(state.selectionRange).toBeNull(); }); + + it("keeps the current PDF when switching to a non-tex file", () => { + const pdfBytes = new Uint8Array([1, 2, 3]); + useDocumentStore.setState({ + files: [ + makeFile({ + content: + "\\documentclass{article}\\begin{document}Hi\\end{document}", + }), + makeFile({ + id: "analysis.py", + name: "analysis.py", + relativePath: "analysis.py", + absolutePath: "/project/analysis.py", + type: "other", + content: "print('hello')", + }), + ], + activeFileId: "main.tex", + selectionRange: { start: 0, end: 3 }, + }); + useDocumentStore.getState().setPdfData(pdfBytes, "main.tex"); + const revisionBefore = useDocumentStore.getState().pdfRevision; + + useDocumentStore.getState().setActiveFile("analysis.py"); + + const state = useDocumentStore.getState(); + expect(state.activeFileId).toBe("analysis.py"); + expect(state.selectionRange).toBeNull(); + expect(state.pdfRevision).toBe(revisionBefore); + expect(getCurrentPdfRootId()).toBe("main.tex"); + expect(getCurrentPdfBytes()).toEqual(pdfBytes); + }); }); describe("saveFile", () => { diff --git a/apps/desktop/src/components/workspace/preview/pdf-preview.tsx b/apps/desktop/src/components/workspace/preview/pdf-preview.tsx index 8b32640..62e2073 100644 --- a/apps/desktop/src/components/workspace/preview/pdf-preview.tsx +++ b/apps/desktop/src/components/workspace/preview/pdf-preview.tsx @@ -20,6 +20,7 @@ import { useDocumentStore, getPdfBytes, getCurrentPdfBytes, + getCurrentPdfRootId, hasPdfData, } from "@/stores/document-store"; import { useHistoryStore } from "@/stores/history-store"; @@ -134,7 +135,10 @@ export function PdfPreview() { const pdfData = useMemo(() => getCurrentPdfBytes(), [pdfRevision]); // eslint-disable-line react-hooks/exhaustive-deps // Keep-alive: track which root files have PdfViewer instances alive (LRU order) - const currentRootFileId = resolveTexRoot(activeFile?.id ?? "", files); + const currentRootFileId = + activeFile?.type === "tex" + ? resolveTexRoot(activeFile.id, files) + : (getCurrentPdfRootId() ?? resolveTexRoot(activeFile?.id ?? "", files)); const [aliveOrder, setAliveOrder] = useState([]); const prevRootRef = useRef(currentRootFileId); diff --git a/apps/desktop/src/stores/document-store.ts b/apps/desktop/src/stores/document-store.ts index 225740e..5442077 100644 --- a/apps/desktop/src/stores/document-store.ts +++ b/apps/desktop/src/stores/document-store.ts @@ -59,6 +59,11 @@ export function getCurrentPdfBytes(): Uint8Array | null { : null; } +/** Get the root file id for the currently displayed PDF, if any. */ +export function getCurrentPdfRootId(): string | null { + return _currentPdfRootId; +} + /** Check if any PDF data exists for the current root. */ export function hasPdfData(): boolean { return _currentPdfRootId != null && _pdfBytesCache.has(_currentPdfRootId); @@ -549,6 +554,15 @@ export const useDocumentStore = create()((set, get) => ({ setActiveFile: (id) => { const state = get(); + const file = state.files.find((f) => f.id === id); + if (!file || file.type !== "tex") { + set({ + activeFileId: id, + selectionRange: null, + }); + return; + } + const rootId = resolveTexRoot(id, state.files); const newPdfRootId = _pdfBytesCache.has(rootId) ? rootId : null; const pdfRootChanged = newPdfRootId !== _currentPdfRootId; From e8cac090b7f596260ae57084cf24e8e8e940f253 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sat, 13 Jun 2026 21:00:28 +0800 Subject: [PATCH 112/118] Refine project picker experience --- .../desktop/src/components/project-picker.tsx | 757 +++++++++++++++--- 1 file changed, 664 insertions(+), 93 deletions(-) diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index 39d264f..e387fcb 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -1,13 +1,20 @@ -import { useCallback, useEffect, useRef, useState } from "react"; +import { + type ComponentType, + type ReactNode, + useCallback, + useEffect, + useMemo, + useRef, + useState, +} from "react"; import { invoke } from "@tauri-apps/api/core"; import { getVersion } from "@tauri-apps/api/app"; import { listen } from "@tauri-apps/api/event"; import { open } from "@tauri-apps/plugin-dialog"; +import { readFile, readTextFile, stat } from "@tauri-apps/plugin-fs"; import { toast } from "sonner"; import { FolderOpenIcon, - FolderPlusIcon, - ClockIcon, XIcon, FileTextIcon, SparklesIcon, @@ -18,17 +25,27 @@ import { RefreshCwIcon, ArrowUpCircleIcon, KeyRoundIcon, + SearchIcon, + PanelLeftIcon, + PlusIcon, + SettingsIcon, } from "lucide-react"; +import type { LucideIcon } from "lucide-react"; import { useProjectStore } from "@/stores/project-store"; import { useDocumentStore } from "@/stores/document-store"; import { useClaudeSetupStore } from "@/stores/claude-setup-store"; import { useUvSetupStore } from "@/stores/uv-setup-store"; +import { useSettingsStore } from "@/stores/settings-store"; import { useUpdater } from "@/hooks/use-updater"; +import { compileLatex } from "@/lib/latex-compiler"; +import { getMupdfClient } from "@/lib/mupdf/mupdf-client"; +import { exists, join } from "@/lib/tauri/fs"; import { Button } from "@/components/ui/button"; import { Dialog, DialogContent, DialogHeader, + DialogFooter, DialogTitle, DialogDescription, } from "@/components/ui/dialog"; @@ -43,13 +60,46 @@ interface DefaultProject { has_main_tex: boolean; } +type ProjectPickerSection = "projects" | "settings"; + +type RecentProject = { + path: string; + name: string; + lastOpened: number; +}; + +type ProjectPreviewData = { + createdAt: number | null; +} & ( + | { kind: "pdf"; url: string } + | { kind: "tex"; fileName: string; lines: string[] } + | { kind: "empty" } +); + +type ProjectPreviewState = + | { status: "loading" } + | { status: "ready"; data: ProjectPreviewData } + | { status: "error" }; + +const projectPreviewCache = new Map(); +const projectPreviewRequests = new Map>(); +let projectPreviewCompileQueue: Promise = Promise.resolve(); + export function ProjectPicker() { const [showModeDialog, setShowModeDialog] = useState(false); const [wizardMode, setWizardMode] = useState(null); const [appVersion, setAppVersion] = useState(""); const [isRestoringProject, setIsRestoringProject] = useState(false); + const [isSidebarCollapsed, setIsSidebarCollapsed] = useState(false); + const [activeSection, setActiveSection] = + useState("projects"); + const [searchQuery, setSearchQuery] = useState(""); + const [removeProjectTarget, setRemoveProjectTarget] = + useState(null); const recoveryAttemptedRef = useRef(false); + const searchInputRef = useRef(null); const { status: updateStatus, checkForUpdate, installUpdate } = useUpdater(); + const searchShortcutLabel = "⌘ K"; const recentProjects = useProjectStore((s) => s.recentProjects); const initialRecentProjectsRef = useRef(recentProjects); @@ -69,6 +119,29 @@ export function ProjectPicker() { getVersion().then(setAppVersion); }, [checkClaudeStatus]); + useEffect(() => { + const handleSearchShortcut = (event: KeyboardEvent) => { + if ( + event.key.toLowerCase() !== "k" || + event.altKey || + event.shiftKey || + (!event.metaKey && !event.ctrlKey) + ) { + return; + } + + event.preventDefault(); + setActiveSection("projects"); + requestAnimationFrame(() => { + searchInputRef.current?.focus(); + searchInputRef.current?.select(); + }); + }; + + window.addEventListener("keydown", handleSearchShortcut); + return () => window.removeEventListener("keydown", handleSearchShortcut); + }, []); + useEffect(() => { if (recoveryAttemptedRef.current) return; recoveryAttemptedRef.current = true; @@ -168,6 +241,16 @@ export function ProjectPicker() { setWizardMode(mode); }; + const normalizedSearch = searchQuery.trim().toLowerCase(); + const visibleProjects = useMemo(() => { + if (!normalizedSearch) return recentProjects; + return recentProjects.filter( + (project) => + project.name.toLowerCase().includes(normalizedSearch) || + project.path.toLowerCase().includes(normalizedSearch), + ); + }, [normalizedSearch, recentProjects]); + if (wizardMode) { return ( setWizardMode(null)} /> @@ -175,93 +258,184 @@ export function ProjectPicker() { } return ( -
-
-
- ClaudePrism -

ClaudePrism

- -

- AI-powered academic writing workspace -

-
- - {!isClaudeReady ? : } - - {isRestoringProject && ( -
- - Restoring last project... -
+
+ + +
+
+
+

+ {activeSection === "settings" ? "Settings" : "All Projects"} +

+
+ + {activeSection === "projects" && ( +
+
+ + setSearchQuery(event.target.value)} + placeholder="Search" + className="h-9 w-full rounded-lg border border-input bg-background pr-16 pl-9 text-sm outline-none transition-colors placeholder:text-muted-foreground focus:border-ring" + /> + + {searchShortcutLabel} + +
+ + +
-
- {recentProjects.map((project) => ( -
- - + )} +
+ +
+ {activeSection === "settings" ? ( +
+
+

Application

+
+
- ))} +
+
+

Environment

+ {!isClaudeReady ? : } +
-
- )} -
+ ) : ( +
+ {isRestoringProject && ( +
+ + Restoring last project... +
+ )} + + {visibleProjects.length === 0 ? ( +
+ +

+ {normalizedSearch ? "No matching projects" : "No projects"} +

+
+ + +
+
+ ) : ( +
+ {visibleProjects.map((project) => ( + handleOpenRecent(project.path)} + onRemove={() => setRemoveProjectTarget(project)} + /> + ))} +
+ )} +
+ )} +
+ {/* New Project mode selection dialog */} @@ -273,10 +447,10 @@ export function ProjectPicker() {
+ + { + if (!open) setRemoveProjectTarget(null); + }} + > + + + Remove Project + + Remove "{removeProjectTarget?.name ?? "this project"}" from All + Projects? The project files will stay on disk. + + + + + + + +
); } @@ -318,6 +528,368 @@ interface SkillsStatus { location: string; } +function projectPreviewCacheKey(project: RecentProject) { + return `${project.path}:${project.lastOpened}`; +} + +function enqueueProjectPreviewCompile(task: () => Promise): Promise { + const run = projectPreviewCompileQueue.then(task, task); + projectPreviewCompileQueue = run.then( + () => undefined, + () => undefined, + ); + return run; +} + +async function firstExistingProjectFile( + projectPath: string, + candidates: string[][], +): Promise<{ absolutePath: string; relativePath: string } | null> { + for (const segments of candidates) { + const absolutePath = await join(projectPath, ...segments); + if (await exists(absolutePath)) { + return { + absolutePath, + relativePath: segments.join("/"), + }; + } + } + return null; +} + +async function firstExistingPath( + projectPath: string, + candidates: string[][], +): Promise { + return ( + (await firstExistingProjectFile(projectPath, candidates))?.absolutePath ?? + null + ); +} + +async function renderPdfThumbnailFromBytes(bytes: Uint8Array): Promise { + const buffer = new ArrayBuffer(bytes.byteLength); + new Uint8Array(buffer).set(bytes); + const client = getMupdfClient(); + let docId: number | null = null; + + try { + docId = await client.openDocument(buffer); + const pngBuffer = await client.renderThumbnail(docId, 0, 420); + const blob = new Blob([new Uint8Array(pngBuffer)], { type: "image/png" }); + return URL.createObjectURL(blob); + } finally { + if (docId !== null) { + await client.closeDocument(docId).catch(() => {}); + } + } +} + +async function renderPdfThumbnail(pdfPath: string): Promise { + return renderPdfThumbnailFromBytes(await readFile(pdfPath)); +} + +function texPreviewLines(content: string) { + return content + .split(/\r?\n/) + .map((line) => line.trim()) + .filter((line) => line.length > 0) + .slice(0, 12) + .map((line) => (line.length > 70 ? `${line.slice(0, 67)}...` : line)); +} + +function statDateToMs(value: unknown): number | null { + if (!value) return null; + if (value instanceof Date) { + const time = value.getTime(); + return Number.isFinite(time) ? time : null; + } + if (typeof value === "number") { + if (!Number.isFinite(value) || value <= 0) return null; + return value < 1_000_000_000_000 ? value * 1000 : value; + } + if (typeof value === "string") { + const time = Date.parse(value); + return Number.isFinite(time) ? time : null; + } + return null; +} + +async function getProjectCreatedAt( + projectPath: string, +): Promise { + try { + const info = (await stat(projectPath)) as { + birthtime?: unknown; + ctime?: unknown; + mtime?: unknown; + }; + return ( + statDateToMs(info.birthtime) ?? + statDateToMs(info.ctime) ?? + statDateToMs(info.mtime) + ); + } catch { + return null; + } +} + +function formatProjectCreatedDate(createdAt: number | null) { + if (!createdAt) return ""; + return new Intl.DateTimeFormat("en-US", { + year: "numeric", + month: "short", + day: "numeric", + }).format(new Date(createdAt)); +} + +async function loadProjectPreview( + project: RecentProject, +): Promise { + const cacheKey = projectPreviewCacheKey(project); + const cached = projectPreviewCache.get(cacheKey); + if (cached) return cached; + + const pending = projectPreviewRequests.get(cacheKey); + if (pending) return pending; + + const promise = (async () => { + const createdAt = await getProjectCreatedAt(project.path); + const pdfPath = await firstExistingPath(project.path, [ + [".prism", "build", "main.pdf"], + [".prism", "build", "document.pdf"], + ["main.pdf"], + ["document.pdf"], + ]); + + if (pdfPath) { + const data: ProjectPreviewData = { + kind: "pdf", + url: await renderPdfThumbnail(pdfPath), + createdAt, + }; + projectPreviewCache.set(cacheKey, data); + return data; + } + + const texFile = await firstExistingProjectFile(project.path, [ + ["main.tex"], + ["document.tex"], + ]); + + if (texFile) { + try { + const useTexlive = + useSettingsStore.getState().compilerBackend === "texlive"; + const pdfBytes = await enqueueProjectPreviewCompile(() => + compileLatex(project.path, texFile.relativePath, useTexlive), + ); + const data: ProjectPreviewData = { + kind: "pdf", + url: await renderPdfThumbnailFromBytes(pdfBytes), + createdAt, + }; + projectPreviewCache.set(cacheKey, data); + return data; + } catch (err) { + console.warn("Failed to compile project preview:", { + path: project.path, + target: texFile.relativePath, + error: err, + }); + } + + const fileName = texFile.absolutePath.split(/[\\/]/).pop() ?? "main.tex"; + const data: ProjectPreviewData = { + kind: "tex", + fileName, + lines: texPreviewLines(await readTextFile(texFile.absolutePath)), + createdAt, + }; + projectPreviewCache.set(cacheKey, data); + return data; + } + + const data: ProjectPreviewData = { kind: "empty", createdAt }; + projectPreviewCache.set(cacheKey, data); + return data; + })(); + + projectPreviewRequests.set(cacheKey, promise); + try { + return await promise; + } finally { + projectPreviewRequests.delete(cacheKey); + } +} + +function ProjectPreviewCard({ + project, + disabled, + onOpen, + onRemove, +}: { + project: RecentProject; + disabled: boolean; + onOpen: () => void; + onRemove: () => void; +}) { + const [preview, setPreview] = useState(() => { + const cached = projectPreviewCache.get(projectPreviewCacheKey(project)); + return cached ? { status: "ready", data: cached } : { status: "loading" }; + }); + const createdDateLabel = + preview.status === "ready" + ? formatProjectCreatedDate(preview.data.createdAt) + : ""; + + useEffect(() => { + let cancelled = false; + const cacheKey = projectPreviewCacheKey(project); + const cached = projectPreviewCache.get(cacheKey); + if (cached) { + setPreview({ status: "ready", data: cached }); + return; + } + + setPreview({ status: "loading" }); + loadProjectPreview(project) + .then((data) => { + if (!cancelled) setPreview({ status: "ready", data }); + }) + .catch((err) => { + console.warn("Failed to load project preview:", { + path: project.path, + error: err, + }); + if (!cancelled) setPreview({ status: "error" }); + }); + + return () => { + cancelled = true; + }; + }, [project]); + + return ( +
+
+ + +
+ +
+ {createdDateLabel} +
+
+ ); +} + +function ProjectPreviewSurface({ + preview, + projectName, +}: { + preview: ProjectPreviewState; + projectName: string; +}) { + if (preview.status === "loading") { + return ( +
+ +
+ ); + } + + if (preview.status === "ready" && preview.data.kind === "pdf") { + return ( + {`${projectName} + ); + } + + if (preview.status === "ready" && preview.data.kind === "tex") { + return ( +
+
+ + {preview.data.fileName} + +
+
+ {preview.data.lines.map((line, index) => ( +
+ {line} +
+ ))} +
+
+ ); + } + + return ( +
+ + No preview +
+ ); +} + +function ProjectNavButton({ + active, + collapsed, + icon: Icon, + onClick, + children, +}: { + active: boolean; + collapsed: boolean; + icon: LucideIcon; + onClick: () => void; + children: ReactNode; +}) { + return ( + + ); +} + function EnvironmentStatus() { const [showAiSetup, setShowAiSetup] = useState(false); const claudeVersion = useClaudeSetupStore((s) => s.version); @@ -370,10 +942,9 @@ function EnvironmentStatus() { }, [_finishUvInstall]); // Lazy load skills onboarding - const [OnboardingComponent, setOnboardingComponent] = - useState void; - }> | null>(null); + const [OnboardingComponent, setOnboardingComponent] = useState void; + }> | null>(null); useEffect(() => { if (showSkillsOnboarding && !OnboardingComponent) { @@ -387,7 +958,7 @@ function EnvironmentStatus() { return ( <> -
+
{/* AI provider — always ready here */} Date: Sat, 13 Jun 2026 21:16:53 +0800 Subject: [PATCH 113/118] Polish sidebar collapse animations --- .../desktop/src/components/project-picker.tsx | 21 ++++++++------- .../src/components/workspace/sidebar.tsx | 27 ++++++++++++------- .../components/workspace/workspace-layout.tsx | 2 +- 3 files changed, 31 insertions(+), 19 deletions(-) diff --git a/apps/desktop/src/components/project-picker.tsx b/apps/desktop/src/components/project-picker.tsx index e387fcb..175a8d4 100644 --- a/apps/desktop/src/components/project-picker.tsx +++ b/apps/desktop/src/components/project-picker.tsx @@ -262,7 +262,7 @@ export function ProjectPicker() {
@@ -330,22 +387,43 @@ export function ProjectPicker() {
{activeSection === "settings" ? ( -
-
-

Application

-
- -
-
-
-

Environment

- {!isClaudeReady ? : } -
+
+ + +
+ {settingsDetailSection === "provider" ? ( + + + + ) : ( + + + + )} +
) : (
@@ -832,20 +910,75 @@ function ProjectNavButton({ ); } -function EnvironmentStatus() { - const [showAiSetup, setShowAiSetup] = useState(false); - const claudeVersion = useClaudeSetupStore((s) => s.version); - const providerKind = useClaudeSetupStore((s) => s.providerKind); - const claudeEmail = useClaudeSetupStore((s) => s.accountEmail); - const providerModel = useClaudeSetupStore((s) => s.providerModel); - const providerBaseUrl = useClaudeSetupStore((s) => s.providerBaseUrl); - const isDirectProvider = providerKind === "openai-compatible"; - const aiDetail = isDirectProvider - ? [claudeVersion, providerModel, providerBaseUrl] - .filter(Boolean) - .join(" · ") - : [claudeVersion, claudeEmail].filter(Boolean).join(" · "); +function SettingsDetailButton({ + active, + icon: Icon, + label, + meta, + onClick, +}: { + active: boolean; + icon: LucideIcon; + label: string; + meta: string; + onClick: () => void; +}) { + return ( + + ); +} +function SettingsPanel({ + title, + icon: Icon, + contentClassName, + children, +}: { + title: string; + icon: LucideIcon; + contentClassName?: string; + children: ReactNode; +}) { + return ( +
+
+
+ +
+
+

{title}

+
+
+
{children}
+
+ ); +} + +function EnvironmentStatus({ appVersion }: { appVersion: string }) { const uvStatus = useUvSetupStore((s) => s.status); const uvVersion = useUvSetupStore((s) => s.version); const uvInstalling = useUvSetupStore((s) => s.isInstalling); @@ -900,19 +1033,7 @@ function EnvironmentStatus() { return ( <> -
- {/* AI provider — always ready here */} - setShowAiSetup((value) => !value), - icon: "key", - }} - /> - +
{/* Python (uv) */} setShowSkillsOnboarding(true), + icon: skillsStatus?.installed ? "settings" : "download", } - : undefined } /> -
- {showAiSetup && } + +
{showSkillsOnboarding && OnboardingComponent && ( void; loading?: boolean; - icon?: "download" | "key"; + icon?: "download" | "key" | "settings"; }; }) { return ( -
- {ok ? ( - - ) : ( - - )} - +
- {label} - - - {detail} - + {ok ? ( + + ) : ( + + )} +
+
+ + {label} + + + {detail} + +
{action && (
); } - -// ─── Version Badge with Update Status ─── - -function VersionBadge({ - version, - updateStatus, - onCheck, - onInstall, -}: { - version: string; - updateStatus: import("@/hooks/use-updater").UpdateStatus; - onCheck: () => void; - onInstall: () => void; -}) { - if (!version) return null; - - switch (updateStatus.state) { - case "available": - return ( - - ); - - case "downloading": - return ( -
- - Downloading... {updateStatus.percent}% -
- ); - - case "installing": - return ( -
- - Installing... -
- ); - - case "ready": - return ( -
- - Update complete — restarting... -
- ); - - case "checking": - return ( -
- v{version} — checking - for updates... -
- ); - - case "error": - return ( -
- v{version} - · - -
- ); - - case "up-to-date": - return ( -
- v{version} - · - -
- ); - - default: - return ( -
- v{version} - · - -
- ); - } -} diff --git a/apps/desktop/src/stores/claude-setup-store.ts b/apps/desktop/src/stores/claude-setup-store.ts index ef49418..fdc7dde 100644 --- a/apps/desktop/src/stores/claude-setup-store.ts +++ b/apps/desktop/src/stores/claude-setup-store.ts @@ -355,6 +355,14 @@ export const useClaudeSetupStore = create((set, get) => ({ model?: string, credentialLabel?: string, ) => { + const status = get().status; + if (status === "missing-git" || status === "not-installed") { + set({ + error: "Install Claude Code before configuring an AI provider.", + }); + return false; + } + const key = apiKey.trim(); const rawUrl = baseUrl?.trim() ?? ""; const url = From 1456c15e50bac4de1a2a4370deb7861ac8cc7261 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sun, 14 Jun 2026 02:49:36 +0800 Subject: [PATCH 116/118] feat: enhance anthropic response handling to include "thinking" block type --- apps/desktop/src-tauri/src/claude.rs | 24 +++++++++++++++++++++++- 1 file changed, 23 insertions(+), 1 deletion(-) diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index 10b1da1..a3f62b5 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -2655,7 +2655,10 @@ fn anthropic_response_has_message_content(response: &Value) -> bool { .is_some_and(|content| { content.iter().any(|block| { block.get("text").and_then(|value| value.as_str()).is_some() - || block.get("type").and_then(|value| value.as_str()) == Some("tool_use") + || block + .get("type") + .and_then(|value| value.as_str()) + .is_some_and(|block_type| matches!(block_type, "tool_use" | "thinking")) }) }) } @@ -4780,6 +4783,25 @@ mod tests { ); } + #[test] + fn test_anthropic_response_has_message_content_with_thinking_block() { + let response = serde_json::json!({ + "content": [{ + "type": "thinking", + "thinking": "We need to output ok." + }] + }); + + assert!(anthropic_response_has_message_content(&response)); + } + + #[test] + fn test_anthropic_response_has_message_content_with_empty_content() { + let response = serde_json::json!({}); + + assert!(!anthropic_response_has_message_content(&response)); + } + #[test] fn test_openai_chat_completions_url_keeps_generic_openai_default() { assert_eq!( From 3509cdbe9a96d570b2ba5bf16640f0721c03c556 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sun, 14 Jun 2026 13:46:19 +0800 Subject: [PATCH 117/118] Add required environment onboarding --- apps/desktop/src-tauri/src/claude.rs | 14 +- apps/desktop/src-tauri/src/uv.rs | 1 + apps/desktop/src/App.tsx | 2 + .../components/claude-chat/chat-composer.tsx | 2 +- apps/desktop/src/components/claude-setup.tsx | 78 ++- .../src/components/environment-onboarding.tsx | 475 ++++++++++++++++++ .../scientific-skills-onboarding.tsx | 6 +- apps/desktop/src/components/ui/dialog.tsx | 2 +- apps/desktop/src/stores/claude-setup-store.ts | 7 + 9 files changed, 557 insertions(+), 30 deletions(-) create mode 100644 apps/desktop/src/components/environment-onboarding.tsx diff --git a/apps/desktop/src-tauri/src/claude.rs b/apps/desktop/src-tauri/src/claude.rs index a3f62b5..2d95a27 100644 --- a/apps/desktop/src-tauri/src/claude.rs +++ b/apps/desktop/src-tauri/src/claude.rs @@ -374,7 +374,7 @@ fn redacted_proxy_url(url: &str) -> String { parsed.to_string() } -fn apply_proxy_env_to_command(cmd: &mut Command, window: Option<&WebviewWindow>) { +pub(crate) fn apply_proxy_env_to_command(cmd: &mut Command, window: Option<&WebviewWindow>) { let mut vars = explicit_proxy_env_vars(); let mut no_proxy = first_env_value(&["NO_PROXY", "no_proxy"]).map(|(_, value)| value); @@ -2011,6 +2011,7 @@ pub struct ClaudeStatus { pub account_email: Option, pub provider_model: Option, pub provider_base_url: Option, + pub claude_provider_configured: bool, /// Windows only: true when Git for Windows (git-bash) is not found. /// Claude Code requires git-bash to function on Windows. pub missing_git: bool, @@ -2063,6 +2064,13 @@ fn find_git_bash() -> Option { #[tauri::command] pub async fn check_claude_status() -> Result { let auth_config = read_claude_prism_auth_config()?; + let claude_provider_configured = stored_claude_credential_from_config(&auth_config).is_some() + || std::env::var("ANTHROPIC_API_KEY") + .map(|value| !value.trim().is_empty()) + .unwrap_or(false) + || std::env::var("ANTHROPIC_AUTH_TOKEN") + .map(|value| !value.trim().is_empty()) + .unwrap_or(false); let openai_credential = stored_openai_compatible_credential_from_config(&auth_config, None); let provider_kind = if openai_credential.is_some() { PROVIDER_OPENAI_COMPATIBLE @@ -2095,6 +2103,7 @@ pub async fn check_claude_status() -> Result { account_email: None, provider_model: provider_model.clone(), provider_base_url: provider_base_url.clone(), + claude_provider_configured, missing_git, }); } @@ -2119,6 +2128,7 @@ pub async fn check_claude_status() -> Result { account_email: None, provider_model: provider_model.clone(), provider_base_url: provider_base_url.clone(), + claude_provider_configured, missing_git, }); } @@ -2134,6 +2144,7 @@ pub async fn check_claude_status() -> Result { account_email: None, provider_model, provider_base_url, + claude_provider_configured, missing_git, }); } @@ -2171,6 +2182,7 @@ pub async fn check_claude_status() -> Result { account_email, provider_model: None, provider_base_url: None, + claude_provider_configured, missing_git, }) } diff --git a/apps/desktop/src-tauri/src/uv.rs b/apps/desktop/src-tauri/src/uv.rs index 9d52761..5442d6f 100644 --- a/apps/desktop/src-tauri/src/uv.rs +++ b/apps/desktop/src-tauri/src/uv.rs @@ -323,6 +323,7 @@ pub async fn install_uv(window: WebviewWindow) -> Result<(), String> { cmd.env(&key, &value); } } + crate::claude::apply_proxy_env_to_command(&mut cmd, Some(&window)); let mut child = cmd .spawn() diff --git a/apps/desktop/src/App.tsx b/apps/desktop/src/App.tsx index 51b14bc..2f5f402 100644 --- a/apps/desktop/src/App.tsx +++ b/apps/desktop/src/App.tsx @@ -14,6 +14,7 @@ import { TooltipProvider } from "@/components/ui/tooltip"; import { useUvSetupStore } from "@/stores/uv-setup-store"; import { ErrorFallback } from "@/components/error-fallback"; import { createLogger } from "@/lib/debug/logger"; +import { EnvironmentOnboarding } from "@/components/environment-onboarding"; const log = createLogger("app"); @@ -222,6 +223,7 @@ export function App({ onReady }: { onReady?: () => void }) { className="fixed inset-x-0 top-0 z-[9999] h-[var(--titlebar-height)]" /> {projectRoot ? : } + {showDebug && (
= ({ isOpen }) => { Add AI Provider - Configure another OpenAI-compatible provider for this project. + Configure Anthropic or another model provider for this project. s.accountEmail); const providerModel = useClaudeSetupStore((s) => s.providerModel); const providerBaseUrl = useClaudeSetupStore((s) => s.providerBaseUrl); + const claudeProviderConfigured = useClaudeSetupStore( + (s) => s.claudeProviderConfigured, + ); const openAiCredentials = useClaudeSetupStore((s) => s.openAiCredentials); const install = useClaudeSetupStore((s) => s.install); const login = useClaudeSetupStore((s) => s.login); @@ -660,7 +663,7 @@ export function ClaudeSetup({ : provider; const providerCards = forceOpenAiCompatible ? OPENAI_PROVIDER_CARDS - : [...OPENAI_PROVIDER_CARDS, ...CLAUDE_PROVIDER_CARDS]; + : [...CLAUDE_PROVIDER_CARDS, ...OPENAI_PROVIDER_CARDS]; const providerCardIds = new Set(providerCards.map((card) => card.id)); const fallbackCardId = selectedProvider === "openai-compatible" @@ -673,6 +676,10 @@ export function ClaudeSetup({ const apiKeyOptional = selectedProvider === "openai-compatible" && !!activeCard?.apiKeyOptional; const apiKeyRequired = !apiKeyOptional; + const showBrowserSignIn = + allowBrowserSignIn && + selectedProvider === "claude-code" && + activeCardId === "anthropic-direct"; return ( <> @@ -956,7 +963,7 @@ export function ClaudeSetup({ - {allowBrowserSignIn && ( + {showBrowserSignIn && ( <>
@@ -1058,7 +1065,7 @@ export function ClaudeSetup({ if (variant === "provider-dialog") { return (
- {renderApiKeyForm({ forceOpenAiCompatible: true })} + {renderApiKeyForm({ allowBrowserSignIn: true })}
- {isDirectProvider && openAiCredentials.length > 0 && ( + {(includesClaudeProvider || openAiCredentials.length > 0) && (
+ {includesClaudeProvider && ( +
+ {claudeProviderIconSrc ? ( + + ) : ( + + )} +
+
+ + Anthropic / Claude Code + + + {accountEmail || "Claude Code"} + +
+
+
+ )} {openAiCredentials.map((credential) => { const displayName = getProviderDisplayName({ label: credential.label, diff --git a/apps/desktop/src/components/environment-onboarding.tsx b/apps/desktop/src/components/environment-onboarding.tsx new file mode 100644 index 0000000..3d3dbb5 --- /dev/null +++ b/apps/desktop/src/components/environment-onboarding.tsx @@ -0,0 +1,475 @@ +import { + type ComponentType, + useCallback, + useEffect, + useMemo, + useState, +} from "react"; +import { invoke } from "@tauri-apps/api/core"; +import { listen } from "@tauri-apps/api/event"; +import { open as shellOpen } from "@tauri-apps/plugin-shell"; +import { + AlertCircleIcon, + CheckCircle2Icon, + CircleIcon, + DownloadIcon, + FlaskConicalIcon, + GitBranchIcon, + KeyRoundIcon, + Loader2Icon, + RefreshCwIcon, + TerminalIcon, +} from "lucide-react"; +import { Button } from "@/components/ui/button"; +import { + Dialog, + DialogContent, + DialogDescription, + DialogHeader, + DialogTitle, +} from "@/components/ui/dialog"; +import { ClaudeSetup } from "@/components/claude-setup"; +import { useClaudeSetupStore } from "@/stores/claude-setup-store"; +import { useUvSetupStore } from "@/stores/uv-setup-store"; +import { cn } from "@/lib/utils"; + +type SetupItemState = "ready" | "loading" | "blocked" | "error"; + +interface SkillsStatus { + installed: boolean; + skill_count: number; + location: string; +} + +export function EnvironmentOnboarding() { + const [initialCheckComplete, setInitialCheckComplete] = useState(false); + const [providerDialogOpen, setProviderDialogOpen] = useState(false); + const [skillsStatus, setSkillsStatus] = useState(null); + const [skillsChecking, setSkillsChecking] = useState(true); + const [skillsError, setSkillsError] = useState(null); + const [skillsDialogOpen, setSkillsDialogOpen] = useState(false); + const [SkillsOnboardingComponent, setSkillsOnboardingComponent] = + useState void }> | null>(null); + + const claudeStatus = useClaudeSetupStore((s) => s.status); + const claudeVersion = useClaudeSetupStore((s) => s.version); + const claudeError = useClaudeSetupStore((s) => s.error); + const isClaudeInstalling = useClaudeSetupStore((s) => s.isInstalling); + const providerKind = useClaudeSetupStore((s) => s.providerKind); + const claudeProviderConfigured = useClaudeSetupStore( + (s) => s.claudeProviderConfigured, + ); + const openAiCredentials = useClaudeSetupStore((s) => s.openAiCredentials); + const checkClaudeStatus = useClaudeSetupStore((s) => s.checkStatus); + const installClaude = useClaudeSetupStore((s) => s.install); + + const uvStatus = useUvSetupStore((s) => s.status); + const uvVersion = useUvSetupStore((s) => s.version); + const uvError = useUvSetupStore((s) => s.error); + const isUvInstalling = useUvSetupStore((s) => s.isInstalling); + const checkUvStatus = useUvSetupStore((s) => s.checkStatus); + const installUv = useUvSetupStore((s) => s.install); + const finishUvInstall = useUvSetupStore((s) => s._finishInstall); + + const checkSkillsStatus = useCallback(async () => { + setSkillsChecking(true); + setSkillsError(null); + try { + const status = await invoke("check_skills_installed", { + projectPath: null, + }); + setSkillsStatus(status); + } catch (err) { + setSkillsStatus(null); + setSkillsError(String(err)); + } finally { + setSkillsChecking(false); + } + }, []); + + useEffect(() => { + let cancelled = false; + + Promise.allSettled([ + checkClaudeStatus(), + checkUvStatus(), + checkSkillsStatus(), + ]).finally(() => { + if (!cancelled) { + setInitialCheckComplete(true); + } + }); + + return () => { + cancelled = true; + }; + }, [checkClaudeStatus, checkSkillsStatus, checkUvStatus]); + + useEffect(() => { + const unlisten = listen("uv-install-complete", (event) => { + finishUvInstall(event.payload); + }); + + return () => { + unlisten.then((fn) => fn()); + }; + }, [finishUvInstall]); + + const isClaudeInstalled = + claudeStatus === "ready" || claudeStatus === "not-authenticated"; + const isClaudeReady = claudeStatus === "ready"; + const isUvReady = uvStatus === "ready"; + const isSkillsReady = !!skillsStatus?.installed; + const claudeNeedsAttention = + isClaudeInstalling || (claudeStatus !== "checking" && !isClaudeReady); + const uvNeedsAttention = + isUvInstalling || (uvStatus !== "checking" && !isUvReady); + const skillsNeedsAttention = + !skillsChecking && (!isSkillsReady || !!skillsError); + const shouldShow = + initialCheckComplete && + (claudeNeedsAttention || uvNeedsAttention || skillsNeedsAttention); + + const openSkillsDialog = () => { + setSkillsDialogOpen(true); + if (!SkillsOnboardingComponent) { + import( + "@/components/scientific-skills/scientific-skills-onboarding" + ).then((mod) => + setSkillsOnboardingComponent(() => mod.ScientificSkillsOnboarding), + ); + } + }; + + const providerDetail = useMemo(() => { + if (!isClaudeInstalled) { + return "Install Claude Code before adding a provider"; + } + if (!isClaudeReady) { + return "Add an API key or sign in"; + } + const openAiProviderCount = Math.max( + openAiCredentials.length, + providerKind === "openai-compatible" ? 1 : 0, + ); + const includesClaudeProvider = + claudeProviderConfigured || providerKind === "claude-code"; + const count = openAiProviderCount + (includesClaudeProvider ? 1 : 0); + return `${count} provider${count === 1 ? "" : "s"} configured`; + }, [ + claudeProviderConfigured, + isClaudeInstalled, + isClaudeReady, + openAiCredentials.length, + providerKind, + ]); + + return ( + <> + undefined}> + event.preventDefault()} + onInteractOutside={(event) => event.preventDefault()} + className="w-[min(29rem,calc(100vw-2rem))] gap-0 overflow-hidden rounded-2xl border-border/70 p-0 shadow-xl sm:max-w-none" + > +
+ ClaudePrism + + + ClaudePrism + + + Set up the local tools and model provider required before + entering the workspace. + + +
+ +
+
+ { + shellOpen("https://git-scm.com/downloads/win"); + }, + } + : claudeStatus === "not-installed" || + claudeStatus === "error" + ? { + label: isClaudeInstalling ? "Installing" : "Install", + icon: isClaudeInstalling ? Loader2Icon : DownloadIcon, + loading: isClaudeInstalling, + onClick: installClaude, + } + : { + label: "Check", + icon: RefreshCwIcon, + onClick: checkClaudeStatus, + } + } + /> + + + + setProviderDialogOpen(true), + } + : { + label: "Locked", + icon: KeyRoundIcon, + disabled: true, + } + } + /> + + +
+
+ +
+ +
+
+
+ + + + + Add AI Provider + + Configure Anthropic or another model provider for this project. + + + setProviderDialogOpen(false)} + onSaved={() => { + setProviderDialogOpen(false); + checkClaudeStatus(); + }} + /> + + + + {skillsDialogOpen && SkillsOnboardingComponent && ( + { + setSkillsDialogOpen(false); + checkSkillsStatus(); + }} + /> + )} + + ); +} + +function SetupItem({ + state, + icon: Icon, + title, + detail, + action, +}: { + state: SetupItemState; + icon: typeof TerminalIcon; + title: string; + detail: string; + action?: { + label: string; + icon: typeof TerminalIcon; + onClick?: () => void; + loading?: boolean; + disabled?: boolean; + }; +}) { + const ActionIcon = action?.icon; + + return ( +
+
+ {state === "ready" ? ( + + ) : state === "loading" ? ( + + ) : state === "error" ? ( + + ) : ( + + )} +
+ +
+
+ {title} + {state === "blocked" && ( + + )} +
+

+ {detail} +

+
+ + {action && ( + + )} +
+ ); +} diff --git a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx index 1d9a560..efb12e3 100644 --- a/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx +++ b/apps/desktop/src/components/scientific-skills/scientific-skills-onboarding.tsx @@ -465,12 +465,12 @@ export function ScientificSkillsOnboarding({ size="sm" onClick={handleImportSkill} disabled={isImporting || isInstalling || isUninstalling} - className="gap-1.5 text-green-600 hover:text-green-700 dark:text-green-400 dark:hover:text-green-300" + className="gap-1.5 border-border/70 bg-muted/30 text-foreground shadow-none hover:bg-muted/60 hover:text-foreground" > {isImporting ? ( - + ) : ( - + )} Import Skill diff --git a/apps/desktop/src/components/ui/dialog.tsx b/apps/desktop/src/components/ui/dialog.tsx index f693530..1213115 100644 --- a/apps/desktop/src/components/ui/dialog.tsx +++ b/apps/desktop/src/components/ui/dialog.tsx @@ -37,7 +37,7 @@ function DialogOverlay({ ((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + claudeProviderConfigured: false, openAiCredentials: [], activeOpenAiCredentialId: null, @@ -244,6 +247,7 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + claudeProviderConfigured: result.claude_provider_configured, openAiCredentials, activeOpenAiCredentialId, }); @@ -258,6 +262,7 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + claudeProviderConfigured: result.claude_provider_configured, openAiCredentials, activeOpenAiCredentialId, }); @@ -272,6 +277,7 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: null, providerModel: null, providerBaseUrl: null, + claudeProviderConfigured: result.claude_provider_configured, openAiCredentials, activeOpenAiCredentialId, }); @@ -285,6 +291,7 @@ export const useClaudeSetupStore = create((set, get) => ({ accountEmail: result.account_email, providerModel: result.provider_model, providerBaseUrl: result.provider_base_url, + claudeProviderConfigured: result.claude_provider_configured, openAiCredentials, activeOpenAiCredentialId, }); From 274727731e1c1cd935563508fc168f1da9eb6818 Mon Sep 17 00:00:00 2001 From: Gerard-Devlin Date: Sun, 14 Jun 2026 14:18:41 +0800 Subject: [PATCH 118/118] Polish environment onboarding completion flow --- .../src/components/environment-onboarding.tsx | 38 ++++++++++++++++++- 1 file changed, 36 insertions(+), 2 deletions(-) diff --git a/apps/desktop/src/components/environment-onboarding.tsx b/apps/desktop/src/components/environment-onboarding.tsx index 3d3dbb5..f892958 100644 --- a/apps/desktop/src/components/environment-onboarding.tsx +++ b/apps/desktop/src/components/environment-onboarding.tsx @@ -3,6 +3,7 @@ import { useCallback, useEffect, useMemo, + useRef, useState, } from "react"; import { invoke } from "@tauri-apps/api/core"; @@ -43,6 +44,9 @@ interface SkillsStatus { export function EnvironmentOnboarding() { const [initialCheckComplete, setInitialCheckComplete] = useState(false); + const keepOpenDuringCheckRef = useRef(false); + const [hasOpenedForSetup, setHasOpenedForSetup] = useState(false); + const [completedDismissed, setCompletedDismissed] = useState(false); const [providerDialogOpen, setProviderDialogOpen] = useState(false); const [skillsStatus, setSkillsStatus] = useState(null); const [skillsChecking, setSkillsChecking] = useState(true); @@ -126,9 +130,38 @@ export function EnvironmentOnboarding() { isUvInstalling || (uvStatus !== "checking" && !isUvReady); const skillsNeedsAttention = !skillsChecking && (!isSkillsReady || !!skillsError); + const needsAttention = + claudeNeedsAttention || uvNeedsAttention || skillsNeedsAttention; + const isCheckingSetup = + claudeStatus === "checking" || uvStatus === "checking" || skillsChecking; + const setupComplete = + initialCheckComplete && !needsAttention && !isCheckingSetup; const shouldShow = initialCheckComplete && - (claudeNeedsAttention || uvNeedsAttention || skillsNeedsAttention); + !completedDismissed && + (needsAttention || + (isCheckingSetup && keepOpenDuringCheckRef.current) || + hasOpenedForSetup); + + useEffect(() => { + if (needsAttention) { + keepOpenDuringCheckRef.current = true; + setHasOpenedForSetup(true); + setCompletedDismissed(false); + return; + } + + if (!isCheckingSetup) { + keepOpenDuringCheckRef.current = false; + } + }, [isCheckingSetup, needsAttention]); + + const handleDone = () => { + if (!setupComplete) return; + keepOpenDuringCheckRef.current = false; + setHasOpenedForSetup(false); + setCompletedDismissed(true); + }; const openSkillsDialog = () => { setSkillsDialogOpen(true); @@ -352,8 +385,9 @@ export function EnvironmentOnboarding() {