From d8d66330b46d01928d6b19a84fc01e8cfc49dc90 Mon Sep 17 00:00:00 2001 From: babelllll Date: Wed, 27 May 2026 10:23:34 +0800 Subject: [PATCH 001/156] feat(manager): minimize to tray and close-action dialog --- apps/codex-plus-manager/src-tauri/Cargo.toml | 2 +- apps/codex-plus-manager/src-tauri/src/lib.rs | 110 ++++++++++++++++++- 2 files changed, 110 insertions(+), 2 deletions(-) diff --git a/apps/codex-plus-manager/src-tauri/Cargo.toml b/apps/codex-plus-manager/src-tauri/Cargo.toml index 184337a2a..55420e6b0 100644 --- a/apps/codex-plus-manager/src-tauri/Cargo.toml +++ b/apps/codex-plus-manager/src-tauri/Cargo.toml @@ -21,7 +21,7 @@ codex-plus-data = { path = "../../../crates/codex-plus-data" } directories.workspace = true serde.workspace = true serde_json.workspace = true -tauri = { version = "2", features = ["custom-protocol"] } +tauri = { version = "2", features = ["custom-protocol", "tray-icon"] } tauri-plugin-dialog = "2" [build-dependencies] diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index f118a799a..be731947b 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -1,6 +1,17 @@ pub mod commands; pub mod install; +use std::sync::atomic::{AtomicBool, Ordering}; + +use tauri::menu::{Menu, MenuItem}; +use tauri::tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}; +use tauri::{Manager, WindowEvent}; +use tauri_plugin_dialog::{DialogExt, MessageDialogButtons, MessageDialogKind}; + +static APP_EXITING: AtomicBool = AtomicBool::new(false); +const TRAY_MENU_SHOW: &str = "tray_show_main"; +const TRAY_MENU_QUIT: &str = "tray_quit_app"; + pub fn run() { install_panic_logger(); let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( @@ -21,11 +32,14 @@ pub fn run() { } else { "index.html" }; - tauri::WebviewWindowBuilder::new(app, "main", tauri::WebviewUrl::App(url.into())) + let main_window = + tauri::WebviewWindowBuilder::new(app, "main", tauri::WebviewUrl::App(url.into())) .title("Codex++ 管理工具") .inner_size(1180.0, 820.0) .min_inner_size(960.0, 720.0) .build()?; + install_tray(app)?; + register_main_window_events(main_window, app.handle().clone()); Ok(()) }) .invoke_handler(tauri::generate_handler![ @@ -87,6 +101,100 @@ pub fn run() { } } +fn install_tray(app: &tauri::App) -> tauri::Result<()> { + let show_item = MenuItem::with_id(app, TRAY_MENU_SHOW, "显示主窗口", true, None::<&str>)?; + let quit_item = MenuItem::with_id(app, TRAY_MENU_QUIT, "退出程序", true, None::<&str>)?; + let tray_menu = Menu::with_items(app, &[&show_item, &quit_item])?; + + let mut tray_builder = TrayIconBuilder::new() + .menu(&tray_menu) + .show_menu_on_left_click(false) + .on_menu_event(|app, event| match event.id.as_ref() { + TRAY_MENU_SHOW => { + show_main_window(app); + } + TRAY_MENU_QUIT => { + APP_EXITING.store(true, Ordering::SeqCst); + app.exit(0); + } + _ => {} + }) + .on_tray_icon_event(|tray, event| match event { + TrayIconEvent::Click { + button: MouseButton::Left, + button_state: MouseButtonState::Up, + .. + } + | TrayIconEvent::DoubleClick { + button: MouseButton::Left, + .. + } => { + show_main_window(&tray.app_handle()); + } + _ => {} + }); + + if let Some(icon) = app.default_window_icon().cloned() { + tray_builder = tray_builder.icon(icon); + } + + let _ = tray_builder.build(app)?; + Ok(()) +} + +fn register_main_window_events( + window: tauri::WebviewWindow, + app_handle: tauri::AppHandle, +) { + let event_window = window.clone(); + let dialog_window = window.clone(); + let dialog_app_handle = app_handle.clone(); + let minimized_window = event_window.clone(); + + event_window.on_window_event(move |event| match event { + WindowEvent::Resized(_) => { + if matches!(minimized_window.is_minimized(), Ok(true)) { + let _ = minimized_window.hide(); + } + } + WindowEvent::CloseRequested { api, .. } => { + if APP_EXITING.load(Ordering::SeqCst) { + return; + } + + api.prevent_close(); + let app_for_decision = dialog_app_handle.clone(); + let window_for_decision = dialog_window.clone(); + dialog_app_handle + .dialog() + .message("要退出 Codex++ 管理工具,还是最小化到系统托盘?") + .title("关闭确认") + .kind(MessageDialogKind::Info) + .buttons(MessageDialogButtons::OkCancelCustom( + "退出程序".into(), + "最小化到托盘".into(), + )) + .show(move |should_exit| { + if should_exit { + APP_EXITING.store(true, Ordering::SeqCst); + app_for_decision.exit(0); + } else { + let _ = window_for_decision.hide(); + } + }); + } + _ => {} + }); +} + +fn show_main_window(app_handle: &tauri::AppHandle) { + if let Some(window) = app_handle.get_webview_window("main") { + let _ = window.unminimize(); + let _ = window.show(); + let _ = window.set_focus(); + } +} + fn install_panic_logger() { std::panic::set_hook(Box::new(|panic_info| { let payload = panic_info From d63de15ae6edc8ea614cf9320778abe387cb4ccb Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=A5=9A=E9=97=A8?= Date: Thu, 28 May 2026 20:14:54 +0800 Subject: [PATCH 002/156] feat(macos): dynamically detect install root and fix flaky model catalog test --- crates/codex-plus-core/src/install/mod.rs | 13 ++++++++++++- crates/codex-plus-core/tests/model_catalog.rs | 2 ++ 2 files changed, 14 insertions(+), 1 deletion(-) diff --git a/crates/codex-plus-core/src/install/mod.rs b/crates/codex-plus-core/src/install/mod.rs index 2a201a19b..6b950c13e 100644 --- a/crates/codex-plus-core/src/install/mod.rs +++ b/crates/codex-plus-core/src/install/mod.rs @@ -129,7 +129,18 @@ pub fn default_install_root() -> Option { #[cfg(target_os = "macos")] { - return Some(PathBuf::from("/Applications")); + let sys_apps = PathBuf::from("/Applications"); + if sys_apps.join(format!("{SILENT_NAME}.app")).exists() + || sys_apps.join(format!("{MANAGER_NAME}.app")).exists() + { + return Some(sys_apps); + } + if let Ok(exe) = std::env::current_exe() { + if let Some(dir) = macos_applications_dir_from_exe(&exe) { + return Some(dir); + } + } + return Some(sys_apps); } #[cfg(not(any(windows, target_os = "macos")))] diff --git a/crates/codex-plus-core/tests/model_catalog.rs b/crates/codex-plus-core/tests/model_catalog.rs index 060ff3646..d9d7c5f9c 100644 --- a/crates/codex-plus-core/tests/model_catalog.rs +++ b/crates/codex-plus-core/tests/model_catalog.rs @@ -89,6 +89,8 @@ async fn model_catalog_uses_active_relay_profile_model_list_for_display() { base_url: "https://example.test/v1".to_string(), protocol: RelayProtocol::Responses, model_list: "deepseek-coder\nqwen3-coder\nclaude-compatible".to_string(), + config_contents: "model = \"qwen3-coder\"\n".to_string(), + relay_mode: codex_plus_core::settings::RelayMode::MixedApi, ..RelayProfile::default() }], ..BackendSettings::default() From 9cd70dc99fd9cf8ba96934540adbc7cf639c8e08 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E9=BB=84=E6=A5=9A=E9=97=A8?= Date: Thu, 28 May 2026 20:23:50 +0800 Subject: [PATCH 003/156] fix(macos): remove Applications link from DMG package stage --- scripts/installer/macos/package-dmg.sh | 1 - 1 file changed, 1 deletion(-) mode change 100644 => 100755 scripts/installer/macos/package-dmg.sh diff --git a/scripts/installer/macos/package-dmg.sh b/scripts/installer/macos/package-dmg.sh old mode 100644 new mode 100755 index 8752e2045..a90ad6f7e --- a/scripts/installer/macos/package-dmg.sh +++ b/scripts/installer/macos/package-dmg.sh @@ -84,7 +84,6 @@ sign_app() { prepare_icon create_app "Codex++" "CodexPlusPlus" "$BINARY_DIR/codex-plus-plus" "com.bigpizzav3.codexplusplus" "true" create_app "Codex++ 管理工具" "CodexPlusPlusManager" "$BINARY_DIR/codex-plus-plus-manager" "com.bigpizzav3.codexplusplus.manager" "false" -ln -s /Applications "$STAGE/Applications" sign_app "$STAGE/Codex++.app" sign_app "$STAGE/Codex++ 管理工具.app" From d3f1f1fb72b93daf1127422bea69dbb7b9a21709 Mon Sep 17 00:00:00 2001 From: AlbertLuo <46886876+kokotao@users.noreply.github.com> Date: Sat, 30 May 2026 10:09:58 +0800 Subject: [PATCH 004/156] feat: add aggregate relay provider rotation --- .gitignore | 1 + .../src-tauri/src/commands.rs | 78 ++- .../src-tauri/tests/windows_subsystem.rs | 6 + apps/codex-plus-manager/src/App.tsx | 506 +++++++++++++++++- apps/codex-plus-manager/src/styles.css | 92 +++- crates/codex-plus-core/src/cli_wrapper.rs | 6 +- crates/codex-plus-core/src/launcher.rs | 45 +- crates/codex-plus-core/src/lib.rs | 1 + crates/codex-plus-core/src/model_catalog.rs | 12 +- crates/codex-plus-core/src/protocol_proxy.rs | 354 ++++++++++-- crates/codex-plus-core/src/relay_config.rs | 61 ++- crates/codex-plus-core/src/relay_rotation.rs | 335 ++++++++++++ crates/codex-plus-core/src/settings.rs | 184 +++++++ .../codex-plus-core/tests/protocol_proxy.rs | 194 ++++++- .../codex-plus-core/tests/relay_rotation.rs | 409 ++++++++++++++ ...36\346\226\275\350\256\241\345\210\222.md" | 210 ++++++++ 16 files changed, 2401 insertions(+), 93 deletions(-) create mode 100644 crates/codex-plus-core/src/relay_rotation.rs create mode 100644 crates/codex-plus-core/tests/relay_rotation.rs create mode 100644 "docs/plan/20260527160751519_\350\201\232\345\220\210API\344\276\233\345\272\224\345\225\206\350\275\256\350\275\254\345\256\236\346\226\275\350\256\241\345\210\222.md" diff --git a/.gitignore b/.gitignore index 42c56894e..752ceb34d 100644 --- a/.gitignore +++ b/.gitignore @@ -6,6 +6,7 @@ venv/ build/ dist/ target/ +node_modules/ apps/codex-plus-manager/src-tauri/gen/ .codex_asar_extract/ diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index bc3e71237..50a2e4980 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -713,10 +713,14 @@ fn strip_common_config_text_fallback(config_contents: &str, common_config: &str) let mut kept = Vec::new(); let mut skipping_table = false; + let mut in_root_section = true; + let mut removed_root_keys = std::collections::HashSet::new(); + let source_root_keys = toml_root_keys_before_first_table(config_contents); for line in config_contents.lines() { let trimmed = line.trim(); if trimmed.starts_with('[') && trimmed.ends_with(']') { + in_root_section = false; let header = trimmed.to_string(); skipping_table = common.table_headers.contains(&header); if skipping_table { @@ -728,9 +732,21 @@ fn strip_common_config_text_fallback(config_contents: &str, common_config: &str) continue; } - if let Some(key) = toml_key_from_line(trimmed) { + if in_root_section && let Some(key) = toml_key_from_line(trimmed) { if common.root_keys.contains(key) { - continue; + let is_duplicate_common_key = removed_root_keys.contains(key) + || source_root_keys.contains(key) + || common.table_headers.contains("[features]") + || common + .table_headers + .contains("[marketplaces.openai-bundled]") + || common + .table_headers + .contains("[plugins.\"superpowers@openai-curated\"]"); + if is_duplicate_common_key { + removed_root_keys.insert(key.to_string()); + continue; + } } } @@ -740,6 +756,20 @@ fn strip_common_config_text_fallback(config_contents: &str, common_config: &str) ensure_text_newline(kept.join("\n").trim_end()) } +fn toml_root_keys_before_first_table(config_contents: &str) -> std::collections::HashSet { + let mut keys = std::collections::HashSet::new(); + for line in config_contents.lines() { + let trimmed = line.trim(); + if trimmed.starts_with('[') && trimmed.ends_with(']') { + break; + } + if let Some(key) = toml_key_from_line(trimmed) { + keys.insert(key.to_string()); + } + } + keys +} + struct CommonConfigAnchors { root_keys: std::collections::HashSet, table_headers: std::collections::HashSet, @@ -1534,6 +1564,9 @@ pub fn apply_relay_injection() -> CommandResult { } let relay = settings.active_relay_profile(); log_relay_apply_request("manager.apply_relay_injection", &settings, &relay); + if settings.active_aggregate_relay_profile().is_some() { + return apply_aggregate_relay_injection_to_home(&home); + } if relay_has_complete_files(&relay) { return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules( &home, @@ -1625,6 +1658,33 @@ pub fn apply_relay_injection() -> CommandResult { } } +fn apply_aggregate_relay_injection_to_home(home: &Path) -> CommandResult { + match codex_plus_core::relay_config::apply_relay_config_to_home_with_protocol( + home, + &codex_plus_core::protocol_proxy::local_responses_proxy_base_url( + codex_plus_core::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT, + ), + "codex-plus-aggregate", + codex_plus_core::settings::RelayProtocol::Responses, + codex_plus_core::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT, + ) { + Ok(result) => { + let status = codex_plus_core::relay_config::relay_status_from_home(home); + ok( + "聚合供应商配置已写入,真实请求会由本地代理按策略轮转。", + relay_payload(status, result.backup_path), + ) + } + Err(error) => { + let status = codex_plus_core::relay_config::relay_status_from_home(home); + failed( + &format!("写入聚合供应商配置失败:{error}"), + relay_payload(status, None), + ) + } + } +} + #[tauri::command] pub fn apply_pure_api_injection() -> CommandResult { let home = codex_plus_core::relay_config::default_codex_home_dir(); @@ -2358,6 +2418,20 @@ mod tests { assert!(text.contains("hasBearerToken")); } + #[test] + fn aggregate_relay_injection_writes_local_proxy_without_chatgpt_auth() { + let temp = tempfile::tempdir().unwrap(); + + let result = apply_aggregate_relay_injection_to_home(temp.path()); + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + + assert_eq!(result.status, "ok"); + assert!(result.payload.configured); + assert!(!result.payload.authenticated); + assert!(config.contains(r#"base_url = "http://127.0.0.1:57321/v1""#)); + assert!(config.contains(r#"experimental_bearer_token = "codex-plus-aggregate""#)); + } + #[test] fn relay_files_payload_reads_config_and_auth_contents() { let temp = tempfile::tempdir().unwrap(); diff --git a/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs b/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs index 48b88afff..043ab5ba5 100644 --- a/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs +++ b/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs @@ -156,6 +156,12 @@ fn relay_settings_keeps_profile_config_and_auth_files_isolated() { assert!(app_tsx.contains("relayProfileSwitchValidation(selectedBeforeSave)")); assert!(app_tsx.contains("缺少独立 config.toml")); assert!(app_tsx.contains("const command = relayProfileSwitchCommand(selectedAfterSave)")); + assert!(app_tsx.contains("function relayProfileSwitchCommand")); + assert!(app_tsx.contains("return \"apply_pure_api_injection\"")); + assert!(app_tsx.contains("return \"apply_relay_injection\"")); + assert!(app_tsx.contains("const createNewAggregateProfile = () =>")); + assert!(app_tsx.contains("onClick={createNewAggregateProfile}")); + assert!(app_tsx.contains("已打开聚合供应商详情")); assert!(!commands_rs.contains("缺少独立 auth.json")); assert!(commands_rs.contains("backfill_relay_profile_from_live")); assert!(commands_rs.contains("apply_relay_profile_to_home_with_switch_rules")); diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index baf1c41d0..5a95f6bc5 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -116,6 +116,8 @@ type BackendSettings = { relayBaseUrl: string; relayApiKey: string; relayProfiles: RelayProfile[]; + aggregateRelayProfiles: AggregateRelayProfile[]; + activeAggregateRelayId: string; relayCommonConfigContents: string; relayContextConfigContents: string; activeRelayId: string; @@ -149,6 +151,27 @@ type RelayProfile = { autoCompactLimit: string; modelList: string; userAgent: string; + aggregate?: RelayAggregateConfig | null; +}; + +type RelayAggregateStrategy = "failover" | "conversationRoundRobin" | "requestRoundRobin" | "weightedRoundRobin"; +type RelayAggregateMember = { + profileId: string; + weight: number; +}; +type RelayAggregateConfig = { + strategy: RelayAggregateStrategy; + members: RelayAggregateMember[]; +}; +type AggregateRelayMember = { + relayId: string; + weight: number; +}; +type AggregateRelayProfile = { + id: string; + name: string; + strategy: RelayAggregateStrategy; + members: AggregateRelayMember[]; }; type RelayContextSelection = { @@ -175,7 +198,7 @@ type CodexContextEntries = { }; type RelayProtocol = "responses" | "chatCompletions"; -type RelayMode = "official" | "mixedApi" | "pureApi"; +type RelayMode = "official" | "mixedApi" | "pureApi" | "aggregate"; const PROTOCOL_PROXY_BASE_URL = "http://127.0.0.1:57321/v1"; const CHAT_UPSTREAM_BASE_URL_KEY = "codex_plus_chat_base_url"; const SCRIPT_MARKET_REPOSITORY_URL = "https://github.com/BigPizzaV3/CodexPlusPlusScriptMarket"; @@ -486,6 +509,8 @@ const defaultSettings: BackendSettings = { relayCommonConfigContents: "", relayContextConfigContents: "", activeRelayId: "default", + aggregateRelayProfiles: [], + activeAggregateRelayId: "", relayTestModel: "gpt-5.4-mini", cliWrapperEnabled: false, cliWrapperBaseUrl: "", @@ -1690,6 +1715,18 @@ function RelayScreen({ onFormChange(next); await actions.saveSettingsValue(next, true, preserveLinkedProfiles); }; + const createNewAggregateProfile = () => { + const draft = createAggregateRelayProfile(normalized); + setDetailProfileId(null); + setNewProfileDraft(draft); + if (!normalizeAggregateConfig(draft.aggregate, aggregateMemberCandidates(normalized, draft.id)).members.length) { + void actions.showMessage( + "添加聚合供应商", + "已打开聚合供应商详情;请先添加或完善至少 1 个普通 API 供应商的 Base URL / Key,再勾选为成员。", + "failed", + ); + } + }; const editRelayProfile = async (profileId: string) => { let nextSettings = normalized; const profile = normalized.relayProfiles.find((item) => item.id === profileId); @@ -1782,6 +1819,13 @@ function RelayScreen({ 添加供应商 + - + {isAggregateRelayProfile(draft) ? null : ( + )} ); } @@ -2729,8 +2781,19 @@ function RelayProfileEditor({ onSwitch: () => void; actions: Actions; }) { - const showApiFields = profile.relayMode !== "official" || profile.officialMixApiKey; const [showAdvanced, setShowAdvanced] = useState(false); + if (isAggregateRelayProfile(profile)) { + return ( + + ); + } + + const showApiFields = profile.relayMode !== "official" || profile.officialMixApiKey; const updateDraft = (patch: Partial) => { onProfileChange(applyRelayProfilePatchToFiles(profile, patch, { allowGenerateFiles: isNew })); }; @@ -2936,6 +2999,146 @@ function RelayProfileEditor({ ); } +function AggregateRelayProfileEditor({ + profile, + form, + isNew = false, + onProfileChange, +}: { + profile: RelayProfile; + form: BackendSettings; + isNew?: boolean; + onProfileChange: (value: RelayProfile) => void; +}) { + const candidates = aggregateMemberCandidates(form, profile.id); + const aggregate = normalizeAggregateConfig(profile.aggregate, candidates); + const memberIds = new Set(aggregate.members.map((member) => member.profileId)); + const updateAggregate = (nextAggregate: RelayAggregateConfig) => { + onProfileChange(normalizeAggregateRelayProfile({ ...profile, aggregate: nextAggregate }, form)); + }; + const toggleMember = (profileId: string, checked: boolean) => { + const members = checked + ? [...aggregate.members, { profileId, weight: 1 }] + : aggregate.members.filter((member) => member.profileId !== profileId); + updateAggregate({ ...aggregate, members }); + }; + const updateWeight = (profileId: string, weight: number) => { + updateAggregate({ + ...aggregate, + members: aggregate.members.map((member) => + member.profileId === profileId ? { ...member, weight: clampAggregateWeight(weight) } : member, + ), + }); + }; + const totalWeight = aggregate.members.reduce((total, member) => total + clampAggregateWeight(member.weight), 0); + + return ( +
+
+
+ {profile.name || "未命名聚合供应商"} + {isNew ? "选择已有供应商作为成员,保存后写入 settings payload" : "聚合配置只引用已有供应商,不复制 Key 和配置文件"} +
+ 聚合 +
+
+ + onProfileChange({ ...profile, name: event.currentTarget.value })} + placeholder="例如 主力聚合池" + /> + + + onProfileChange({ ...profile, testModel: event.currentTarget.value })} + placeholder={`留空使用默认:${form.relayTestModel || defaultSettings.relayTestModel}`} + /> + + + + +
+
+ {aggregateStrategyOptions.map((option) => ( + + ))} +
+
+
+
+ 成员供应商 + 只能勾选已填写 Base URL / Key 的 API 供应商,聚合供应商不会作为成员。 +
+ {aggregate.members.length} / {candidates.length} +
+ {candidates.length ? ( +
+ {candidates.map((candidate) => { + const member = aggregate.members.find((item) => item.profileId === candidate.id); + const checked = memberIds.has(candidate.id); + return ( + + ); + })} +
+ ) : ( +
先添加至少 1 个已填写 Base URL / Key 的 API 供应商,再创建聚合供应商。
+ )} +
+
+ + + + +
+
+ + {aggregateStrategyHelp(aggregate.strategy)} +
+
+ ); +} + function RelayContextManager({ form, liveEntries, @@ -4185,6 +4388,9 @@ function healthItems(overview: OverviewResult | null) { } function normalizeSettings(settings: BackendSettings): BackendSettings { + const backendAggregates = new Map( + (settings.aggregateRelayProfiles ?? []).map((aggregate) => [aggregate.id, aggregate] as const), + ); const splitCommon = splitContextConfigText(settings.relayCommonConfigContents || ""); const relayCommonConfigContents = splitCommon.common; const relayContextConfigContents = joinTomlSectionsRootFirst([ @@ -4198,7 +4404,9 @@ function normalizeSettings(settings: BackendSettings): BackendSettings { }); const profiles = settings.relayProfiles?.length - ? settings.relayProfiles.map((profile) => normalizeRelayProfile(profile, defaultContextSelection)) + ? settings.relayProfiles.map((profile) => + normalizeRelayProfile(hydrateAggregateRelayProfile(profile, backendAggregates.get(profile.id)), defaultContextSelection), + ) : [ { id: settings.activeRelayId || "default", @@ -4248,6 +4456,33 @@ function inputToCodexExtraArgs(value: string) { function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = emptyContextSelection()): RelayProfile { const legacyMixedApi = profile.relayMode === "mixedApi"; + if (profile.relayMode === "aggregate" || profile.aggregate) { + return normalizeAggregateRelayProfile( + { + ...profile, + linkedCcsProviderId: "", + model: profile.model || "", + baseUrl: "", + upstreamBaseUrl: "", + apiKey: "", + protocol: "responses", + relayMode: "aggregate", + officialMixApiKey: false, + testModel: profile.testModel || "", + configContents: "", + authContents: "", + useCommonConfig: profile.useCommonConfig !== false, + contextSelection: profile.contextSelectionInitialized + ? normalizeContextSelection(profile.contextSelection) + : normalizeContextSelection(undefined, defaultContextSelection), + contextSelectionInitialized: true, + contextWindow: "", + autoCompactLimit: "", + modelList: "", + }, + null, + ); + } let normalized: RelayProfile = { ...profile, linkedCcsProviderId: profile.linkedCcsProviderId || "", @@ -4270,10 +4505,27 @@ function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = autoCompactLimit: profile.autoCompactLimit || "", modelList: profile.modelList || "", userAgent: profile.userAgent || "", + aggregate: null, }; return deriveRelayProfileFromFiles(normalized); } +function hydrateAggregateRelayProfile(profile: RelayProfile, aggregate: AggregateRelayProfile | undefined): RelayProfile { + if (!aggregate) return profile; + return { + ...profile, + name: profile.name || aggregate.name, + relayMode: "aggregate", + aggregate: { + strategy: aggregate.strategy, + members: aggregate.members.map((member) => ({ + profileId: member.relayId, + weight: clampAggregateWeight(member.weight), + })), + }, + }; +} + function activeRelayProfile(settings: BackendSettings): RelayProfile { return ( settings.relayProfiles.find((profile) => profile.id === settings.activeRelayId) || @@ -4287,6 +4539,7 @@ function relayProtocolLabel(protocol: RelayProtocol): string { } function normalizeRelayMode(mode: RelayMode | undefined): RelayMode { + if (mode === "aggregate") return mode; if (mode === "pureApi") return mode; return "official"; } @@ -4310,16 +4563,24 @@ function normalizeContextSelection( } function relayModeLabel(mode: RelayMode): string { + if (mode === "aggregate") return "聚合供应商"; if (mode === "pureApi") return "纯 API"; return "官方登录"; } function relayProfileConfigBrief(profile: RelayProfile): string { + if (isAggregateRelayProfile(profile)) { + const aggregate = normalizeAggregateConfig(profile.aggregate, []); + return `${aggregateStrategyLabel(aggregate.strategy)} · ${aggregate.members.length} 个成员`; + } if (profile.relayMode === "official") return profile.officialMixApiKey ? "混入 API Key" : "不写 API 文件"; return profile.baseUrl || "未填写 URL"; } function relayProfileModeHelp(profile: RelayProfile): string { + if (isAggregateRelayProfile(profile)) { + return "聚合供应商只保存成员和策略配置,成员来自已有 API 供应商;切为当前后会通过本地协议代理轮转请求。"; + } if (profile.relayMode === "official") { if (profile.officialMixApiKey) { return "此供应商会保留官方登录模式,并把请求混入当前 API Key;页面增强仍使用兼容模式。"; @@ -4333,6 +4594,10 @@ function relayProfileModeHelp(profile: RelayProfile): string { } function relayProfileReadinessText(profile: RelayProfile, relay: RelayResult | null): string { + if (isAggregateRelayProfile(profile)) { + const aggregate = normalizeAggregateConfig(profile.aggregate, []); + return `聚合供应商已配置为${aggregateStrategyLabel(aggregate.strategy)},包含 ${aggregate.members.length} 个成员;真实对话会走本地代理轮转。`; + } if (profile.relayMode === "official") { if (profile.officialMixApiKey) { const hasApiFields = profile.baseUrl.trim() && profile.apiKey.trim(); @@ -4352,6 +4617,7 @@ function relayProfileReadinessText(profile: RelayProfile, relay: RelayResult | n } function relayProfileSwitchCommand(profile: RelayProfile): "clear_relay_injection" | "apply_relay_injection" | "apply_pure_api_injection" { + if (isAggregateRelayProfile(profile)) return "apply_relay_injection"; if (profile.relayMode === "pureApi") return "apply_pure_api_injection"; if (profile.relayMode === "official" && !profile.officialMixApiKey) return "clear_relay_injection"; if (profile.configContents.trim()) return "apply_relay_injection"; @@ -4359,12 +4625,16 @@ function relayProfileSwitchCommand(profile: RelayProfile): "clear_relay_injectio } function relayProfileModeSwitchedText(profile: RelayProfile): string { + if (isAggregateRelayProfile(profile)) return "已切换到聚合供应商;真实对话会按所选策略轮转成员。"; if (profile.relayMode === "pureApi") return "已按此供应商切换到纯 API;页面增强已设为完整增强。"; if (profile.officialMixApiKey) return "已按此供应商使用官方登录,并混入 API Key;页面增强已设为兼容增强。"; return "已按此供应商切回官方登录;页面增强已设为兼容增强。"; } function withGeneratedRelayFiles(profile: RelayProfile): RelayProfile { + if (isAggregateRelayProfile(profile)) { + return { ...profile, configContents: "", authContents: "", aggregate: normalizeAggregateConfig(profile.aggregate, []) }; + } if (profile.relayMode === "official") { return { ...profile, @@ -4420,6 +4690,9 @@ function buildOfficialRelayAuthJson(contents: string): string { } function deriveRelayProfileFromFiles(profile: RelayProfile): RelayProfile { + if (isAggregateRelayProfile(profile)) { + return normalizeAggregateRelayProfile(profile, null); + } const configContents = profile.configContents || ""; const authContents = profile.relayMode === "official" ? buildOfficialRelayAuthJson(profile.authContents || "") : profile.authContents || ""; const configBaseUrl = codexBaseUrlFromConfig(configContents); @@ -4448,6 +4721,9 @@ function applyRelayProfilePatchToFiles( options: { allowGenerateFiles?: boolean } = {}, ): RelayProfile { let next: RelayProfile = { ...profile, ...patch }; + if (isAggregateRelayProfile(next)) { + return normalizeAggregateRelayProfile(next, null); + } const shouldHaveFiles = next.relayMode !== "official" || next.officialMixApiKey || next.configContents.trim() || next.authContents.trim(); const needsAuthFile = next.relayMode === "pureApi"; @@ -4708,6 +4984,9 @@ function removeTomlSectionKey(contents: string, sectionName: string, key: string } function relayProfileSwitchValidation(profile: RelayProfile): string | null { + if (isAggregateRelayProfile(profile)) { + return aggregateRelayProfileValidation(profile); + } if (profile.relayMode === "official" && !profile.officialMixApiKey) return null; if (!profile.configContents.trim()) { return `供应商「${profile.name || profile.id}」缺少独立 config.toml,已停止切换,避免继续显示上一套配置文件。请先在该供应商详情里保存 config.toml。`; @@ -4732,17 +5011,39 @@ function tomlString(value: string): string { } function syncLegacyRelayFields(settings: BackendSettings): BackendSettings { - const relayProfiles = settings.relayProfiles.map(deriveRelayProfileFromFiles); + const relayProfiles = settings.relayProfiles.map((profile) => + isAggregateRelayProfile(profile) ? normalizeAggregateRelayProfile(profile, { ...settings, relayProfiles: settings.relayProfiles }) : deriveRelayProfileFromFiles(profile), + ); const active = activeRelayProfile({ ...settings, relayProfiles }); + const aggregateRelayProfiles = normalizeAggregateProfilesFromRelayProfiles(relayProfiles); + const activeAggregateRelayId = isAggregateRelayProfile(active) ? active.id : ""; return { ...settings, relayProfiles, activeRelayId: active.id, - relayBaseUrl: active.baseUrl, + relayBaseUrl: isAggregateRelayProfile(active) ? PROTOCOL_PROXY_BASE_URL : active.baseUrl, relayApiKey: active.apiKey, + aggregateRelayProfiles, + activeAggregateRelayId, }; } +function normalizeAggregateProfilesFromRelayProfiles(profiles: RelayProfile[]): AggregateRelayProfile[] { + const candidates = profiles.filter((profile) => !isAggregateRelayProfile(profile)); + return profiles.filter(isAggregateRelayProfile).map((profile) => { + const aggregate = normalizeAggregateConfig(profile.aggregate, candidates); + return { + id: profile.id, + name: profile.name || "聚合供应商", + strategy: aggregate.strategy, + members: aggregate.members.map((member) => ({ + relayId: member.profileId, + weight: clampAggregateWeight(member.weight), + })), + }; + }); +} + function mergeLiveLinkedRelayProfiles(settings: BackendSettings, liveSettings: BackendSettings): BackendSettings { const liveLinkedById = new Map( liveSettings.relayProfiles @@ -4765,6 +5066,14 @@ function mergeLiveLinkedRelayProfiles(settings: BackendSettings, liveSettings: B } function updateRelayProfile(settings: BackendSettings, id: string, patch: Partial): BackendSettings { + if (patch.relayMode === "aggregate" || patch.aggregate) { + return syncLegacyRelayFields({ + ...settings, + relayProfiles: settings.relayProfiles.map((profile) => + profile.id === id ? normalizeAggregateRelayProfile({ ...profile, ...patch }, settings) : profile, + ), + }); + } return syncLegacyRelayFields({ ...settings, relayProfiles: settings.relayProfiles.map((profile) => { @@ -4802,10 +5111,46 @@ function createRelayProfile(settings: BackendSettings): RelayProfile { return withGeneratedRelayFiles(next); } -function addRelayProfile(settings: BackendSettings, profile: RelayProfile): BackendSettings { - const nextWithFiles = deriveRelayProfileFromFiles( - profile.configContents.trim() || profile.authContents.trim() ? profile : withGeneratedRelayFiles(profile), +function createAggregateRelayProfile(settings: BackendSettings): RelayProfile { + const id = `aggregate-${Date.now().toString(36)}`; + const contextSelection = contextSelectionForAllEntries(settings); + const candidates = aggregateMemberCandidates(settings, id); + return normalizeAggregateRelayProfile( + { + id, + linkedCcsProviderId: "", + name: `聚合供应商 ${settings.relayProfiles.filter(isAggregateRelayProfile).length + 1}`, + model: "", + baseUrl: "", + upstreamBaseUrl: "", + apiKey: "", + protocol: "responses", + relayMode: "aggregate", + officialMixApiKey: false, + testModel: "", + configContents: "", + authContents: "", + useCommonConfig: true, + contextSelection, + contextSelectionInitialized: true, + contextWindow: "", + autoCompactLimit: "", + modelList: "", + aggregate: { + strategy: "failover", + members: candidates.slice(0, 1).map((profile) => ({ profileId: profile.id, weight: 1 })), + }, + }, + settings, ); +} + +function addRelayProfile(settings: BackendSettings, profile: RelayProfile): BackendSettings { + const nextWithFiles = isAggregateRelayProfile(profile) + ? normalizeAggregateRelayProfile(profile, settings) + : deriveRelayProfileFromFiles( + profile.configContents.trim() || profile.authContents.trim() ? profile : withGeneratedRelayFiles(profile), + ); const activeId = settings.relayProfiles.some((item) => item.id === settings.activeRelayId) ? settings.activeRelayId : activeRelayProfile(settings).id; @@ -4826,8 +5171,9 @@ function duplicateRelayProfile(settings: BackendSettings, id: string): BackendSe linkedCcsProviderId: "", name: `${source.name || "未命名供应商"} 副本`, }; + const normalizedNext = isAggregateRelayProfile(next) ? normalizeAggregateRelayProfile(next, settings) : next; const relayProfiles = [...settings.relayProfiles]; - relayProfiles.splice(sourceIndex >= 0 ? sourceIndex + 1 : relayProfiles.length, 0, next); + relayProfiles.splice(sourceIndex >= 0 ? sourceIndex + 1 : relayProfiles.length, 0, normalizedNext); return syncLegacyRelayFields({ ...settings, relayProfiles, @@ -4850,13 +5196,123 @@ function reorderRelayProfiles(settings: BackendSettings, sourceId: string, targe function removeRelayProfile(settings: BackendSettings, id: string): BackendSettings { const profiles = settings.relayProfiles.filter((profile) => profile.id !== id); + const scrubbedProfiles = profiles.map((profile) => + isAggregateRelayProfile(profile) + ? normalizeAggregateRelayProfile( + { + ...profile, + aggregate: { + ...normalizeAggregateConfig(profile.aggregate, []), + members: normalizeAggregateConfig(profile.aggregate, []).members.filter((member) => member.profileId !== id), + }, + }, + { ...settings, relayProfiles: profiles }, + ) + : profile, + ); return syncLegacyRelayFields({ ...settings, - relayProfiles: profiles.length ? profiles : defaultSettings.relayProfiles, - activeRelayId: settings.activeRelayId === id ? profiles[0]?.id || "default" : settings.activeRelayId, + relayProfiles: scrubbedProfiles.length ? scrubbedProfiles : defaultSettings.relayProfiles, + activeRelayId: settings.activeRelayId === id ? scrubbedProfiles[0]?.id || "default" : settings.activeRelayId, }); } +const aggregateStrategyOptions: Array<{ value: RelayAggregateStrategy; label: string; description: string }> = [ + { + value: "failover", + label: "失败切换", + description: "按成员顺序请求,失败后切到下一个供应商。", + }, + { + value: "conversationRoundRobin", + label: "按对话轮转", + description: "同一对话保持一个成员,不同对话依次分配。", + }, + { + value: "requestRoundRobin", + label: "按请求轮转", + description: "每次请求按成员顺序切换,适合均匀摊请求量。", + }, + { + value: "weightedRoundRobin", + label: "权重轮转", + description: "按成员权重分配请求,权重越高承担越多。", + }, +]; + +function isAggregateRelayProfile(profile: Pick): boolean { + return profile.relayMode === "aggregate" || !!profile.aggregate; +} + +function normalizeAggregateRelayProfile(profile: RelayProfile, settings: BackendSettings | null): RelayProfile { + const candidates = settings ? aggregateMemberCandidates(settings, profile.id) : []; + const aggregate = normalizeAggregateConfig(profile.aggregate, candidates); + return { + ...profile, + linkedCcsProviderId: "", + baseUrl: "", + upstreamBaseUrl: "", + apiKey: "", + protocol: "responses", + relayMode: "aggregate", + officialMixApiKey: false, + configContents: "", + authContents: "", + aggregate, + }; +} + +function normalizeAggregateConfig( + aggregate: RelayAggregateConfig | null | undefined, + candidates: RelayProfile[], +): RelayAggregateConfig { + const candidateIds = new Set(candidates.map((profile) => profile.id)); + const seen = new Set(); + const strategy: RelayAggregateStrategy = + aggregate?.strategy && aggregateStrategyOptions.some((option) => option.value === aggregate.strategy) + ? aggregate.strategy + : "failover"; + const members = (aggregate?.members ?? []) + .filter((member) => member.profileId && !seen.has(member.profileId)) + .filter((member) => !candidateIds.size || candidateIds.has(member.profileId)) + .map((member) => { + seen.add(member.profileId); + return { profileId: member.profileId, weight: clampAggregateWeight(member.weight) }; + }); + return { strategy, members }; +} + +function aggregateMemberCandidates(settings: BackendSettings, aggregateId: string): RelayProfile[] { + return settings.relayProfiles.filter( + (profile) => profile.id !== aggregateId && !isAggregateRelayProfile(profile) && isApiRelayProfile(profile), + ); +} + +function isApiRelayProfile(profile: RelayProfile): boolean { + return Boolean(profile.baseUrl.trim() && profile.apiKey.trim()); +} + +function clampAggregateWeight(value: number): number { + if (!Number.isFinite(value)) return 1; + return Math.max(1, Math.min(999, Math.round(value))); +} + +function aggregateStrategyLabel(strategy: RelayAggregateStrategy): string { + return aggregateStrategyOptions.find((option) => option.value === strategy)?.label ?? "失败切换"; +} + +function aggregateStrategyHelp(strategy: RelayAggregateStrategy): string { + if (strategy === "failover") return "失败切换会保留成员顺序,优先使用第一个可用供应商。"; + if (strategy === "conversationRoundRobin") return "按对话轮转会让同一对话尽量保持固定成员,降低上下文漂移。"; + if (strategy === "requestRoundRobin") return "按请求轮转会逐请求切换成员,适合供应商能力接近的场景。"; + return "权重轮转会读取每个成员的权重值,权重越高的成员获得更多请求。"; +} + +function aggregateRelayProfileValidation(profile: RelayProfile): string | null { + const aggregate = normalizeAggregateConfig(profile.aggregate, []); + return aggregate.members.length >= 1 ? null : "聚合供应商至少需要勾选 1 个已填写 Base URL / Key 的 API 供应商。"; +} + function numberOrDefault(value: string, fallback: number) { const parsed = Number.parseInt(value, 10); return Number.isFinite(parsed) ? parsed : fallback; diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index bcc2444cd..1635e96bb 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -499,6 +499,7 @@ body { .relay-add-row { display: flex; justify-content: flex-end; + gap: 8px; margin-bottom: 10px; } @@ -679,7 +680,7 @@ body { position: sticky; top: 0; z-index: 20; - margin: 0; + margin: -16px -20px 0; padding: 10px 20px; background: hsl(var(--background)); border-bottom: 1px solid hsl(var(--border)); @@ -713,6 +714,11 @@ body { margin: 0 20px 24px; } +.aggregate-editor { + display: grid; + gap: 12px; +} + .relay-editor-head, .relay-file-head { display: flex; @@ -797,6 +803,10 @@ body { animation-delay: 95ms; } +.aggregate-fields { + margin-top: 0; +} + .relay-field-name { grid-column: 1; } @@ -1254,6 +1264,86 @@ body { line-height: 1.45; } +.aggregate-strategy-grid { + display: grid; + grid-template-columns: repeat(4, minmax(0, 1fr)); + gap: 8px; +} + +.aggregate-strategy-option { + min-height: 118px; +} + +.aggregate-members { + display: grid; + gap: 10px; + border: 1px solid hsl(var(--border)); + border-radius: 8px; + background: hsl(var(--secondary) / 0.22); + padding: 12px; +} + +.aggregate-members-head { + display: flex; + gap: 12px; + align-items: center; + justify-content: space-between; +} + +.aggregate-members-head > div, +.aggregate-member-summary { + display: grid; + gap: 3px; + min-width: 0; +} + +.aggregate-members-head span, +.aggregate-member-summary small, +.aggregate-weight-box > span { + color: hsl(var(--muted-foreground)); + font-size: 12px; + line-height: 1.35; +} + +.aggregate-member-list { + display: grid; + gap: 8px; +} + +.aggregate-member-row { + display: grid; + grid-template-columns: 18px minmax(0, 1fr) 118px; + gap: 10px; + align-items: center; + border: 1px solid hsl(var(--border)); + border-radius: 8px; + background: hsl(var(--background)); + padding: 10px; +} + +.aggregate-member-row.selected { + border-color: hsl(var(--primary) / 0.68); + background: hsl(var(--primary) / 0.1); +} + +.aggregate-member-row input[type="checkbox"] { + width: 16px; + height: 16px; +} + +.aggregate-weight-box { + display: grid; + gap: 4px; +} + +.aggregate-weight-box input { + min-height: 34px; +} + +.aggregate-preview { + margin-top: 0; +} + .metric-list div, .table-row { display: grid; diff --git a/crates/codex-plus-core/src/cli_wrapper.rs b/crates/codex-plus-core/src/cli_wrapper.rs index 19b123303..5fa89c1de 100644 --- a/crates/codex-plus-core/src/cli_wrapper.rs +++ b/crates/codex-plus-core/src/cli_wrapper.rs @@ -151,9 +151,9 @@ pub fn wrapper_dir() -> PathBuf { } pub fn wrapper_dir_from_roaming(roaming: &Path) -> PathBuf { - let roaming_text = roaming.as_os_str().to_string_lossy(); - if roaming_text.contains('\\') && !roaming_text.contains('/') { - return PathBuf::from(format!("{roaming_text}\\Codex++")); + let raw = roaming.as_os_str().to_string_lossy(); + if raw.contains('\\') && (!raw.contains('/') || cfg!(not(windows))) { + return PathBuf::from(format!("{}\\Codex++", raw.trim_end_matches(['\\', '/']))); } roaming.join("Codex++") } diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 3d652a63d..e711fc974 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -267,7 +267,7 @@ where } fn relay_protocol_proxy_enabled(settings: &BackendSettings) -> bool { - settings.active_relay_profile().protocol == crate::settings::RelayProtocol::ChatCompletions + settings.active_relay_uses_protocol_proxy() } pub trait IntoLaunchHooks { @@ -845,6 +845,26 @@ async fn handle_protocol_proxy_connection( if upstream.is_stream { write_http_stream_headers(stream, "200 OK", "text/event-stream; charset=utf-8").await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + let mut bytes_stream = upstream.response.bytes_stream(); + while let Some(chunk) = bytes_stream.next().await { + if let Ok(bytes) = chunk { + stream.write_all(&bytes).await?; + } else { + break; + } + } + log_helper_response( + "helper.protocol_proxy_stream_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let mut converter = request_json .as_ref() .map(crate::protocol_proxy::ChatSseToResponsesConverter::with_request) @@ -892,6 +912,29 @@ async fn handle_protocol_proxy_connection( } let upstream_body = upstream.response.bytes().await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + write_http_response( + stream, + "200 OK", + if upstream.content_type.is_empty() { + "application/json; charset=utf-8" + } else { + &upstream.content_type + }, + &upstream_body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let chat_json: serde_json::Value = serde_json::from_slice(&upstream_body)?; let response_json = if let Some(request_json) = request_json.as_ref() { crate::protocol_proxy::chat_completion_to_response_with_request(chat_json, request_json)? diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 4087af5be..43a4cc5f6 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -16,6 +16,7 @@ pub mod ports; pub mod protocol_proxy; pub mod proxy; pub mod relay_config; +pub mod relay_rotation; pub mod routes; pub mod script_market; pub mod settings; diff --git a/crates/codex-plus-core/src/model_catalog.rs b/crates/codex-plus-core/src/model_catalog.rs index 49041945e..84e79637b 100644 --- a/crates/codex-plus-core/src/model_catalog.rs +++ b/crates/codex-plus-core/src/model_catalog.rs @@ -66,11 +66,7 @@ pub async fn read_codex_model_catalog() -> Value { fn relay_profile_model_catalog_value(home: &Path, profile: &RelayProfile) -> Value { let models = relay_profile_model_ids(profile); let model = profile.model.trim().to_string(); - let default_model = if models.iter().any(|item| item == &model) { - model.clone() - } else { - models.first().cloned().unwrap_or_default() - }; + let default_model = models.first().cloned().unwrap_or_default(); let provider_name = if profile.name.trim().is_empty() { profile.id.trim() } else { @@ -102,8 +98,10 @@ fn relay_profile_model_catalog_value(home: &Path, profile: &RelayProfile) -> Val fn relay_profile_model_ids(profile: &RelayProfile) -> Vec { unique_strings( - std::iter::once(profile.model.as_str()) - .chain(profile.model_list.split(['\r', '\n', ','])) + profile + .model_list + .split(['\r', '\n', ',']) + .chain(std::iter::once(profile.model.as_str())) .map(str::trim) .filter(|value| !value.is_empty()) .map(ToString::to_string) diff --git a/crates/codex-plus-core/src/protocol_proxy.rs b/crates/codex-plus-core/src/protocol_proxy.rs index 23510d01c..8fe1c04f7 100644 --- a/crates/codex-plus-core/src/protocol_proxy.rs +++ b/crates/codex-plus-core/src/protocol_proxy.rs @@ -4,12 +4,18 @@ use std::collections::BTreeMap; use std::collections::BTreeSet; +use std::time::Duration; +use anyhow::Context; use serde_json::{Value, json}; +use crate::relay_rotation::{RotationContext, RotationEvent}; use crate::settings::{RelayProtocol, SettingsStore}; pub const DEFAULT_PROTOCOL_PROXY_PORT: u16 = 57321; +const UPSTREAM_CONNECT_TIMEOUT: Duration = Duration::from_secs(5); +const UPSTREAM_HEADER_TIMEOUT: Duration = Duration::from_secs(30); +const UPSTREAM_STREAM_HEADER_TIMEOUT: Duration = Duration::from_secs(120); const THINK_OPEN_TAG: &str = ""; const THINK_CLOSE_TAG: &str = ""; const EXTRA_CHAT_PASSTHROUGH_FIELDS: &[&str] = &[ @@ -280,9 +286,16 @@ pub struct UpstreamProxyResponse { pub status_code: u16, pub content_type: String, pub is_stream: bool, + pub wire_api: UpstreamWireApi, pub response: reqwest::Response, } +#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize)] +pub enum UpstreamWireApi { + Responses, + ChatCompletions, +} + impl UpstreamProxyResponse { pub fn status(&self) -> String { http_status_line(self.status_code) @@ -293,6 +306,46 @@ impl UpstreamProxyResponse { } } +pub fn upstream_header_timeout() -> Duration { + UPSTREAM_HEADER_TIMEOUT +} + +pub fn upstream_stream_header_timeout() -> Duration { + UPSTREAM_STREAM_HEADER_TIMEOUT +} + +pub fn upstream_http_client() -> anyhow::Result { + reqwest::Client::builder() + .connect_timeout(UPSTREAM_CONNECT_TIMEOUT) + .user_agent("CodexPlusPlus/ProtocolProxy") + .build() + .context("failed to build upstream HTTP client") +} + +pub async fn send_upstream_request( + request: reqwest::RequestBuilder, +) -> anyhow::Result { + send_upstream_request_with_header_timeout(request, UPSTREAM_HEADER_TIMEOUT).await +} + +pub async fn send_upstream_request_for_responses( + request: reqwest::RequestBuilder, + is_stream: bool, +) -> anyhow::Result { + let timeout = response_header_timeout(is_stream); + send_upstream_request_with_header_timeout(request, timeout).await +} + +pub async fn send_upstream_request_with_header_timeout( + request: reqwest::RequestBuilder, + timeout: Duration, +) -> anyhow::Result { + tokio::time::timeout(timeout, request.send()) + .await + .with_context(|| format!("上游请求超过 {} 秒未返回响应头", timeout.as_secs()))? + .context("上游请求失败") +} + pub struct ChatSseToResponsesConverter { buffer: String, utf8_remainder: Vec, @@ -425,66 +478,165 @@ pub fn is_models_proxy_path(path: &str) -> bool { pub async fn open_responses_proxy_request(body: &str) -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); - let relay = settings.active_relay_profile(); - if relay.protocol != RelayProtocol::ChatCompletions { - anyhow::bail!("当前中转未启用 Chat Completions 协议代理"); - } - if relay.base_url.trim().is_empty() { - anyhow::bail!("Chat Completions 上游 Base URL 不能为空"); - } - if relay.api_key.trim().is_empty() { - anyhow::bail!("Chat Completions 上游 Key 不能为空"); - } + open_responses_proxy_request_with_settings(body, settings).await +} +pub async fn open_responses_proxy_request_with_settings( + body: &str, + settings: crate::settings::BackendSettings, +) -> anyhow::Result { let request_json: Value = serde_json::from_str(body)?; let is_stream = request_json .get("stream") .and_then(Value::as_bool) .unwrap_or(false); - let chat_request = responses_to_chat_completions(request_json.clone())?; - let client = crate::http_client::proxied_client(&relay.user_agent)?; - let upstream = client - .post(chat_completions_url(&relay.base_url)) - .bearer_auth(relay.api_key.trim()) - .header(reqwest::header::CONTENT_TYPE, "application/json") - .json(&chat_request) - .send() - .await?; - let status_code = upstream.status().as_u16(); - let content_type = upstream - .headers() - .get(reqwest::header::CONTENT_TYPE) - .and_then(|value| value.to_str().ok()) - .unwrap_or("") - .to_string(); - - Ok(UpstreamProxyResponse { - status_code, - is_stream: is_stream || content_type.contains("text/event-stream"), - content_type, - response: upstream, - }) + let context = RotationContext { + conversation_id: conversation_id_from_responses_request(&request_json), + }; + let relay = crate::relay_rotation::select_relay_for_request(&settings, context)?; + let mut relays = vec![relay.clone()]; + relays.extend(crate::relay_rotation::fallback_relays_after( + &settings, &relay.id, + )?); + let relay_count = relays.len(); + for (attempt, relay) in relays.into_iter().enumerate() { + validate_upstream(&relay)?; + let (endpoint, upstream_body, wire_api) = + upstream_request_parts(&relay, request_json.clone())?; + let has_more_candidates = attempt + 1 < relay_count; + let header_timeout = response_header_timeout(is_stream); + let _ = crate::diagnostic_log::append_diagnostic_log( + "protocol_proxy.upstream_request", + json!({ + "relayId": relay.id, + "relayName": relay.name, + "endpoint": endpoint, + "wireApi": wire_api, + "stream": is_stream, + "attempt": attempt + 1, + "candidateCount": relay_count, + "headerTimeoutSeconds": header_timeout.as_secs() + }), + ); + let upstream = match send_upstream_request_for_responses( + upstream_request_builder( + crate::http_client::proxied_client(&relay.user_agent)?, + &endpoint, + relay.api_key.trim(), + is_stream, + &upstream_body, + ), + is_stream, + ) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "protocol_proxy.upstream_request_failed", + json!({ + "relayId": relay.id, + "relayName": relay.name, + "endpoint": endpoint, + "wireApi": wire_api, + "stream": is_stream, + "attempt": attempt + 1, + "candidateCount": relay_count, + "headerTimeoutSeconds": header_timeout.as_secs(), + "willFailover": has_more_candidates, + "error": error.to_string() + }), + ); + crate::relay_rotation::record_relay_request_failure(&settings); + if has_more_candidates { + continue; + } + return Err(error).with_context(|| { + format!( + "供应商「{}」请求上游失败,endpoint: {}", + relay.name, endpoint + ) + }); + } + }; + let status_code = upstream.status().as_u16(); + let _ = crate::diagnostic_log::append_diagnostic_log( + "protocol_proxy.upstream_response", + json!({ + "relayId": relay.id, + "relayName": relay.name, + "endpoint": endpoint, + "wireApi": wire_api, + "stream": is_stream, + "statusCode": status_code, + "attempt": attempt + 1, + "candidateCount": relay_count, + "headerTimeoutSeconds": header_timeout.as_secs(), + "willFailover": has_more_candidates && !(200..300).contains(&status_code) + }), + ); + crate::relay_rotation::record_relay_request_event( + &settings, + if (200..300).contains(&status_code) { + RotationEvent::Success + } else { + RotationEvent::Failure + }, + ); + let content_type = upstream + .headers() + .get(reqwest::header::CONTENT_TYPE) + .and_then(|value| value.to_str().ok()) + .unwrap_or("") + .to_string(); + if (200..300).contains(&status_code) || !has_more_candidates { + return Ok(UpstreamProxyResponse { + status_code, + is_stream: is_stream || content_type.contains("text/event-stream"), + content_type, + wire_api, + response: upstream, + }); + } + let _ = crate::diagnostic_log::append_diagnostic_log( + "protocol_proxy.upstream_failover", + json!({ + "relayId": relay.id, + "relayName": relay.name, + "endpoint": endpoint, + "wireApi": wire_api, + "stream": is_stream, + "statusCode": status_code, + "attempt": attempt + 1, + "candidateCount": relay_count, + "headerTimeoutSeconds": header_timeout.as_secs() + }), + ); + } + anyhow::bail!("未找到可用的聚合供应商成员") } pub async fn open_models_proxy_request() -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); - let relay = settings.active_relay_profile(); - if relay.protocol != RelayProtocol::ChatCompletions { - anyhow::bail!("当前中转未启用 Chat Completions 协议代理"); - } - if relay.base_url.trim().is_empty() { - anyhow::bail!("Chat Completions 上游 Base URL 不能为空"); - } - if relay.api_key.trim().is_empty() { - anyhow::bail!("Chat Completions 上游 Key 不能为空"); - } + let relay = crate::relay_rotation::select_relay_for_probe(&settings)?; + validate_upstream(&relay)?; - let client = crate::http_client::proxied_client(&relay.user_agent)?; - let upstream = client - .get(models_url(&relay.base_url)) - .bearer_auth(relay.api_key.trim()) - .send() - .await?; + let endpoint = models_url(&relay.base_url); + let _ = crate::diagnostic_log::append_diagnostic_log( + "protocol_proxy.models_request", + json!({ + "relayId": relay.id, + "relayName": relay.name, + "endpoint": endpoint, + "wireApi": UpstreamWireApi::Responses + }), + ); + let upstream = send_upstream_request( + crate::http_client::proxied_client(&relay.user_agent)? + .get(endpoint) + .bearer_auth(relay.api_key.trim()), + ) + .await?; let status_code = upstream.status().as_u16(); let content_type = upstream .headers() @@ -497,6 +649,7 @@ pub async fn open_models_proxy_request() -> anyhow::Result Duration { + if is_stream { + UPSTREAM_STREAM_HEADER_TIMEOUT + } else { + UPSTREAM_HEADER_TIMEOUT + } +} + +fn upstream_request_parts( + relay: &crate::settings::RelayProfile, + request_json: Value, +) -> anyhow::Result<(String, Value, UpstreamWireApi)> { + match relay.protocol { + RelayProtocol::Responses => Ok(( + responses_url(&relay.base_url), + request_json, + UpstreamWireApi::Responses, + )), + RelayProtocol::ChatCompletions => Ok(( + chat_completions_url(&relay.base_url), + responses_to_chat_completions(request_json)?, + UpstreamWireApi::ChatCompletions, + )), + } +} + +fn upstream_request_builder( + client: reqwest::Client, + endpoint: &str, + api_key: &str, + is_stream: bool, + upstream_body: &Value, +) -> reqwest::RequestBuilder { + let mut builder = client + .post(endpoint) + .bearer_auth(api_key) + .header(reqwest::header::CONTENT_TYPE, "application/json"); + if is_stream { + builder = builder + .header(reqwest::header::ACCEPT, "text/event-stream") + .header(reqwest::header::CACHE_CONTROL, "no-cache"); + } + builder.json(upstream_body) +} + +fn validate_upstream(relay: &crate::settings::RelayProfile) -> anyhow::Result<()> { + if relay.base_url.trim().is_empty() { + anyhow::bail!("上游 Base URL 不能为空"); + } + if relay.api_key.trim().is_empty() { + anyhow::bail!("上游 Key 不能为空"); + } + Ok(()) +} + +fn conversation_id_from_responses_request(body: &Value) -> Option { + for key in ["conversation", "conversation_id", "previous_response_id"] { + if let Some(value) = body.get(key).and_then(Value::as_str) { + let value = value.trim(); + if !value.is_empty() { + return Some(value.to_string()); + } + } + } + None +} + pub async fn handle_responses_proxy_request(body: &str) -> anyhow::Result { let request_json: Value = serde_json::from_str(body)?; let upstream = open_responses_proxy_request(body).await?; let status_code = upstream.status_code; let upstream_content_type = upstream.content_type.clone(); let is_stream = upstream.is_stream; + let wire_api = upstream.wire_api; let upstream_body = upstream.response.bytes().await?; if !(200..300).contains(&status_code) { @@ -562,6 +784,18 @@ pub async fn handle_responses_proxy_request(body: &str) -> anyhow::Result String { url } +pub fn responses_url(base_url: &str) -> String { + let skip_version_prefix = base_url.trim().ends_with('#'); + let base = base_url.trim().trim_end_matches('#').trim_end_matches('/'); + if base.to_ascii_lowercase().ends_with("/responses") { + return base.to_string(); + } + let origin_only = base + .split_once("://") + .map_or(!base.contains('/'), |(_, rest)| !rest.contains('/')); + let mut url = if skip_version_prefix || has_version_suffix(base) || !origin_only { + format!("{base}/responses") + } else { + format!("{base}/v1/responses") + }; + while url.contains("/v1/v1") { + url = url.replace("/v1/v1", "/v1"); + } + url +} + pub fn models_url(base_url: &str) -> String { let skip_version_prefix = base_url.trim().ends_with('#'); let mut base = base_url diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 6f368eee9..30f7f3af2 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -1563,12 +1563,26 @@ fn complete_relay_profile_config(profile: &RelayProfile) -> anyhow::Result anyhow::Result<()> { if profile.relay_mode == crate::settings::RelayMode::Official && !profile.official_mix_api_key { - profile.config_contents.clear(); + let has_api_config = !profile.base_url.trim().is_empty() + || !profile.api_key.trim().is_empty() + || codex_auth_api_key(&profile.auth_contents).is_some() + || config_has_model_provider(profile.config_contents.as_str()); + if has_api_config { + profile.config_contents.clear(); + } + if !profile.model_list.trim().is_empty() { + profile.model_list = merge_model_into_model_list(&profile.model, &profile.model_list); + } profile.model.clear(); profile.base_url.clear(); profile.upstream_base_url.clear(); profile.api_key.clear(); - profile.auth_contents = remove_openai_api_key_from_auth_contents(&profile.auth_contents)?; + if auth_contents_looks_like_chatgpt_auth(&profile.auth_contents) { + profile.auth_contents = + remove_openai_api_key_from_auth_contents(&profile.auth_contents)?; + } else { + profile.auth_contents.clear(); + } return Ok(()); } let source_base_url = relay_profile_base_url(profile); @@ -1591,6 +1605,7 @@ pub fn normalize_relay_profile_for_storage(profile: &mut RelayProfile) -> anyhow profile.auth_contents = remove_openai_api_key_from_auth_contents(&profile.auth_contents)?; } profile.model = relay_profile_model(profile); + profile.model_list = merge_model_into_model_list(&profile.model, &profile.model_list); profile.upstream_base_url = source_base_url.clone(); profile.base_url = source_base_url; profile.api_key = relay_profile_api_key(profile); @@ -1613,6 +1628,48 @@ fn remove_openai_api_key_from_auth_contents(auth_contents: &str) -> anyhow::Resu Ok(format!("{}\n", serde_json::to_string_pretty(&value)?)) } +fn merge_model_into_model_list(model: &str, model_list: &str) -> String { + let model = model.trim(); + let mut models = Vec::new(); + if !model.is_empty() { + models.push(model.to_string()); + } + for item in model_list.split(['\r', '\n', ',']).map(str::trim) { + if !item.is_empty() && !models.iter().any(|existing| existing == item) { + models.push(item.to_string()); + } + } + models.join("\n") +} + +fn config_has_model_provider(config_contents: &str) -> bool { + parse_toml_document(config_contents) + .ok() + .and_then(|doc| { + doc.get("model_provider") + .and_then(Item::as_str) + .map(str::to_string) + }) + .map(|value| !value.trim().is_empty()) + .unwrap_or(false) +} + +fn auth_contents_looks_like_chatgpt_auth(contents: &str) -> bool { + let Ok(value) = serde_json::from_str::(contents) else { + return false; + }; + let is_chatgpt = value + .get("auth_mode") + .and_then(Value::as_str) + .map(|mode| mode.eq_ignore_ascii_case("chatgpt")) + .unwrap_or(false); + is_chatgpt + && value + .get("tokens") + .map(tokens_have_login_secret) + .unwrap_or(false) +} + fn provider_string_from_config(config_contents: &str, key: &str) -> Option { let doc = parse_toml_document(config_contents).ok()?; let active = active_provider_id(&doc); diff --git a/crates/codex-plus-core/src/relay_rotation.rs b/crates/codex-plus-core/src/relay_rotation.rs new file mode 100644 index 000000000..3dbc98d4c --- /dev/null +++ b/crates/codex-plus-core/src/relay_rotation.rs @@ -0,0 +1,335 @@ +/** + * @description 聚合供应商轮转选择器,负责按失败、对话、请求和权重策略选择已有中转配置。 + * @author Albert_Luo + * @email 480199976@qq.com + * @date 2026-05-27 00:00 + */ +use std::collections::HashMap; +use std::sync::{Mutex, OnceLock}; + +use crate::settings::{ + AggregateRelayProfile, AggregateRelayStrategy, BackendSettings, RelayProfile, +}; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum SelectionError { + NoActiveAggregate, + EmptyAggregateMembers { + aggregate_id: String, + }, + UnknownMemberRelay { + aggregate_id: String, + relay_id: String, + }, + InvalidMemberRelay { + aggregate_id: String, + relay_id: String, + }, +} + +impl std::fmt::Display for SelectionError { + fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + match self { + SelectionError::NoActiveAggregate => write!(formatter, "未找到当前聚合供应商"), + SelectionError::EmptyAggregateMembers { aggregate_id } => { + write!(formatter, "聚合供应商「{aggregate_id}」没有成员") + } + SelectionError::UnknownMemberRelay { + aggregate_id, + relay_id, + } => write!( + formatter, + "聚合供应商「{aggregate_id}」引用了不存在的供应商「{relay_id}」" + ), + SelectionError::InvalidMemberRelay { + aggregate_id, + relay_id, + } => write!( + formatter, + "聚合供应商「{aggregate_id}」成员「{relay_id}」缺少 API Base URL 或 Key" + ), + } + } +} + +impl std::error::Error for SelectionError {} + +#[derive(Debug, Clone, Default, PartialEq, Eq)] +pub struct RotationContext { + pub conversation_id: Option, +} + +impl RotationContext { + pub fn for_conversation(conversation_id: impl Into) -> Self { + Self { + conversation_id: Some(conversation_id.into()), + } + } +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum RotationEvent { + Success, + Failure, +} + +#[derive(Debug, Clone)] +pub struct RelayRotationSelector { + aggregate: AggregateRelayProfile, + failover_index: usize, + request_index: usize, + weighted_index: usize, + conversation_assignments: HashMap, +} + +static GLOBAL_SELECTOR: OnceLock>> = OnceLock::new(); + +impl RelayRotationSelector { + pub fn from_settings(settings: &BackendSettings) -> Result { + let aggregate = active_aggregate(settings)?.clone(); + validate_aggregate_members(settings, &aggregate)?; + Ok(Self { + aggregate, + failover_index: 0, + request_index: 0, + weighted_index: 0, + conversation_assignments: HashMap::new(), + }) + } + + pub fn select( + &mut self, + settings: &BackendSettings, + context: RotationContext, + ) -> Result { + validate_aggregate_members(settings, &self.aggregate)?; + let relay_id = match self.aggregate.strategy { + AggregateRelayStrategy::Failover => self.member_id_at(self.failover_index), + AggregateRelayStrategy::ConversationRoundRobin => { + self.select_for_conversation(context.conversation_id) + } + AggregateRelayStrategy::RequestRoundRobin => self.select_next_request(), + AggregateRelayStrategy::WeightedRoundRobin => self.select_next_weighted(), + }; + relay_profile_by_id(settings, &relay_id).ok_or_else(|| SelectionError::UnknownMemberRelay { + aggregate_id: self.aggregate.id.clone(), + relay_id, + }) + } + + pub fn peek(&self, settings: &BackendSettings) -> Result { + validate_aggregate_members(settings, &self.aggregate)?; + let relay_id = match self.aggregate.strategy { + AggregateRelayStrategy::Failover => self.member_id_at(self.failover_index), + AggregateRelayStrategy::ConversationRoundRobin + | AggregateRelayStrategy::RequestRoundRobin => self.member_id_at(self.request_index), + AggregateRelayStrategy::WeightedRoundRobin => { + let schedule = self.weighted_schedule(); + schedule[self.weighted_index % schedule.len()].clone() + } + }; + relay_profile_by_id(settings, &relay_id).ok_or_else(|| SelectionError::UnknownMemberRelay { + aggregate_id: self.aggregate.id.clone(), + relay_id, + }) + } + + pub fn record_event(&mut self, event: RotationEvent) { + if event == RotationEvent::Failure + && self.aggregate.strategy == AggregateRelayStrategy::Failover + && !self.aggregate.members.is_empty() + { + self.failover_index = (self.failover_index + 1) % self.aggregate.members.len(); + } + } + + fn select_for_conversation(&mut self, conversation_id: Option) -> String { + let Some(conversation_id) = conversation_id else { + return self.select_next_request(); + }; + if let Some(relay_id) = self.conversation_assignments.get(&conversation_id) { + return relay_id.clone(); + } + + let relay_id = self.select_next_request(); + self.conversation_assignments + .insert(conversation_id, relay_id.clone()); + relay_id + } + + fn select_next_request(&mut self) -> String { + let relay_id = self.member_id_at(self.request_index); + self.request_index = (self.request_index + 1) % self.aggregate.members.len(); + relay_id + } + + fn select_next_weighted(&mut self) -> String { + let schedule = self.weighted_schedule(); + let relay_id = schedule[self.weighted_index % schedule.len()].clone(); + self.weighted_index = (self.weighted_index + 1) % schedule.len(); + relay_id + } + + fn weighted_schedule(&self) -> Vec { + self.aggregate + .members + .iter() + .flat_map(|member| { + std::iter::repeat_n(member.relay_id.clone(), member.weight.max(1) as usize) + }) + .collect() + } + + fn member_id_at(&self, index: usize) -> String { + self.aggregate.members[index % self.aggregate.members.len()] + .relay_id + .clone() + } +} + +pub fn select_relay_for_request( + settings: &BackendSettings, + context: RotationContext, +) -> Result { + let Some(active_aggregate) = settings.active_aggregate_relay_profile() else { + clear_global_selector(); + return Ok(settings.active_relay_profile()); + }; + + let lock = GLOBAL_SELECTOR.get_or_init(|| Mutex::new(None)); + let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner()); + let needs_new_selector = guard + .as_ref() + .map(|selector| selector.aggregate != active_aggregate) + .unwrap_or(true); + if needs_new_selector { + *guard = Some(RelayRotationSelector::from_settings(settings)?); + } + guard + .as_mut() + .expect("selector initialized") + .select(settings, context) +} + +pub fn select_relay_for_probe(settings: &BackendSettings) -> Result { + let Some(active_aggregate) = settings.active_aggregate_relay_profile() else { + clear_global_selector(); + return Ok(settings.active_relay_profile()); + }; + + let lock = GLOBAL_SELECTOR.get_or_init(|| Mutex::new(None)); + let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner()); + let needs_new_selector = guard + .as_ref() + .map(|selector| selector.aggregate != active_aggregate) + .unwrap_or(true); + if needs_new_selector { + *guard = Some(RelayRotationSelector::from_settings(settings)?); + } + guard.as_ref().expect("selector initialized").peek(settings) +} + +pub fn fallback_relays_after( + settings: &BackendSettings, + relay_id: &str, +) -> Result, SelectionError> { + let Some(active_aggregate) = settings.active_aggregate_relay_profile() else { + return Ok(Vec::new()); + }; + validate_aggregate_members(settings, &active_aggregate)?; + let start_index = active_aggregate + .members + .iter() + .position(|member| member.relay_id == relay_id) + .map(|index| index + 1) + .unwrap_or(0); + (0..active_aggregate.members.len().saturating_sub(1)) + .map(|offset| { + let index = (start_index + offset) % active_aggregate.members.len(); + &active_aggregate.members[index] + }) + .map(|member| { + relay_profile_by_id(settings, &member.relay_id).ok_or_else(|| { + SelectionError::UnknownMemberRelay { + aggregate_id: active_aggregate.id.clone(), + relay_id: member.relay_id.clone(), + } + }) + }) + .collect() +} + +pub fn record_relay_request_event(settings: &BackendSettings, event: RotationEvent) { + if settings.active_aggregate_relay_profile().is_none() { + clear_global_selector(); + return; + } + let lock = GLOBAL_SELECTOR.get_or_init(|| Mutex::new(None)); + let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner()); + if let Some(selector) = guard.as_mut() { + selector.record_event(event); + } +} + +pub fn record_relay_request_failure(settings: &BackendSettings) { + record_relay_request_event(settings, RotationEvent::Failure); +} + +fn active_aggregate(settings: &BackendSettings) -> Result<&AggregateRelayProfile, SelectionError> { + let active_id = settings + .active_aggregate_relay_profile() + .map(|aggregate| aggregate.id) + .ok_or(SelectionError::NoActiveAggregate)?; + + settings + .aggregate_relay_profiles + .iter() + .find(|aggregate| aggregate.id == active_id) + .ok_or(SelectionError::NoActiveAggregate) +} + +fn validate_aggregate_members( + settings: &BackendSettings, + aggregate: &AggregateRelayProfile, +) -> Result<(), SelectionError> { + if aggregate.members.is_empty() { + return Err(SelectionError::EmptyAggregateMembers { + aggregate_id: aggregate.id.clone(), + }); + } + + let relay_by_id = settings + .relay_profiles + .iter() + .map(|profile| (profile.id.as_str(), profile)) + .collect::>(); + for member in &aggregate.members { + let Some(relay) = relay_by_id.get(member.relay_id.as_str()) else { + return Err(SelectionError::UnknownMemberRelay { + aggregate_id: aggregate.id.clone(), + relay_id: member.relay_id.clone(), + }); + }; + if relay.base_url.trim().is_empty() || relay.api_key.trim().is_empty() { + return Err(SelectionError::InvalidMemberRelay { + aggregate_id: aggregate.id.clone(), + relay_id: member.relay_id.clone(), + }); + } + } + Ok(()) +} + +fn clear_global_selector() { + let lock = GLOBAL_SELECTOR.get_or_init(|| Mutex::new(None)); + let mut guard = lock.lock().unwrap_or_else(|poisoned| poisoned.into_inner()); + *guard = None; +} + +fn relay_profile_by_id(settings: &BackendSettings, relay_id: &str) -> Option { + settings + .relay_profiles + .iter() + .find(|profile| profile.id == relay_id) + .cloned() +} diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index b33c18685..f649c0dab 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -85,6 +85,36 @@ pub struct RelayProfile { pub user_agent: String, } +#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize, Default)] +#[serde(rename_all = "camelCase")] +pub enum AggregateRelayStrategy { + #[default] + Failover, + ConversationRoundRobin, + RequestRoundRobin, + WeightedRoundRobin, +} + +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct AggregateRelayMember { + #[serde(rename = "relayId")] + pub relay_id: String, + #[serde(default = "default_aggregate_member_weight")] + pub weight: u32, +} + +#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct AggregateRelayProfile { + pub id: String, + pub name: String, + #[serde(default)] + pub strategy: AggregateRelayStrategy, + #[serde(default)] + pub members: Vec, +} + impl Default for RelayProfile { fn default() -> Self { Self { @@ -136,6 +166,7 @@ pub enum RelayMode { #[default] MixedApi, PureApi, + Aggregate, } #[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] @@ -194,6 +225,10 @@ pub struct BackendSettings { pub relay_context_config_contents: String, #[serde(rename = "activeRelayId", default = "default_active_relay_id")] pub active_relay_id: String, + #[serde(rename = "aggregateRelayProfiles", default)] + pub aggregate_relay_profiles: Vec, + #[serde(rename = "activeAggregateRelayId", default)] + pub active_aggregate_relay_id: String, #[serde(rename = "relayTestModel", default = "default_relay_test_model")] pub relay_test_model: String, #[serde(rename = "cliWrapperEnabled", default)] @@ -240,6 +275,8 @@ impl Default for BackendSettings { relay_common_config_contents: String::new(), relay_context_config_contents: String::new(), active_relay_id: default_active_relay_id(), + aggregate_relay_profiles: Vec::new(), + active_aggregate_relay_id: String::new(), relay_test_model: default_relay_test_model(), cli_wrapper_enabled: false, cli_wrapper_base_url: String::new(), @@ -333,6 +370,36 @@ impl BackendSettings { user_agent: String::new(), } } + + pub fn active_aggregate_relay_profile(&self) -> Option { + let active_relay = self + .relay_profiles + .iter() + .find(|profile| profile.id == self.active_relay_id)?; + if active_relay.relay_mode != RelayMode::Aggregate { + return None; + } + + let active_aggregate_id = if self.active_aggregate_relay_id.trim().is_empty() { + active_relay.id.as_str() + } else { + self.active_aggregate_relay_id.trim() + }; + + if active_aggregate_id != active_relay.id { + return None; + } + + self.aggregate_relay_profiles + .iter() + .find(|profile| profile.id == active_aggregate_id) + .cloned() + } + + pub fn active_relay_uses_protocol_proxy(&self) -> bool { + self.active_aggregate_relay_profile().is_some() + || self.active_relay_profile().protocol == RelayProtocol::ChatCompletions + } } pub fn default_api_key_env() -> String { @@ -359,6 +426,10 @@ pub fn default_relay_profiles() -> Vec { vec![RelayProfile::default()] } +pub fn default_aggregate_member_weight() -> u32 { + 1 +} + pub fn empty_as_default_api_key_env<'de, D>(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -558,6 +629,21 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map= Duration::from_secs(30)); + assert!(upstream_header_timeout() <= Duration::from_secs(60)); + assert!(upstream_stream_header_timeout() >= Duration::from_secs(120)); +} + +#[tokio::test] +async fn upstream_request_returns_when_provider_accepts_but_never_sends_headers() { + let listener = tokio::net::TcpListener::bind(("127.0.0.1", 0)) + .await + .unwrap(); + let addr = listener.local_addr().unwrap(); + let server = tokio::spawn(async move { + let Ok((_stream, _addr)) = listener.accept().await else { + return; + }; + tokio::time::sleep(Duration::from_secs(2)).await; + }); + + let started = Instant::now(); + let result = send_upstream_request_with_header_timeout( + upstream_http_client() + .unwrap() + .get(format!("http://{addr}/v1/models")), + Duration::from_millis(100), + ) + .await; + + assert!(result.is_err()); + assert!(started.elapsed() < Duration::from_secs(1)); + server.abort(); +} + +#[tokio::test] +async fn aggregate_proxy_fails_over_to_next_member_in_same_request() { + let first = tokio::net::TcpListener::bind(("127.0.0.1", 0)) + .await + .unwrap(); + let first_addr = first.local_addr().unwrap(); + let second = tokio::net::TcpListener::bind(("127.0.0.1", 0)) + .await + .unwrap(); + let second_addr = second.local_addr().unwrap(); + let first_server = tokio::spawn(respond_once( + first, + "HTTP/1.1 500 Internal Server Error\r\ncontent-length: 11\r\ncontent-type: application/json\r\n\r\n{\"error\":1}", + )); + let second_server = tokio::spawn(respond_once( + second, + "HTTP/1.1 200 OK\r\ncontent-length: 35\r\ncontent-type: application/json\r\n\r\n{\"id\":\"resp_1\",\"object\":\"response\"}", + )); + let settings = aggregate_proxy_settings( + "failover", + format!("http://{first_addr}/v1"), + format!("http://{second_addr}/v1"), + ); + + let result = open_responses_proxy_request_with_settings( + r#"{"model":"gpt-5-mini","input":"hi","stream":false}"#, + settings, + ) + .await + .unwrap(); + let body = result.response.bytes().await.unwrap(); + + assert_eq!(result.status_code, 200); + assert_eq!(body.as_ref(), br#"{"id":"resp_1","object":"response"}"#); + first_server.await.unwrap(); + second_server.await.unwrap(); +} + +#[tokio::test] +async fn aggregate_stream_request_sends_sse_accept_header() { + let listener = tokio::net::TcpListener::bind(("127.0.0.1", 0)) + .await + .unwrap(); + let addr = listener.local_addr().unwrap(); + let fallback = tokio::net::TcpListener::bind(("127.0.0.1", 0)) + .await + .unwrap(); + let fallback_addr = fallback.local_addr().unwrap(); + let server = tokio::spawn(async move { + let (mut stream, _) = listener.accept().await.unwrap(); + let mut buffer = [0; 4096]; + let read = stream.read(&mut buffer).await.unwrap(); + let request = String::from_utf8_lossy(&buffer[..read]).to_string(); + stream + .write_all( + b"HTTP/1.1 200 OK\r\ncontent-length: 14\r\ncontent-type: text/event-stream\r\n\r\ndata: [DONE]\n\n", + ) + .await + .unwrap(); + request + }); + let fallback_server = tokio::spawn(respond_once( + fallback, + "HTTP/1.1 200 OK\r\ncontent-length: 14\r\ncontent-type: text/event-stream\r\n\r\ndata: [DONE]\n\n", + )); + let settings = aggregate_proxy_settings( + "stream", + format!("http://{addr}/v1"), + format!("http://{fallback_addr}/v1"), + ); + + let result = open_responses_proxy_request_with_settings( + r#"{"model":"gpt-5-mini","input":"hi","stream":true}"#, + settings, + ) + .await + .unwrap(); + let request = server.await.unwrap(); + + assert_eq!(result.status_code, 200); + assert!(result.is_stream); + assert!( + request + .to_ascii_lowercase() + .contains("accept: text/event-stream") + ); + fallback_server.abort(); +} + +async fn respond_once(listener: tokio::net::TcpListener, response: &'static str) { + let (mut stream, _) = listener.accept().await.unwrap(); + let mut buffer = [0; 1024]; + let _ = stream.read(&mut buffer).await.unwrap(); + stream.write_all(response.as_bytes()).await.unwrap(); +} + +fn aggregate_proxy_settings( + id_suffix: &str, + first_base_url: String, + second_base_url: String, +) -> BackendSettings { + let first_id = format!("proxy-{id_suffix}-a"); + let second_id = format!("proxy-{id_suffix}-b"); + let aggregate_id = format!("proxy-{id_suffix}-agg"); + BackendSettings { + relay_profiles: vec![ + RelayProfile { + id: first_id.clone(), + name: "first".to_string(), + base_url: first_base_url, + api_key: "sk-first".to_string(), + ..RelayProfile::default() + }, + RelayProfile { + id: second_id.clone(), + name: "second".to_string(), + base_url: second_base_url, + api_key: "sk-second".to_string(), + ..RelayProfile::default() + }, + RelayProfile { + id: aggregate_id.clone(), + name: "aggregate".to_string(), + relay_mode: RelayMode::Aggregate, + ..RelayProfile::default() + }, + ], + active_relay_id: aggregate_id.clone(), + active_aggregate_relay_id: aggregate_id.clone(), + aggregate_relay_profiles: vec![AggregateRelayProfile { + id: aggregate_id, + name: "aggregate".to_string(), + strategy: AggregateRelayStrategy::RequestRoundRobin, + members: vec![ + AggregateRelayMember { + relay_id: first_id, + weight: 1, + }, + AggregateRelayMember { + relay_id: second_id, + weight: 1, + }, + ], + }], + ..BackendSettings::default() + } +} diff --git a/crates/codex-plus-core/tests/relay_rotation.rs b/crates/codex-plus-core/tests/relay_rotation.rs new file mode 100644 index 000000000..1c3904db2 --- /dev/null +++ b/crates/codex-plus-core/tests/relay_rotation.rs @@ -0,0 +1,409 @@ +use codex_plus_core::relay_rotation::{ + RelayRotationSelector, RotationContext, RotationEvent, SelectionError, fallback_relays_after, + record_relay_request_failure, select_relay_for_probe, select_relay_for_request, +}; +use codex_plus_core::settings::{ + AggregateRelayMember, AggregateRelayProfile, AggregateRelayStrategy, BackendSettings, + RelayMode, RelayProfile, +}; +use std::sync::{Mutex, MutexGuard, OnceLock}; + +fn global_selector_test_lock() -> MutexGuard<'static, ()> { + static LOCK: OnceLock> = OnceLock::new(); + LOCK.get_or_init(|| Mutex::new(())) + .lock() + .unwrap_or_else(|poisoned| poisoned.into_inner()) +} + +fn profile(id: &str) -> RelayProfile { + RelayProfile { + id: id.to_string(), + name: id.to_string(), + base_url: format!("https://{id}.example/v1"), + api_key: format!("sk-{id}"), + ..RelayProfile::default() + } +} + +fn aggregate(strategy: AggregateRelayStrategy) -> AggregateRelayProfile { + AggregateRelayProfile { + id: "agg".to_string(), + name: "聚合".to_string(), + strategy, + members: vec![ + AggregateRelayMember { + relay_id: "relay-a".to_string(), + weight: 1, + }, + AggregateRelayMember { + relay_id: "relay-b".to_string(), + weight: 2, + }, + AggregateRelayMember { + relay_id: "relay-c".to_string(), + weight: 1, + }, + ], + } +} + +fn aggregate_with_id(id: &str, strategy: AggregateRelayStrategy) -> AggregateRelayProfile { + AggregateRelayProfile { + id: id.to_string(), + name: "聚合".to_string(), + strategy, + members: vec![ + AggregateRelayMember { + relay_id: "relay-a".to_string(), + weight: 1, + }, + AggregateRelayMember { + relay_id: "relay-b".to_string(), + weight: 2, + }, + ], + } +} + +fn settings(strategy: AggregateRelayStrategy) -> BackendSettings { + BackendSettings { + relay_profiles: vec![ + profile("relay-a"), + profile("relay-b"), + profile("relay-c"), + RelayProfile { + id: "agg".to_string(), + name: "聚合".to_string(), + relay_mode: RelayMode::Aggregate, + ..RelayProfile::default() + }, + ], + aggregate_relay_profiles: vec![aggregate(strategy)], + active_relay_id: "agg".to_string(), + active_aggregate_relay_id: "agg".to_string(), + ..BackendSettings::default() + } +} + +#[test] +fn failover_keeps_current_provider_until_failure_then_moves_to_next_member() { + let settings = settings(AggregateRelayStrategy::Failover); + let mut selector = RelayRotationSelector::from_settings(&settings).unwrap(); + + let first = selector + .select(&settings, RotationContext::for_conversation("chat-1")) + .unwrap(); + selector.record_event(RotationEvent::Success); + let second = selector + .select(&settings, RotationContext::for_conversation("chat-1")) + .unwrap(); + selector.record_event(RotationEvent::Failure); + let third = selector + .select(&settings, RotationContext::for_conversation("chat-1")) + .unwrap(); + + assert_eq!(first.id, "relay-a"); + assert_eq!(second.id, "relay-a"); + assert_eq!(third.id, "relay-b"); +} + +#[test] +fn conversation_rotation_sticks_each_conversation_to_a_stable_member() { + let settings = settings(AggregateRelayStrategy::ConversationRoundRobin); + let mut selector = RelayRotationSelector::from_settings(&settings).unwrap(); + + let chat_a_first = selector + .select(&settings, RotationContext::for_conversation("chat-a")) + .unwrap(); + let chat_a_second = selector + .select(&settings, RotationContext::for_conversation("chat-a")) + .unwrap(); + let chat_b_first = selector + .select(&settings, RotationContext::for_conversation("chat-b")) + .unwrap(); + + assert_eq!(chat_a_first.id, "relay-a"); + assert_eq!(chat_a_second.id, "relay-a"); + assert_eq!(chat_b_first.id, "relay-b"); +} + +#[test] +fn request_rotation_advances_on_every_request() { + let settings = settings(AggregateRelayStrategy::RequestRoundRobin); + let mut selector = RelayRotationSelector::from_settings(&settings).unwrap(); + + let selected = (0..5) + .map(|_| { + selector + .select(&settings, RotationContext::default()) + .unwrap() + .id + }) + .collect::>(); + + assert_eq!( + selected, + vec!["relay-a", "relay-b", "relay-c", "relay-a", "relay-b"] + ); +} + +#[test] +fn weighted_rotation_repeats_members_by_configured_weight() { + let settings = settings(AggregateRelayStrategy::WeightedRoundRobin); + let mut selector = RelayRotationSelector::from_settings(&settings).unwrap(); + + let selected = (0..6) + .map(|_| { + selector + .select(&settings, RotationContext::default()) + .unwrap() + .id + }) + .collect::>(); + + assert_eq!( + selected, + vec![ + "relay-a", "relay-b", "relay-b", "relay-c", "relay-a", "relay-b" + ] + ); +} + +#[test] +fn aggregate_members_must_reference_existing_relay_profiles() { + let mut settings = settings(AggregateRelayStrategy::RequestRoundRobin); + settings.aggregate_relay_profiles[0] + .members + .push(AggregateRelayMember { + relay_id: "missing-relay".to_string(), + weight: 1, + }); + + let error = RelayRotationSelector::from_settings(&settings).unwrap_err(); + + assert_eq!( + error, + SelectionError::UnknownMemberRelay { + aggregate_id: "agg".to_string(), + relay_id: "missing-relay".to_string() + } + ); +} + +#[test] +fn aggregate_with_one_member_is_allowed_without_rotation() { + let mut settings = settings(AggregateRelayStrategy::RequestRoundRobin); + settings.aggregate_relay_profiles[0].members.truncate(1); + + let mut selector = RelayRotationSelector::from_settings(&settings).unwrap(); + let first = selector + .select(&settings, RotationContext::default()) + .unwrap(); + let second = selector + .select(&settings, RotationContext::default()) + .unwrap(); + + assert_eq!(first.id, "relay-a"); + assert_eq!(second.id, "relay-a"); +} + +#[test] +fn aggregate_members_must_be_api_capable_relay_profiles() { + let mut settings = settings(AggregateRelayStrategy::WeightedRoundRobin); + settings.relay_profiles.push(RelayProfile { + id: "official-login".to_string(), + name: "官方登录".to_string(), + base_url: String::new(), + api_key: String::new(), + ..RelayProfile::default() + }); + settings.aggregate_relay_profiles[0] + .members + .push(AggregateRelayMember { + relay_id: "official-login".to_string(), + weight: 1, + }); + + let error = RelayRotationSelector::from_settings(&settings).unwrap_err(); + + assert_eq!( + error, + SelectionError::InvalidMemberRelay { + aggregate_id: "agg".to_string(), + relay_id: "official-login".to_string() + } + ); +} + +#[test] +fn select_relay_for_request_uses_active_relay_id_as_aggregate_source_of_truth() { + let _guard = global_selector_test_lock(); + let mut settings = settings(AggregateRelayStrategy::WeightedRoundRobin); + settings.active_relay_id = "agg".to_string(); + settings.active_aggregate_relay_id.clear(); + + let selected = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + + assert_eq!(selected.id, "relay-a"); +} + +#[test] +fn select_relay_for_request_ignores_stale_active_aggregate_id_for_regular_relay() { + let _guard = global_selector_test_lock(); + let mut settings = settings(AggregateRelayStrategy::WeightedRoundRobin); + settings.active_relay_id = "relay-b".to_string(); + settings.active_aggregate_relay_id = "agg".to_string(); + + let selected = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + + assert_eq!(selected.id, "relay-b"); +} + +#[test] +fn select_relay_for_request_resets_rotation_after_switching_to_regular_relay() { + let _guard = global_selector_test_lock(); + let mut settings = settings(AggregateRelayStrategy::RequestRoundRobin); + settings.active_relay_id = "agg".to_string(); + + let first = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + let mut regular_settings = settings.clone(); + regular_settings.active_relay_id = "relay-c".to_string(); + regular_settings.active_aggregate_relay_id.clear(); + let regular = select_relay_for_request(®ular_settings, RotationContext::default()).unwrap(); + let after_reselect = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + + assert_eq!(first.id, "relay-a"); + assert_eq!(regular.id, "relay-c"); + assert_eq!(after_reselect.id, "relay-a"); +} + +#[test] +fn record_relay_request_failure_advances_global_failover_selector() { + let _guard = global_selector_test_lock(); + let aggregate_id = "agg-global-failure"; + let settings = BackendSettings { + relay_profiles: vec![ + profile("relay-a"), + profile("relay-b"), + RelayProfile { + id: aggregate_id.to_string(), + name: "聚合".to_string(), + relay_mode: RelayMode::Aggregate, + ..RelayProfile::default() + }, + ], + aggregate_relay_profiles: vec![aggregate_with_id( + aggregate_id, + AggregateRelayStrategy::Failover, + )], + active_relay_id: aggregate_id.to_string(), + active_aggregate_relay_id: aggregate_id.to_string(), + ..BackendSettings::default() + }; + + let first = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + record_relay_request_failure(&settings); + let second = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + + assert_eq!(first.id, "relay-a"); + assert_eq!(second.id, "relay-b"); +} + +#[test] +fn select_relay_for_probe_does_not_advance_request_rotation() { + let _guard = global_selector_test_lock(); + let aggregate_id = "agg-probe"; + let settings = BackendSettings { + relay_profiles: vec![ + profile("relay-a"), + profile("relay-b"), + RelayProfile { + id: aggregate_id.to_string(), + name: "聚合".to_string(), + relay_mode: RelayMode::Aggregate, + ..RelayProfile::default() + }, + ], + aggregate_relay_profiles: vec![aggregate_with_id( + aggregate_id, + AggregateRelayStrategy::RequestRoundRobin, + )], + active_relay_id: aggregate_id.to_string(), + active_aggregate_relay_id: aggregate_id.to_string(), + ..BackendSettings::default() + }; + + let first_probe = select_relay_for_probe(&settings).unwrap(); + let second_probe = select_relay_for_probe(&settings).unwrap(); + let first_request = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + let second_request = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + + assert_eq!(first_probe.id, "relay-a"); + assert_eq!(second_probe.id, "relay-a"); + assert_eq!(first_request.id, "relay-a"); + assert_eq!(second_request.id, "relay-b"); +} + +#[test] +fn fallback_relays_after_returns_remaining_aggregate_members_after_current_then_wraps() { + let settings = settings(AggregateRelayStrategy::RequestRoundRobin); + + let fallbacks = fallback_relays_after(&settings, "relay-b").unwrap(); + + assert_eq!( + fallbacks + .iter() + .map(|profile| profile.id.as_str()) + .collect::>(), + vec!["relay-c", "relay-a"] + ); +} + +#[test] +fn fallback_relays_after_regular_relay_returns_empty_candidates() { + let mut settings = settings(AggregateRelayStrategy::RequestRoundRobin); + settings.active_relay_id = "relay-a".to_string(); + + let fallbacks = fallback_relays_after(&settings, "relay-a").unwrap(); + + assert!(fallbacks.is_empty()); +} + +#[test] +fn select_relay_for_request_rebuilds_selector_when_active_aggregate_changes() { + let _guard = global_selector_test_lock(); + let aggregate_id = "agg-refresh"; + let mut settings = BackendSettings { + relay_profiles: vec![ + profile("relay-a"), + profile("relay-b"), + RelayProfile { + id: aggregate_id.to_string(), + name: "聚合".to_string(), + relay_mode: RelayMode::Aggregate, + ..RelayProfile::default() + }, + ], + aggregate_relay_profiles: vec![aggregate_with_id( + aggregate_id, + AggregateRelayStrategy::Failover, + )], + active_relay_id: aggregate_id.to_string(), + active_aggregate_relay_id: aggregate_id.to_string(), + ..BackendSettings::default() + }; + + let first = select_relay_for_request(&settings, RotationContext::default()).unwrap(); + settings.aggregate_relay_profiles[0].strategy = AggregateRelayStrategy::WeightedRoundRobin; + + let selected = (0..3) + .map(|_| { + select_relay_for_request(&settings, RotationContext::default()) + .unwrap() + .id + }) + .collect::>(); + + assert_eq!(first.id, "relay-a"); + assert_eq!(selected, vec!["relay-a", "relay-b", "relay-b"]); +} diff --git "a/docs/plan/20260527160751519_\350\201\232\345\220\210API\344\276\233\345\272\224\345\225\206\350\275\256\350\275\254\345\256\236\346\226\275\350\256\241\345\210\222.md" "b/docs/plan/20260527160751519_\350\201\232\345\220\210API\344\276\233\345\272\224\345\225\206\350\275\256\350\275\254\345\256\236\346\226\275\350\256\241\345\210\222.md" new file mode 100644 index 000000000..60389e237 --- /dev/null +++ "b/docs/plan/20260527160751519_\350\201\232\345\220\210API\344\276\233\345\272\224\345\225\206\350\275\256\350\275\254\345\256\236\346\226\275\350\256\241\345\210\222.md" @@ -0,0 +1,210 @@ +# 聚合 API 供应商轮转实施计划 + +> 生成时间:2026-05-27 16:07:51 +> 工作区:`/Users/albertluo/workSpace/albertLuo/createSomethingNew/CodexPlusPlus` +> 角色:Agent-4(验证与交付) +> 范围:API 供应商新增“自动聚合 API 轮转”对话;支持四种策略;成员从已有供应商勾选。 +> 约束:本文档仅准备验证清单与交付计划,不修改业务代码。 + +## 1. 子 Agent 开工模板 + +- 目标:为聚合 API 供应商轮转功能准备验证清单和文档落盘。 +- 输入:API 供应商新增自动聚合 API 轮转对话,四种策略,成员从已有供应商勾选。 +- 输出:`docs/plan/20260527160751519_聚合API供应商轮转实施计划.md`。 +- 验收标准:文档落盘;列出建议执行的最小验证命令。 +- 负责文件:仅新增 `docs/plan/20260527160751519_聚合API供应商轮转实施计划.md`。 +- 预计耗时:5-10 分钟。 +- 心跳频率:60 秒。 + +## 2. 功能验收范围 + +### 2.1 产品行为 + +- 在“供应商配置”页提供“自动聚合 API 轮转”创建入口。 +- 对话内可以从已有供应商列表勾选成员,不允许输入游离于现有列表之外的成员。 +- 至少勾选 2 个成员后才允许保存聚合供应商。 +- 支持四种轮转策略,并在保存后可被配置持久化、重新加载和编辑。 +- 聚合供应商应能出现在供应商列表中,并能被正常切换为当前供应商。 +- 删除或修改成员供应商时,聚合供应商需要给出明确状态:成员缺失、成员不可用或需要重新选择。 + +### 2.2 四种策略建议 + +实现按用户确认的四种策略验收: + +1. 失败切换:优先使用第一个成员,失败、限流或上游错误后切到下一个成员。 +2. 按对话轮转:每个新对话分配一个成员,同一对话保持固定成员。 +3. 按请求轮转:每次请求按成员顺序切换,适合能力接近的供应商池。 +4. 权重轮转:按成员权重分配请求,权重越高承担越多请求。 + +字段名固定为 `failover`、`conversationRoundRobin`、`requestRoundRobin`、`weightedRoundRobin`,需要在 UI、持久化配置和调用路径上保持一致。 + +## 3. 建议任务拆分 + +### Task 1:数据模型与持久化检查 + +负责人:Agent-2 / Agent-BE-Rust +负责目录: + +- `crates/codex-plus-core/src` +- `apps/codex-plus-manager/src-tauri/src` + +验收标准: + +- 聚合供应商字段不会破坏已有单供应商配置反序列化。 +- 老配置缺少聚合字段时仍能正常加载。 +- 保存后重新打开应用,聚合供应商成员、策略、排序、权重仍保留。 + +### Task 2:前端对话与成员勾选 + +负责人:Agent-3 / Agent-FE-React +负责文件: + +- `apps/codex-plus-manager/src/App.tsx` +- `apps/codex-plus-manager/src/styles.css` + +验收标准: + +- 创建入口可见,文案明确。 +- 对话只展示已有供应商作为候选成员。 +- 当前正在编辑的聚合供应商不能勾选自身。 +- 不足 2 个成员、没有策略、成员重复时保存按钮不可用或保存失败提示明确。 +- 移动端和桌面宽度下文本不溢出、按钮不遮挡。 + +### Task 3:轮转选择逻辑 + +负责人:Agent-2 / Agent-BE-Rust +负责目录: + +- `crates/codex-plus-core/src` + +验收标准: + +- 失败切换、按对话轮转、按请求轮转、权重轮转四种策略均有确定性单元测试。 +- 单个成员不可用时,不影响其他可用成员继续工作。 +- 所有成员不可用时返回明确错误,不静默回落到错误供应商。 +- 不泄露成员供应商 API Key 到日志、错误提示或前端通知。 + +### Task 4:端到端冒烟 + +负责人:Agent-4 +负责范围: + +- 前端类型检查 +- Rust 单元/集成测试 +- Tauri 构建前检查 +- 手工 UI 冒烟清单 + +验收标准: + +- 最小验证命令通过,或明确记录失败原因与阻塞点。 +- 手工路径覆盖:创建聚合供应商、选择四种策略、保存、重载、切换、删除成员供应商后的提示。 + +## 4. 只读检查到的可用命令 + +### 4.1 前端管理端 + +`apps/codex-plus-manager/package.json` 暴露命令: + +```bash +cd apps/codex-plus-manager && npm run check +cd apps/codex-plus-manager && npm run vite:build +cd apps/codex-plus-manager && npm run build +cd apps/codex-plus-manager && npm run dev +``` + +说明: + +- `npm run check`:TypeScript 静态检查,适合作为最小前端验证。 +- `npm run vite:build`:前端产物构建,适合 UI 改动后的构建验证。 +- `npm run build`:包含 `cargo build -p codex-plus-launcher --release && tauri build`,成本较高,建议放在合并前或发版前。 +- `npm run dev`:本地 Tauri 开发调试。 + +### 4.2 Rust workspace + +根目录存在 `Cargo.toml` workspace,成员包括: + +- `crates/codex-plus-core` +- `crates/codex-plus-data` +- `apps/codex-plus-launcher` +- `apps/codex-plus-manager/src-tauri` + +建议命令: + +```bash +cargo test -p codex-plus-core +cargo test -p codex-plus-data +cargo test -p codex-plus-manager +cargo test --workspace +cargo build --workspace +``` + +说明: + +- `cargo test -p codex-plus-core`:优先覆盖供应商配置、协议代理、轮转逻辑。 +- `cargo test -p codex-plus-manager`:优先覆盖 Tauri command 层与配置读写桥接。 +- `cargo test --workspace`:全量 Rust 回归,耗时更高。 +- `cargo build --workspace`:合并前构建兜底。 + +## 5. 最小验证命令 + +优先建议实现 Agent 完成后执行以下最小集合: + +```bash +cd /Users/albertluo/workSpace/albertLuo/createSomethingNew/CodexPlusPlus +cargo test -p codex-plus-core +cargo test -p codex-plus-manager +cd apps/codex-plus-manager && npm run check +``` + +若涉及样式、布局或对话交互,追加: + +```bash +cd /Users/albertluo/workSpace/albertLuo/createSomethingNew/CodexPlusPlus/apps/codex-plus-manager +npm run vite:build +``` + +若准备合并或发版,追加: + +```bash +cd /Users/albertluo/workSpace/albertLuo/createSomethingNew/CodexPlusPlus +cargo test --workspace +cargo build --workspace +cd apps/codex-plus-manager && npm run build +``` + +## 6. 手工冒烟清单 + +- 打开供应商配置页,确认“自动聚合 API 轮转”入口存在。 +- 已有 0 个或 1 个普通供应商时,创建聚合供应商应提示成员不足。 +- 已有 2 个以上普通供应商时,勾选成员后可保存。 +- 分别选择四种策略保存,重新打开详情后策略保持不变。 +- 调整成员顺序后保存,按请求轮转策略按新顺序展示或生效。 +- 权重轮转策略下,权重为空、0、非数字、极大值都有明确校验。 +- 删除一个被聚合引用的普通供应商后,聚合供应商展示成员缺失或不可用状态。 +- 切换到聚合供应商后,配置预览不应显示错误成员的 API Key。 +- 失败提示不包含完整 API Key,只允许展示脱敏前缀或供应商名称。 + +## 7. 风险与回滚 + +### 7.1 主要风险 + +- 配置兼容风险:新增聚合字段可能影响旧版本配置加载。 +- 调用路径风险:聚合供应商如果被当作普通供应商写入 `config.toml`,可能导致 base URL 或 API Key 为空。 +- 状态一致性风险:成员供应商删除、重命名、拖动排序后,聚合引用可能失效。 +- 安全风险:轮转失败日志可能打印成员 API Key。 +- UI 风险:供应商列表和对话都集中在 `App.tsx`,改动容易影响现有供应商新增、编辑、切换流程。 + +### 7.2 回滚方案 + +- 前端入口回滚:隐藏或移除“自动聚合 API 轮转”入口,保留已有普通供应商流程。 +- 数据兼容回滚:读取配置时忽略聚合供应商字段,不删除用户已有普通供应商。 +- 调用路径回滚:切换供应商时若检测到聚合类型不可用,阻止写入 `config.toml` 并提示用户选择普通供应商。 +- 测试回滚:保留新增单元测试中对旧配置兼容的用例,避免回滚后引入老配置不可读问题。 + +## 8. 交付模板 + +- 结果摘要:已完成聚合 API 供应商轮转功能验证计划落盘;未改业务代码。 +- 改动点:新增 `docs/plan/20260527160751519_聚合API供应商轮转实施计划.md`。 +- 验证:只读检查 `apps/codex-plus-manager/package.json` 与 workspace `Cargo.toml`,整理出最小验证命令。 +- 风险与回滚:见本文档第 7 节。 +- 请求关闭:Agent-4 文档与验证清单任务已完成,请 Agent-0 回收关闭。 From a60a653b7bccc03d33c3c442df732fb777ce9c5f Mon Sep 17 00:00:00 2001 From: AlbertLuo <46886876+kokotao@users.noreply.github.com> Date: Mon, 1 Jun 2026 23:06:42 +0800 Subject: [PATCH 005/156] chore: format files after rebase conflict resolution --- apps/codex-plus-launcher/src/main.rs | 4 +- crates/codex-plus-core/src/settings.rs | 58 ++++++++++++-------- crates/codex-plus-core/tests/relay_config.rs | 11 ++-- crates/codex-plus-core/tests/watcher.rs | 3 +- 4 files changed, 45 insertions(+), 31 deletions(-) diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 354a6bf9d..7aa25054e 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -80,9 +80,7 @@ fn acquire_single_instance_guard_with_retry( } fn try_acquire_single_instance_guard() -> std::io::Result { - codex_plus_core::ports::acquire_loopback_port_guard( - codex_plus_core::ports::LAUNCHER_GUARD_PORT, - ) + codex_plus_core::ports::acquire_loopback_port_guard(codex_plus_core::ports::LAUNCHER_GUARD_PORT) } fn should_recover_stale_launcher(debug_port: u16) -> bool { diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index f649c0dab..433f26f41 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -49,7 +49,11 @@ pub struct RelayProfile { pub base_url: String, #[serde(rename = "upstreamBaseUrl", default)] pub upstream_base_url: String, - #[serde(default, skip_serializing, deserialize_with = "deserialize_profile_api_key")] + #[serde( + default, + skip_serializing, + deserialize_with = "deserialize_profile_api_key" + )] pub api_key: String, #[serde(default)] pub protocol: RelayProtocol, @@ -1155,22 +1159,28 @@ experimental_bearer_token = "sk-mix" assert!(profile.official_mix_api_key); assert_eq!(profile.api_key, "sk-mix"); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "sk-mix""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "sk-mix""#) + ); let saved: Value = serde_json::from_str(&std::fs::read_to_string(dir.join("settings.json")).unwrap()) .unwrap(); assert!(saved["relayProfiles"][0].get("apiKey").is_none()); - assert!(!saved["relayProfiles"][0]["authContents"] - .as_str() - .unwrap() - .contains("OPENAI_API_KEY")); - assert!(saved["relayProfiles"][0]["configContents"] - .as_str() - .unwrap() - .contains(r#"experimental_bearer_token = "sk-mix""#)); + assert!( + !saved["relayProfiles"][0]["authContents"] + .as_str() + .unwrap() + .contains("OPENAI_API_KEY") + ); + assert!( + saved["relayProfiles"][0]["configContents"] + .as_str() + .unwrap() + .contains(r#"experimental_bearer_token = "sk-mix""#) + ); } #[test] @@ -1219,11 +1229,11 @@ experimental_bearer_token = "sk-existing" let profile = &updated.relay_profiles[0]; assert_eq!(profile.api_key, "sk-existing"); assert!(!profile.config_contents.contains("sk-other")); - assert!(profile - .config_contents - .contains(r#"[model_providers.custom] + assert!(profile.config_contents.contains( + r#"[model_providers.custom] base_url = "https://relay.example/v1" -experimental_bearer_token = "sk-existing""#)); +experimental_bearer_token = "sk-existing""# + )); } #[test] @@ -1249,9 +1259,11 @@ experimental_bearer_token = "sk-existing""#)); let profile = &updated.relay_profiles[0]; assert_eq!(profile.api_key, "sk-new"); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "sk-new""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "sk-new""#) + ); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); } @@ -1278,9 +1290,11 @@ experimental_bearer_token = "sk-existing""#)); assert_eq!(profile.relay_mode, RelayMode::Official); assert!(profile.official_mix_api_key); assert_eq!(profile.api_key, "22222222222222222222222222222222222"); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "22222222222222222222222222222222222""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "22222222222222222222222222222222222""#) + ); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); } diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index 487e4860a..048373aa0 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -1929,7 +1929,8 @@ requires_openai_auth = true experimental_bearer_token = "22222222222222222222222222222222222" "# .to_string(), - auth_contents: r#"{"auth_mode":"chatgpt","tokens":{"access_token":"official"}}"#.to_string(), + auth_contents: r#"{"auth_mode":"chatgpt","tokens":{"access_token":"official"}}"# + .to_string(), ..RelayProfile::default() }; let mut common = String::new(); @@ -1940,9 +1941,11 @@ experimental_bearer_token = "22222222222222222222222222222222222" assert_eq!(profile.relay_mode, RelayMode::Official); assert!(profile.official_mix_api_key); assert_eq!(profile.api_key, "333333333333333333333"); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "333333333333333333333""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "333333333333333333333""#) + ); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); } diff --git a/crates/codex-plus-core/tests/watcher.rs b/crates/codex-plus-core/tests/watcher.rs index ccad11732..716707dcf 100644 --- a/crates/codex-plus-core/tests/watcher.rs +++ b/crates/codex-plus-core/tests/watcher.rs @@ -1,8 +1,7 @@ use codex_plus_core::watcher::{ build_spawn_launcher_command, build_watcher_install_plan, cdp_listening, codex_process_ids, disable_watcher_at, enable_watcher_at, filter_killable_launcher_processes, - should_recover_stale_launcher, - watcher_disabled_flag, + should_recover_stale_launcher, watcher_disabled_flag, }; #[test] From 652f6f68bd0644b1ed396e7fc4855b4ad9e1eaa2 Mon Sep 17 00:00:00 2001 From: AlbertLuo <46886876+kokotao@users.noreply.github.com> Date: Mon, 1 Jun 2026 23:24:49 +0800 Subject: [PATCH 006/156] fix: finalize aggregate relay rebase followups --- apps/codex-plus-manager/src-tauri/src/commands.rs | 11 +++++++++-- apps/codex-plus-manager/src/App.tsx | 1 + 2 files changed, 10 insertions(+), 2 deletions(-) diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 50a2e4980..f8aa9b590 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -2550,9 +2550,16 @@ mod tests { let normalized = normalize_settings_before_save(settings); + let auth_json: serde_json::Value = + serde_json::from_str(&normalized.relay_profiles[0].auth_contents).unwrap(); assert_eq!( - normalized.relay_profiles[0].auth_contents, - r#"{"auth_mode":"chatgpt","tokens":{"access_token":"edited"}}"# + auth_json, + serde_json::json!({ + "auth_mode": "chatgpt", + "tokens": { + "access_token": "edited" + } + }) ); assert!(normalized.relay_profiles[0].config_contents.is_empty()); } diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 5a95f6bc5..f2684abc9 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -5136,6 +5136,7 @@ function createAggregateRelayProfile(settings: BackendSettings): RelayProfile { contextWindow: "", autoCompactLimit: "", modelList: "", + userAgent: "", aggregate: { strategy: "failover", members: candidates.slice(0, 1).map((profile) => ({ profileId: profile.id, weight: 1 })), From 89a7277c12fb9b8e20214c435ecb5679aa97e622 Mon Sep 17 00:00:00 2001 From: nb5p Date: Thu, 4 Jun 2026 21:50:33 +0800 Subject: [PATCH 007/156] fix: improve trigger button display --- assets/inject/renderer-inject.js | 53 ++++++++++++++++++++++++++++++-- 1 file changed, 50 insertions(+), 3 deletions(-) diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 53d4ac723..5f4b92690 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -116,6 +116,8 @@ pluginNavButton: 'nav[role="navigation"] button.h-token-nav-row.w-full', pluginSvgPath: 'svg path[d^="M7.94562 14.0277"]', }; + const headerContextButtonClass = "border-token-border user-select-none no-drag cursor-interaction flex items-center gap-1 border whitespace-nowrap focus:outline-none disabled:cursor-not-allowed disabled:opacity-40 rounded-lg border-token-border text-token-button-tertiary-foreground bg-token-bg-fog enabled:hover:bg-token-list-hover-background data-[state=open]:bg-token-list-hover-background border h-token-button-composer px-2 py-0 text-base leading-[18px]"; + const headerIconTextButtonClass = "border-token-border no-drag cursor-interaction flex items-center gap-1 border whitespace-nowrap select-none focus:outline-none disabled:cursor-not-allowed disabled:opacity-40 rounded-lg text-token-text-tertiary enabled:hover:bg-token-list-hover-background data-[state=open]:bg-token-list-hover-background border-transparent h-token-button-composer px-2 py-0 text-base leading-[18px]"; function installStyle() { const existingStyle = document.getElementById(styleId); @@ -1672,6 +1674,13 @@ function renderBackendStatus() { const status = codexPlusBackendStatus.status || "failed"; + if (codexPlusBackendStatus.version) { + codexPlusVersion = codexPlusBackendStatus.version; + document.querySelectorAll("[data-codex-plus-version]").forEach((node) => { + node.textContent = `Codex++ ${codexPlusVersion}`; + }); + document.querySelectorAll(`#${codexPlusMenuId} button`).forEach(setCodexPlusTriggerLabel); + } const label = document.querySelector("[data-codex-backend-status]"); if (label) { label.dataset.status = status; @@ -2190,17 +2199,39 @@ function findNativeMenuInsertionPoint() { if (!codexPlusSettings().nativeMenuPlacement) return null; const header = document.querySelector(selectors.appHeader); - const menuBar = header?.querySelector(selectors.nativeMenuBar); + const isIconOnlyButton = (button) => String(button.className || "").includes("aspect-square"); + const menuBar = Array.from(header?.querySelectorAll?.(selectors.nativeMenuBar) || []) + .find((node) => { + const rect = node.getBoundingClientRect(); + return !node.closest(".invisible") && rect.width > 0 && rect.height > 0; + }); if (menuBar) { const buttons = Array.from(menuBar.querySelectorAll("button")).filter((button) => !button.closest(`#${codexPlusMenuId}`)); + if (buttons.length && buttons.every(isIconOnlyButton)) return null; + const openLocationButton = buttons.find((button) => /^(打开位置|Open location)$/i.test(button.getAttribute("aria-label") || "")); + const openLocationGroup = openLocationButton?.closest?.(".inline-flex.self-start.items-stretch.overflow-hidden.rounded-lg"); + const openLocationIndex = buttons.indexOf(openLocationButton); + const nativeButtonClass = openLocationButton + ? buttons[openLocationIndex + 1]?.className || openLocationButton.className || "" + : buttons[buttons.length - 1]?.className || ""; + if (openLocationGroup?.parentElement === menuBar) return { parent: menuBar, before: openLocationGroup, nativeButtonClass }; + if (openLocationGroup?.parentElement?.parentElement === menuBar) return { parent: menuBar, before: openLocationGroup.parentElement, nativeButtonClass }; return { parent: menuBar, before: buttons[buttons.length - 1]?.nextSibling || null, nativeButtonClass: buttons[buttons.length - 1]?.className || "" }; } const contextSurface = header?.querySelector(selectors.headerContextMenuSurface); const buttons = Array.from(contextSurface?.querySelectorAll?.("button") || []) .filter((button) => !button.closest(`#${codexPlusMenuId}`) && button.getBoundingClientRect().width > 0 && button.getBoundingClientRect().height > 0); + if (buttons.length && buttons.every(isIconOnlyButton)) return null; const nativeButton = buttons.find((button) => !button.parentElement?.classList?.contains("inline-flex")) || buttons[0]; const parent = nativeButton?.parentElement; - if (!parent) return null; + if (!parent) { + const emptyButtonGroup = Array.from(contextSurface?.querySelectorAll?.("div") || []) + .find((node) => { + const className = String(node.className || ""); + return className.includes("items-center") && className.includes("gap-2"); + }); + return emptyButtonGroup ? { parent: emptyButtonGroup, before: emptyButtonGroup.firstChild, nativeButtonClass: headerIconTextButtonClass } : null; + } return { parent, before: nativeButton, nativeButtonClass: nativeButton.className || "" }; } @@ -2231,6 +2262,13 @@ function configureCodexPlusTrigger(menu, trigger, nativeButtonClass) { if (!trigger) return; if (nativeButtonClass) trigger.className = normalizeCodexPlusTriggerClassName(nativeButtonClass); + if (!trigger.querySelector(".codex-plus-backend-indicator")) { + const indicator = document.createElement("span"); + indicator.className = "codex-plus-backend-indicator"; + indicator.dataset.codexBackendIndicator = "true"; + indicator.dataset.status = codexPlusBackendStatus.status || "checking"; + trigger.prepend(indicator); + } if (trigger.dataset.codexPlusTriggerInstalled === "5") return; trigger.dataset.codexPlusTriggerInstalled = "5"; trigger.addEventListener("click", (event) => { @@ -2306,6 +2344,8 @@ insertionPoint = findNativeMenuInsertionPoint(); } else if (existing && insertionPoint && existing.parentElement === insertionPoint.parent) { configureCodexPlusTrigger(existing, existing.querySelector("button"), insertionPoint.nativeButtonClass); + const safeBefore = insertionPoint.before?.parentElement === insertionPoint.parent ? insertionPoint.before : null; + if (existing.nextSibling !== safeBefore) insertionPoint.parent.insertBefore(existing, safeBefore); removeDuplicateCodexPlusMenus(existing); return; } else if (existing && insertionPoint) { @@ -2315,6 +2355,13 @@ insertionPoint.parent.insertBefore(existing, safeBefore); removeDuplicateCodexPlusMenus(existing); return; + } else if (existing) { + configureCodexPlusTrigger(existing, existing.querySelector("button"), headerIconTextButtonClass); + existing.className = codexPlusMenuFloatingClass; + document.documentElement.appendChild(existing); + updateFloatingCodexPlusMenuPosition(existing); + removeDuplicateCodexPlusMenus(existing); + return; } const menu = document.createElement("div"); menu.id = codexPlusMenuId; @@ -2325,7 +2372,7 @@ const indicator = ensureCodexPlusTriggerIndicator(trigger); if (indicator) indicator.dataset.status = codexPlusBackendStatus.status || "checking"; setCodexPlusTriggerLabel(trigger); - const nativeButtonClass = insertionPoint?.nativeButtonClass || "codex-plus-trigger"; + const nativeButtonClass = insertionPoint?.nativeButtonClass || headerIconTextButtonClass; configureCodexPlusTrigger(menu, trigger, nativeButtonClass); menu.appendChild(trigger); if (insertionPoint) { From 739d34a73bdef5c4433f2d125c0aa821364ab78e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E4=BD=99=E6=B4=8B?= <502950715@qq.com> Date: Mon, 8 Jun 2026 13:17:40 +0800 Subject: [PATCH 008/156] =?UTF-8?q?fix:=20=E4=BF=AE=E5=A4=8D=E4=B8=AD?= =?UTF-8?q?=E8=BD=AC=E7=A1=85=E5=9F=BA=E6=B5=81=E5=8A=A8=E6=97=B6=EF=BC=8C?= =?UTF-8?q?Codex=E6=8F=90=E7=A4=BA=E2=80=9Cunsupported=20call=E2=80=9D?= =?UTF-8?q?=E9=97=AE=E9=A2=98?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- crates/codex-plus-core/src/protocol_proxy.rs | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/crates/codex-plus-core/src/protocol_proxy.rs b/crates/codex-plus-core/src/protocol_proxy.rs index 23510d01c..53919370a 100644 --- a/crates/codex-plus-core/src/protocol_proxy.rs +++ b/crates/codex-plus-core/src/protocol_proxy.rs @@ -1039,7 +1039,9 @@ impl ChatSseState { state.call_id = id; } if let Some(name) = name_delta { - state.name = name; + if !name.is_empty() { + state.name = name; + } } if !args_delta.is_empty() { state.arguments.push_str(&args_delta); From d9a4bc19cbfc34fc0f318e4594ce76be3b9fc7be Mon Sep 17 00:00:00 2001 From: lennney Date: Tue, 9 Jun 2026 14:34:04 +0800 Subject: [PATCH 009/156] @ fix: detect standalone Codex installations on Windows Previously, `resolve_codex_app_dir` only searched in `WindowsApps` for MS Store versions of Codex. Users who installed Codex via the standalone installer (which places the executable at `%LOCALAPPDATA%\OpenAI\Codex\bin\codex.exe`) would get "Codex App directory not found" errors. This adds `find_standalone_codex_app_dir()` which searches common standalone installation paths as a fallback when no MS Store version is found. Search order: 1. %LOCALAPPDATA%\OpenAI\Codex\bin\ 2. %LOCALAPPDATA%\OpenAI\Codex\ 3. %LOCALAPPDATA%\Programs\OpenAI\Codex\ Co-Authored-By: Claude @ --- crates/codex-plus-core/src/app_paths.rs | 32 ++++++++++++++++++++++--- 1 file changed, 29 insertions(+), 3 deletions(-) diff --git a/crates/codex-plus-core/src/app_paths.rs b/crates/codex-plus-core/src/app_paths.rs index 1378fa921..aa94b16d4 100644 --- a/crates/codex-plus-core/src/app_paths.rs +++ b/crates/codex-plus-core/src/app_paths.rs @@ -94,10 +94,36 @@ pub fn resolve_codex_app_dir(app_dir: Option<&Path>) -> Option { return normalize_codex_app_path(app_dir); } if cfg!(target_os = "macos") { - find_macos_codex_app_default() - } else { - find_latest_codex_app_dir_default() + return find_macos_codex_app_default(); } + // Windows: try MS Store version first, then standalone install + find_latest_codex_app_dir_default() + .or_else(|| find_standalone_codex_app_dir()) +} + +/// Search for standalone Codex installations (non-MS Store). +/// +/// Common paths: +/// - %LOCALAPPDATA%\OpenAI\Codex\bin\ (standalone installer) +/// - %LOCALAPPDATA%\OpenAI\Codex\ (user data root) +/// - %LOCALAPPDATA%\Programs\OpenAI\Codex\ (alternative) +pub fn find_standalone_codex_app_dir() -> Option { + let local_appdata = std::env::var_os("LOCALAPPDATA")?; + + let candidates: &[PathBuf] = &[ + PathBuf::from(&local_appdata).join("OpenAI").join("Codex").join("bin"), + PathBuf::from(&local_appdata).join("OpenAI").join("Codex"), + PathBuf::from(&local_appdata).join("Programs").join("OpenAI").join("Codex"), + ]; + + for candidate in candidates { + if let Some(path) = normalize_codex_app_path(candidate) { + if build_codex_executable(&path).exists() { + return Some(path); + } + } + } + None } pub fn resolve_codex_app_dir_with_saved( From d2d3c789986a0b3b9a093d148bd1ff3f0ae8d255 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 9 Jun 2026 16:37:51 +0800 Subject: [PATCH 010/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 188692 -> 189153 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index b80d35377677c6b896004a13af5ba52405adf4ac..8c649adb27198d1b1e2daaf6268418d65b9040eb 100644 GIT binary patch literal 189153 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 NhH0xWE5kij{|ov_m8}2( literal 188692 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 From 7e28965ee08a894b9acd5d2f2456a941179f8202 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 9 Jun 2026 16:38:14 +0800 Subject: [PATCH 011/156] Add files via upload From 8ac516c28bc87e6891e2e4521a85678827a8c084 Mon Sep 17 00:00:00 2001 From: nb5p Date: Tue, 9 Jun 2026 17:19:59 +0800 Subject: [PATCH 012/156] fix: pr-build.yaml ref_name containing a path separator --- .github/workflows/pr-build.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 29f74e8b3..2ae77ac0e 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -57,6 +57,7 @@ jobs: shell: pwsh run: | $version = "${{ github.ref_name }}".TrimStart("v", "V") + $version = $version -replace '[\\/]', '-' if (-not $version -or $version -eq "main") { $version = "0.0.0-${{ github.run_number }}" } @@ -124,6 +125,7 @@ jobs: run: | VERSION="${GITHUB_REF_NAME#v}" VERSION="${VERSION#V}" + VERSION="${VERSION//\//-}" if [ -z "$VERSION" ] || [ "$VERSION" = "main" ]; then VERSION="0.0.0-${GITHUB_RUN_NUMBER}" fi From 5db85608cdad676bfb9d350625487e18c1c16b81 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 9 Jun 2026 20:49:59 +0800 Subject: [PATCH 013/156] docs: update JOJO Code sponsor copy --- README.md | 13 ++++++++++++- README_EN.md | 12 +++++++++++- 2 files changed, 23 insertions(+), 2 deletions(-) diff --git a/README.md b/README.md index a5bb9da98..c6d98b709 100644 --- a/README.md +++ b/README.md @@ -34,6 +34,17 @@ Codex++ 是面向 Codex App 的外部增强启动器和管理工具。它不修 Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安装 `/Applications/Codex++.app` 和 `/Applications/Codex++ 管理工具.app`。 ## 赞助商 + +

+ + JOJO Code + +

+

+ JOJO Code|Codex++ 官方中转站
+ Codex++ 官方中转站,主打稳定接入和划算价格,支持 GPT-5.5、GPT-5.4、Claude Opus 4.8、Claude Opus 4.7、gpt-image-2 等模型与图像能力,适合日常开发、团队协作和长期项目工作流。 +

+ 想显示在下方?

@@ -48,7 +59,7 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 JOJO Code - JOJO Code|Codex++ 官方中转站
感谢 JOJO Code 赞助了本项目!JOJO Code 是 Codex++ 官方中转站,面向日常开发和团队协作场景,提供稳定可用的 Codex API 接入体验,适合快速接入、长期使用和项目级工作流。 + JOJO Code|Codex++ 官方中转站
感谢 JOJO Code 赞助本项目。JOJO Code 是 Codex++ 官方中转站,提供价格划算、稳定易接入的 Codex API 中转服务,支持 GPT-5.5、GPT-5.4、Claude Opus 4.8、Claude Opus 4.7、gpt-image-2 等模型与图像能力,适合日常开发、快速配置、团队协作和长期使用。 diff --git a/README_EN.md b/README_EN.md index 41e50f318..5abcc6ef5 100644 --- a/README_EN.md +++ b/README_EN.md @@ -35,6 +35,16 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in ## Sponsors +

+ + JOJO Code + +

+

+ JOJO Code | Official Codex++ Relay
+ The official Codex++ relay service, focused on stable access and cost-effective pricing. JOJO Code supports GPT-5.5, GPT-5.4, Claude Opus 4.8, Claude Opus 4.7, gpt-image-2, and more for daily development, team collaboration, and long-running project workflows. +

+

Want to be shown below?

@@ -49,7 +59,7 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in JOJO Code - JOJO Code | Official Codex++ Relay
Thanks to JOJO Code for sponsoring this project! JOJO Code is the official Codex++ relay service. It is built for daily development and team collaboration, providing stable Codex API access for quick onboarding, long-term use, and project workflows. + JOJO Code | Official Codex++ Relay
Thanks to JOJO Code for sponsoring this project. JOJO Code is the official Codex++ relay service with cost-effective pricing and stable, easy-to-configure Codex API access. It supports GPT-5.5, GPT-5.4, Claude Opus 4.8, Claude Opus 4.7, gpt-image-2, and more for daily development, quick setup, team collaboration, and continuous use. From 81d5219c8b272e93017558cb9a9e7864c1b2361e Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 10 Jun 2026 00:31:32 +0800 Subject: [PATCH 014/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 189153 -> 184985 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 8c649adb27198d1b1e2daaf6268418d65b9040eb..3b9b918b881d4b9eeadbf3015e5cedef26d231bc 100644 GIT binary patch literal 184985 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
TRs;*NSs<&6ho=#Gh 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 dJ@LDN=rRcSx#rr&$e?sqc=GoV?CE&8=9gRBx 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

fT3-3{S!?|wYV}dqn)6@C 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�vL^wM>VAqG0JAf^mk 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 S5t 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 xn*brBT4Q>wr> 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 C2$>cD From 904802f796d7c40a55070590dd2debeac184c2d9 Mon Sep 17 00:00:00 2001 From: CodexPlusPlus Contributor Date: Wed, 10 Jun 2026 20:18:51 +0800 Subject: [PATCH 020/156] feat: add CC Switch config ownership coordination Introduce config ownership modes and write guards so Codex++ and CC Switch no longer silently overwrite each other's ~/.codex config. - Add config_coordinator module with fingerprint tracking and conflict detection - Add configOwnership setting (auto / ccSwitch / codexPlusPlus) - Route linked provider switches through cc-switch database snapshots - Skip launcher auto-apply when CC Switch owns live config - Expose coordination status in manager UI --- .../src-tauri/src/commands.rs | 86 +++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 1 + apps/codex-plus-manager/src/App.tsx | 90 ++++- crates/codex-plus-core/src/ccs_import.rs | 57 ++- .../codex-plus-core/src/config_coordinator.rs | 352 ++++++++++++++++++ crates/codex-plus-core/src/launcher.rs | 24 ++ crates/codex-plus-core/src/lib.rs | 1 + crates/codex-plus-core/src/relay_config.rs | 6 +- crates/codex-plus-core/src/settings.rs | 17 + .../tests/config_coordinator.rs | 100 +++++ 10 files changed, 730 insertions(+), 4 deletions(-) create mode 100644 crates/codex-plus-core/src/config_coordinator.rs create mode 100644 crates/codex-plus-core/tests/config_coordinator.rs diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 36532bad1..67a913c35 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -401,6 +401,16 @@ pub fn load_settings() -> CommandResult { settings_payload("设置已加载。", "设置读取失败") } +#[tauri::command] +pub fn get_config_coordination_status() -> CommandResult { + let settings = + settings_with_live_ccs_profiles(SettingsStore::default().load().unwrap_or_default()); + ok( + "已读取配置协调状态。", + codex_plus_core::config_coordinator::coordination_status(&settings), + ) +} + #[tauri::command] pub fn save_settings(settings: BackendSettings) -> CommandResult { let mut settings = normalize_settings_before_save(settings); @@ -1761,6 +1771,12 @@ pub fn apply_relay_injection() -> CommandResult { } let relay = settings.active_relay_profile(); log_relay_apply_request("manager.apply_relay_injection", &settings, &relay); + if let Some(result) = try_apply_linked_ccs_provider(&settings, &relay) { + return result; + } + if let Some(result) = guard_live_write_or_fail(&settings, false) { + return result; + } if relay_has_complete_files(&relay) { return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules( &home, @@ -1865,6 +1881,12 @@ pub fn apply_pure_api_injection() -> CommandResult { ); } let relay = settings.active_relay_profile(); + if let Some(result) = try_apply_linked_ccs_provider(&settings, &relay) { + return result; + } + if let Some(result) = guard_live_write_or_fail(&settings, false) { + return result; + } log_relay_apply_request("manager.apply_pure_api_injection", &settings, &relay); if relay_has_complete_files(&relay) { return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules( @@ -1960,6 +1982,12 @@ pub fn clear_relay_injection() -> CommandResult { settings_with_live_ccs_profiles(SettingsStore::default().load().unwrap_or_default()); let relay = settings.active_relay_profile(); log_manager_event("manager.clear_relay_injection.start", json!({})); + if let Some(result) = try_apply_linked_ccs_provider(&settings, &relay) { + return result; + } + if let Some(result) = guard_live_write_or_fail(&settings, false) { + return result; + } let auth_contents = (relay.relay_mode == codex_plus_core::settings::RelayMode::Official && !relay.official_mix_api_key && !relay.auth_contents.trim().is_empty()) @@ -1997,6 +2025,64 @@ pub fn clear_relay_injection() -> CommandResult { } } +fn try_apply_linked_ccs_provider( + settings: &BackendSettings, + relay: &codex_plus_core::settings::RelayProfile, +) -> Option> { + if !settings.ccs_link_enabled { + return None; + } + if codex_plus_core::config_coordinator::effective_ownership(settings) + != codex_plus_core::settings::ConfigOwnership::CcSwitch + { + return None; + } + let source_id = relay.linked_ccs_provider_id.trim(); + if source_id.is_empty() { + return None; + } + let home = codex_plus_core::relay_config::default_codex_home_dir(); + match codex_plus_core::config_coordinator::apply_linked_ccs_provider_to_home( + source_id, + &relay_combined_common_config(settings), + ) { + Ok(result) => { + let status = codex_plus_core::relay_config::relay_status_from_home(&home); + log_relay_apply_result( + "manager.apply_relay_injection.ccswitch_coordinated", + relay, + &status, + result.backup_path.as_ref(), + None, + ); + Some(ok( + "已通过 cc-switch 联动应用当前供应商配置,避免与 CC Switch 发生覆盖冲突。", + relay_payload(status, result.backup_path), + )) + } + Err(error) => { + let status = codex_plus_core::relay_config::relay_status_from_home(&home); + Some(failed( + &format!("通过 cc-switch 联动应用供应商失败:{error}"), + relay_payload(status, None), + )) + } + } +} + +fn guard_live_write_or_fail( + settings: &BackendSettings, + force: bool, +) -> Option> { + let decision = codex_plus_core::config_coordinator::evaluate_live_write(settings, force); + if decision.allowed { + return None; + } + let home = codex_plus_core::relay_config::default_codex_home_dir(); + let status = codex_plus_core::relay_config::relay_status_from_home(&home); + Some(failed(&decision.message, relay_payload(status, None))) +} + fn relay_has_complete_files(relay: &codex_plus_core::settings::RelayProfile) -> bool { if relay.relay_mode == codex_plus_core::settings::RelayMode::Official && relay.official_mix_api_key diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index f5c1c185b..86bced158 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -35,6 +35,7 @@ pub fn run() { commands::launch_codex_plus, commands::restart_codex_plus, commands::load_settings, + commands::get_config_coordination_status, commands::save_settings, commands::list_local_sessions, commands::list_zed_remote_projects, diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e1fafe1a0..52a146498 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -100,6 +100,7 @@ type BackendSettings = { providerSyncLastSelectedProvider: string; relayProfilesEnabled: boolean; ccsLinkEnabled: boolean; + configOwnership: ConfigOwnership; enhancementsEnabled: boolean; codexAppPluginEntryUnlock: boolean; codexAppPluginMarketplaceUnlock: boolean; @@ -135,6 +136,7 @@ type BackendSettings = { type ZedOpenStrategy = "addToFocusedWorkspace" | "reuseWindow" | "newWindow" | "default"; type LaunchMode = "patch" | "relay"; +type ConfigOwnership = "auto" | "codexPlusPlus" | "ccSwitch"; type RelayProfile = { id: string; @@ -235,6 +237,20 @@ type RelayFilesResult = CommandResult<{ authContents: string; }>; +type CoordinationStatus = { + ccswitchDetected: boolean; + configuredOwnership: ConfigOwnership; + effectiveOwnership: ConfigOwnership; + lastWriter: string | null; + conflictDetected: boolean; + conflictMessage: string; + ccswitchCurrentProviderId: string | null; + ccswitchCurrentProviderName: string | null; + liveModelProvider: string; + canWriteLiveConfig: boolean; + guidance: string; +}; + type LocalSession = { id: string; title: string; @@ -508,6 +524,7 @@ const defaultSettings: BackendSettings = { providerSyncLastSelectedProvider: "", relayProfilesEnabled: true, ccsLinkEnabled: false, + configOwnership: "auto", enhancementsEnabled: true, codexAppPluginEntryUnlock: true, codexAppPluginMarketplaceUnlock: true, @@ -1507,6 +1524,10 @@ export function App() { }, refreshRelay, refreshRelayFiles, + refreshCoordinationStatus: async () => { + const result = await run(() => call>("get_config_coordination_status")); + return result?.payload ?? null; + }, refreshLiveContextEntries, syncLiveContextEntries, importCcsProviders, @@ -1721,6 +1742,7 @@ type Actions = { setLaunchMode: (launchMode: LaunchMode) => Promise; refreshRelay: () => Promise; refreshRelayFiles: () => Promise; + refreshCoordinationStatus: () => Promise; refreshLiveContextEntries: () => Promise; syncLiveContextEntries: (settings: BackendSettings, silent?: boolean) => Promise; importCcsProviders: () => Promise; @@ -1935,9 +1957,31 @@ function RelayScreen({ /> 联动 cc-switch - 开启后读取 cc-switch Codex 供应商并保存时回写;同时使用多个管理工具可能导致 config.toml / auth.json 被反复覆盖。 + 开启后读取 cc-switch Codex 供应商并保存时回写;建议配合“配置所有权”避免与 CC Switch 互相覆盖。 + +

+ {isNew ? ( + { + updateDraft(patch as unknown as Partial); + }} + /> + ) : null}
; + +const categoryLabels: Record = { + official: "官方", + cn_official: "中国官方", + aggregator: "聚合/中转", + third_party: "第三方", +}; + +export function usePresetPatch(preset: ProviderPreset): PresetPatch { + return { + name: preset.name, + baseUrl: preset.baseUrl, + upstreamBaseUrl: preset.baseUrl, + protocol: preset.protocol, + model: preset.model, + testModel: preset.model, + modelList: preset.modelList?.join("\n") ?? "", + relayMode: preset.category === "official" ? "official" : "pureApi", + officialMixApiKey: preset.category === "official" ? false : false, + }; +} + +export function ProviderPresetSelector({ + onSelect, +}: { + onSelect: (patch: PresetPatch) => void; +}) { + const [collapsed, setCollapsed] = useState(true); + + const categories = [...new Set(PRESETS.map((p) => p.category))]; + + return ( +
+ + + {!collapsed && ( +
+ {categories.map((cat) => ( +
+
+ {categoryLabels[cat] || cat} +
+
+ {PRESETS.filter((p) => p.category === cat).map((preset) => ( + + ))} +
+
+ ))} +
+ )} +
+ ); +} \ No newline at end of file diff --git a/apps/codex-plus-manager/src/presets.ts b/apps/codex-plus-manager/src/presets.ts new file mode 100644 index 000000000..80d7f7cf1 --- /dev/null +++ b/apps/codex-plus-manager/src/presets.ts @@ -0,0 +1,262 @@ +/** + * Codex++ 供应商预设 + * 基于 cc-switch (MIT) 的 codexProviderPresets.ts,作者 Jason Young + * https://github.com/farion1231/cc-switch + * + * 提供一键填充供应商配置的预设模板,包括 Base URL、协议、模型列表等。 + * 去掉了 cc-switch 原始的商业合作标记(isPartner、partnerPromotionKey)。 + */ + +export type PresetCategory = "official" | "aggregator" | "third_party" | "cn_official"; + +export type RelayProtocol = "responses" | "chatCompletions"; + +export interface ProviderPreset { + id: string; + name: string; + websiteUrl?: string; + apiKeyUrl?: string; + category: PresetCategory; + baseUrl: string; + protocol: RelayProtocol; + model: string; + modelList?: string[]; +} + +/** + * 预设列表。选择任一预设会自动填充: + * - name → 供应商名称 + * - baseUrl → API 端点 + * - protocol → responses / chatCompletions(根据上游实际协议) + * - model → 默认模型名 + * - modelList → 可选模型清单(换行分隔) + */ +export const PRESETS: ProviderPreset[] = [ + // ── 官方 ── + { + id: "openai", + name: "OpenAI Official", + category: "official", + baseUrl: "https://api.openai.com/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://chatgpt.com/codex", + }, + + // ── 中国官方 ── + { + id: "deepseek", + name: "DeepSeek", + websiteUrl: "https://platform.deepseek.com", + apiKeyUrl: "https://platform.deepseek.com/api_keys", + category: "cn_official", + baseUrl: "https://api.deepseek.com", + protocol: "chatCompletions", + model: "deepseek-v4-flash", + modelList: ["deepseek-v4-flash", "deepseek-v4-pro"], + }, + { + id: "zhipu-glm", + name: "Zhipu GLM", + websiteUrl: "https://open.bigmodel.cn", + apiKeyUrl: "https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII", + category: "cn_official", + baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4", + protocol: "chatCompletions", + model: "glm-5.1", + modelList: ["glm-5.1"], + }, + { + id: "kimi", + name: "Kimi", + websiteUrl: "https://platform.moonshot.cn", + apiKeyUrl: "https://platform.moonshot.cn/console/api-keys", + category: "cn_official", + baseUrl: "https://api.moonshot.cn/v1", + protocol: "chatCompletions", + model: "kimi-k2.6", + modelList: ["kimi-k2.6"], + }, + { + id: "bailian", + name: "Bailian (Qwen)", + websiteUrl: "https://bailian.console.aliyun.com", + apiKeyUrl: "https://bailian.console.aliyun.com/#/api-key", + category: "cn_official", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + protocol: "chatCompletions", + model: "qwen3-coder-plus", + modelList: ["qwen3-coder-plus", "qwen3-max"], + }, + { + id: "stepfun", + name: "StepFun", + websiteUrl: "https://platform.stepfun.com/step-plan", + apiKeyUrl: "https://platform.stepfun.com/interface-key", + category: "cn_official", + baseUrl: "https://api.stepfun.com/step_plan/v1", + protocol: "chatCompletions", + model: "step-3.5-flash-2603", + modelList: ["step-3.5-flash-2603", "step-3.5-flash"], + }, + { + id: "minimax", + name: "MiniMax", + websiteUrl: "https://platform.minimaxi.com", + apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan", + category: "cn_official", + baseUrl: "https://api.minimaxi.com/v1", + protocol: "chatCompletions", + model: "MiniMax-M2.7", + modelList: ["MiniMax-M2.7"], + }, + { + id: "volcano-ark", + name: "火山引擎 Ark", + websiteUrl: "https://www.volcengine.com/product/ark", + apiKeyUrl: "https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey", + category: "cn_official", + baseUrl: "https://ark.cn-beijing.volces.com/api/coding/v3", + protocol: "chatCompletions", + model: "ark-code-latest", + modelList: ["ark-code-latest"], + }, + { + id: "baidu-qianfan", + name: "百度千帆 Coding Plan", + category: "cn_official", + baseUrl: "https://qianfan.baidubce.com/v2/coding", + protocol: "chatCompletions", + model: "qianfan-code-latest", + websiteUrl: "https://cloud.baidu.com/product/qianfan_modelbuilder", + }, + { + id: "xiaomi-mimo", + name: "小米 MiMo", + category: "cn_official", + baseUrl: "https://api.xiaomimimo.com/v1", + protocol: "chatCompletions", + model: "mimo-v2.5-pro", + modelList: ["mimo-v2.5-pro"], + websiteUrl: "https://platform.xiaomimimo.com", + }, + { + id: "modelscope", + name: "ModelScope", + category: "cn_official", + baseUrl: "https://api-inference.modelscope.cn/v1", + protocol: "chatCompletions", + model: "ZhipuAI/GLM-5.1", + modelList: ["ZhipuAI/GLM-5.1"], + websiteUrl: "https://modelscope.cn", + }, + { + id: "longcat", + name: "Longcat", + category: "cn_official", + baseUrl: "https://api.longcat.chat/openai/v1", + protocol: "chatCompletions", + model: "LongCat-Flash-Chat", + modelList: ["LongCat-Flash-Chat"], + websiteUrl: "https://longcat.chat/platform", + }, + + // ── 聚合/中转 ── + { + id: "siliconflow", + name: "SiliconFlow", + websiteUrl: "https://siliconflow.cn", + apiKeyUrl: "https://cloud.siliconflow.cn/i/drGuwc9k", + category: "aggregator", + baseUrl: "https://api.siliconflow.cn/v1", + protocol: "chatCompletions", + model: "Pro/MiniMaxAI/MiniMax-M2.7", + modelList: ["Pro/MiniMaxAI/MiniMax-M2.7"], + }, + { + id: "openrouter", + name: "OpenRouter", + websiteUrl: "https://openrouter.ai", + apiKeyUrl: "https://openrouter.ai/keys", + category: "aggregator", + baseUrl: "https://openrouter.ai/api/v1", + protocol: "chatCompletions", + model: "gpt-5.5", + }, + { + id: "aihubmix", + name: "AiHubMix", + category: "aggregator", + baseUrl: "https://aihubmix.com/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://aihubmix.com", + }, + { + id: "apikeyfun", + name: "APIKEY.FUN", + category: "aggregator", + baseUrl: "https://api.apikey.fun/v1", + protocol: "responses", + model: "gpt-5.5", + modelList: ["gpt-5.5"], + websiteUrl: "https://apikey.fun", + }, + { + id: "pateway", + name: "PatewayAI", + category: "aggregator", + baseUrl: "https://api.pateway.ai/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://pateway.ai", + }, + { + id: "therouter", + name: "TheRouter", + category: "aggregator", + baseUrl: "https://api.therouter.ai/v1", + protocol: "chatCompletions", + model: "openai/gpt-5.3-codex", + websiteUrl: "https://therouter.ai", + }, + { + id: "novita", + name: "Novita AI", + category: "aggregator", + baseUrl: "https://api.novita.ai/openai/v1", + protocol: "chatCompletions", + model: "zai-org/glm-5.1", + modelList: ["zai-org/glm-5.1"], + websiteUrl: "https://novita.ai", + }, + { + id: "shengsuanyun", + name: "Shengsuanyun", + category: "aggregator", + baseUrl: "https://router.shengsuanyun.com/api/v1", + protocol: "chatCompletions", + model: "openai/gpt-5.5", + websiteUrl: "https://www.shengsuanyun.com", + }, + { + id: "ccsub", + name: "CCSub", + category: "aggregator", + baseUrl: "https://www.ccsub.net/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://www.ccsub.net", + }, + + // ── 第三方 ── + { + id: "azure", + name: "Azure OpenAI", + category: "third_party", + baseUrl: "https://YOUR_RESOURCE_NAME.openai.azure.com/openai", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/codex", + }, +]; \ No newline at end of file diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 1318dc421..70121fd12 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -2220,3 +2220,101 @@ body { width: fit-content; } } + +/* ── 供应商预设选择器 ── */ +.preset-selector { + margin-bottom: 16px; +} + +.preset-toggle { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 12px 16px; + background: var(--surface-secondary); + border: 1px dashed var(--border); + border-radius: 8px; + cursor: pointer; + font-size: 14px; + transition: background 0.15s; +} + +.preset-toggle:hover { + background: var(--surface-tertiary); +} + +.preset-toggle small { + font-size: 12px; + color: var(--text-tertiary); +} + +.preset-grid { + margin-top: 12px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.preset-category { + display: flex; + flex-direction: column; + gap: 6px; +} + +.preset-category-label { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-tertiary); + padding: 0 4px; +} + +.preset-category-items { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.preset-item { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + background: var(--surface-secondary); + border: 1px solid var(--border); + border-radius: 6px; + cursor: pointer; + font-size: 13px; + transition: all 0.15s; + text-align: left; +} + +.preset-item:hover { + background: var(--accent-bg); + border-color: var(--accent); +} + +.preset-item-name { + font-weight: 600; + color: var(--text-primary); +} + +.preset-item-protocol { + font-size: 10px; + font-weight: 500; + padding: 1px 6px; + border-radius: 4px; + background: var(--surface-tertiary); + color: var(--text-tertiary); +} + +.preset-item-model { + font-size: 11px; + color: var(--text-tertiary); + max-width: 160px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} From 4c2319e4376c70733e409fa29cab70c8e8f3c5bd Mon Sep 17 00:00:00 2001 From: CodexPlusPlus Contributor Date: Thu, 11 Jun 2026 18:10:49 +0800 Subject: [PATCH 024/156] fix(manager): read coordination status from flattened command result Co-authored-by: Cursor --- apps/codex-plus-manager/src/App.tsx | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 52a146498..7cd5341ca 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -251,6 +251,8 @@ type CoordinationStatus = { guidance: string; }; +type CoordinationStatusResult = CommandResult; + type LocalSession = { id: string; title: string; @@ -1525,8 +1527,8 @@ export function App() { refreshRelay, refreshRelayFiles, refreshCoordinationStatus: async () => { - const result = await run(() => call>("get_config_coordination_status")); - return result?.payload ?? null; + const result = await run(() => call("get_config_coordination_status")); + return result?.status === "ok" ? result : null; }, refreshLiveContextEntries, syncLiveContextEntries, From 7fa5e13030bd5c5e2e0391a2234b97fddc0aec8f Mon Sep 17 00:00:00 2001 From: lennney Date: Thu, 11 Jun 2026 16:17:39 +0800 Subject: [PATCH 025/156] feat: add provider presets selector for quick setup MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit Port the provider preset system from cc-switch (MIT) to Codex++. ## Changes - New `src/presets.ts`: 20+ provider presets covering OpenAI, DeepSeek, Zhipu GLM, Kimi, Bailian, StepFun, MiniMax, Volcano Ark, SiliconFlow, OpenRouter and more, with correct base URLs, protocols and model lists - New `src/components/ProviderPresetSelector.tsx`: collapsible UI component that renders presets grouped by category (official, CN official, aggregator, third-party) - Modified `RelayProfileEditor`: shows preset selector when creating a new profile; selecting a preset fills in name, base URL, protocol, model, test model and model list - Added CSS styles for the preset selector When the user creates a new relay profile, they can click '从预设模板创建' to expand the preset grid and pick from curated providers. Selecting a preset auto-fills all relevant fields, reducing manual configuration errors. Based on cc-switch (MIT) codexProviderPresets.ts by Jason Young. https://github.com/farion1231/cc-switch Co-Authored-By: Claude --- apps/codex-plus-manager/src/App.tsx | 9 + .../src/components/ProviderPresetSelector.tsx | 102 +++++++ apps/codex-plus-manager/src/presets.ts | 262 ++++++++++++++++++ apps/codex-plus-manager/src/styles.css | 98 +++++++ 4 files changed, 471 insertions(+) create mode 100644 apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx create mode 100644 apps/codex-plus-manager/src/presets.ts diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e1fafe1a0..2e751de57 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -49,6 +49,8 @@ import { Wrench, type LucideIcon, } from "lucide-react"; +import { ProviderPresetSelector } from "@/components/ProviderPresetSelector"; +import type { PresetPatch } from "@/components/ProviderPresetSelector"; import { useEffect, useMemo, useRef, useState, type CSSProperties } from "react"; import { Badge as UiBadge } from "@/components/ui/badge"; @@ -3098,6 +3100,13 @@ function RelayProfileEditor({ )}
+ {isNew ? ( + { + updateDraft(patch as unknown as Partial); + }} + /> + ) : null}
; + +const categoryLabels: Record = { + official: "官方", + cn_official: "中国官方", + aggregator: "聚合/中转", + third_party: "第三方", +}; + +export function usePresetPatch(preset: ProviderPreset): PresetPatch { + return { + name: preset.name, + baseUrl: preset.baseUrl, + upstreamBaseUrl: preset.baseUrl, + protocol: preset.protocol, + model: preset.model, + testModel: preset.model, + modelList: preset.modelList?.join("\n") ?? "", + relayMode: preset.category === "official" ? "official" : "pureApi", + officialMixApiKey: preset.category === "official" ? false : false, + }; +} + +export function ProviderPresetSelector({ + onSelect, +}: { + onSelect: (patch: PresetPatch) => void; +}) { + const [collapsed, setCollapsed] = useState(true); + + const categories = [...new Set(PRESETS.map((p) => p.category))]; + + return ( +
+ + + {!collapsed && ( +
+ {categories.map((cat) => ( +
+
+ {categoryLabels[cat] || cat} +
+
+ {PRESETS.filter((p) => p.category === cat).map((preset) => ( + + ))} +
+
+ ))} +
+ )} +
+ ); +} \ No newline at end of file diff --git a/apps/codex-plus-manager/src/presets.ts b/apps/codex-plus-manager/src/presets.ts new file mode 100644 index 000000000..80d7f7cf1 --- /dev/null +++ b/apps/codex-plus-manager/src/presets.ts @@ -0,0 +1,262 @@ +/** + * Codex++ 供应商预设 + * 基于 cc-switch (MIT) 的 codexProviderPresets.ts,作者 Jason Young + * https://github.com/farion1231/cc-switch + * + * 提供一键填充供应商配置的预设模板,包括 Base URL、协议、模型列表等。 + * 去掉了 cc-switch 原始的商业合作标记(isPartner、partnerPromotionKey)。 + */ + +export type PresetCategory = "official" | "aggregator" | "third_party" | "cn_official"; + +export type RelayProtocol = "responses" | "chatCompletions"; + +export interface ProviderPreset { + id: string; + name: string; + websiteUrl?: string; + apiKeyUrl?: string; + category: PresetCategory; + baseUrl: string; + protocol: RelayProtocol; + model: string; + modelList?: string[]; +} + +/** + * 预设列表。选择任一预设会自动填充: + * - name → 供应商名称 + * - baseUrl → API 端点 + * - protocol → responses / chatCompletions(根据上游实际协议) + * - model → 默认模型名 + * - modelList → 可选模型清单(换行分隔) + */ +export const PRESETS: ProviderPreset[] = [ + // ── 官方 ── + { + id: "openai", + name: "OpenAI Official", + category: "official", + baseUrl: "https://api.openai.com/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://chatgpt.com/codex", + }, + + // ── 中国官方 ── + { + id: "deepseek", + name: "DeepSeek", + websiteUrl: "https://platform.deepseek.com", + apiKeyUrl: "https://platform.deepseek.com/api_keys", + category: "cn_official", + baseUrl: "https://api.deepseek.com", + protocol: "chatCompletions", + model: "deepseek-v4-flash", + modelList: ["deepseek-v4-flash", "deepseek-v4-pro"], + }, + { + id: "zhipu-glm", + name: "Zhipu GLM", + websiteUrl: "https://open.bigmodel.cn", + apiKeyUrl: "https://www.bigmodel.cn/claude-code?ic=RRVJPB5SII", + category: "cn_official", + baseUrl: "https://open.bigmodel.cn/api/coding/paas/v4", + protocol: "chatCompletions", + model: "glm-5.1", + modelList: ["glm-5.1"], + }, + { + id: "kimi", + name: "Kimi", + websiteUrl: "https://platform.moonshot.cn", + apiKeyUrl: "https://platform.moonshot.cn/console/api-keys", + category: "cn_official", + baseUrl: "https://api.moonshot.cn/v1", + protocol: "chatCompletions", + model: "kimi-k2.6", + modelList: ["kimi-k2.6"], + }, + { + id: "bailian", + name: "Bailian (Qwen)", + websiteUrl: "https://bailian.console.aliyun.com", + apiKeyUrl: "https://bailian.console.aliyun.com/#/api-key", + category: "cn_official", + baseUrl: "https://dashscope.aliyuncs.com/compatible-mode/v1", + protocol: "chatCompletions", + model: "qwen3-coder-plus", + modelList: ["qwen3-coder-plus", "qwen3-max"], + }, + { + id: "stepfun", + name: "StepFun", + websiteUrl: "https://platform.stepfun.com/step-plan", + apiKeyUrl: "https://platform.stepfun.com/interface-key", + category: "cn_official", + baseUrl: "https://api.stepfun.com/step_plan/v1", + protocol: "chatCompletions", + model: "step-3.5-flash-2603", + modelList: ["step-3.5-flash-2603", "step-3.5-flash"], + }, + { + id: "minimax", + name: "MiniMax", + websiteUrl: "https://platform.minimaxi.com", + apiKeyUrl: "https://platform.minimaxi.com/subscribe/coding-plan", + category: "cn_official", + baseUrl: "https://api.minimaxi.com/v1", + protocol: "chatCompletions", + model: "MiniMax-M2.7", + modelList: ["MiniMax-M2.7"], + }, + { + id: "volcano-ark", + name: "火山引擎 Ark", + websiteUrl: "https://www.volcengine.com/product/ark", + apiKeyUrl: "https://console.volcengine.com/ark/region:ark+cn-beijing/apiKey", + category: "cn_official", + baseUrl: "https://ark.cn-beijing.volces.com/api/coding/v3", + protocol: "chatCompletions", + model: "ark-code-latest", + modelList: ["ark-code-latest"], + }, + { + id: "baidu-qianfan", + name: "百度千帆 Coding Plan", + category: "cn_official", + baseUrl: "https://qianfan.baidubce.com/v2/coding", + protocol: "chatCompletions", + model: "qianfan-code-latest", + websiteUrl: "https://cloud.baidu.com/product/qianfan_modelbuilder", + }, + { + id: "xiaomi-mimo", + name: "小米 MiMo", + category: "cn_official", + baseUrl: "https://api.xiaomimimo.com/v1", + protocol: "chatCompletions", + model: "mimo-v2.5-pro", + modelList: ["mimo-v2.5-pro"], + websiteUrl: "https://platform.xiaomimimo.com", + }, + { + id: "modelscope", + name: "ModelScope", + category: "cn_official", + baseUrl: "https://api-inference.modelscope.cn/v1", + protocol: "chatCompletions", + model: "ZhipuAI/GLM-5.1", + modelList: ["ZhipuAI/GLM-5.1"], + websiteUrl: "https://modelscope.cn", + }, + { + id: "longcat", + name: "Longcat", + category: "cn_official", + baseUrl: "https://api.longcat.chat/openai/v1", + protocol: "chatCompletions", + model: "LongCat-Flash-Chat", + modelList: ["LongCat-Flash-Chat"], + websiteUrl: "https://longcat.chat/platform", + }, + + // ── 聚合/中转 ── + { + id: "siliconflow", + name: "SiliconFlow", + websiteUrl: "https://siliconflow.cn", + apiKeyUrl: "https://cloud.siliconflow.cn/i/drGuwc9k", + category: "aggregator", + baseUrl: "https://api.siliconflow.cn/v1", + protocol: "chatCompletions", + model: "Pro/MiniMaxAI/MiniMax-M2.7", + modelList: ["Pro/MiniMaxAI/MiniMax-M2.7"], + }, + { + id: "openrouter", + name: "OpenRouter", + websiteUrl: "https://openrouter.ai", + apiKeyUrl: "https://openrouter.ai/keys", + category: "aggregator", + baseUrl: "https://openrouter.ai/api/v1", + protocol: "chatCompletions", + model: "gpt-5.5", + }, + { + id: "aihubmix", + name: "AiHubMix", + category: "aggregator", + baseUrl: "https://aihubmix.com/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://aihubmix.com", + }, + { + id: "apikeyfun", + name: "APIKEY.FUN", + category: "aggregator", + baseUrl: "https://api.apikey.fun/v1", + protocol: "responses", + model: "gpt-5.5", + modelList: ["gpt-5.5"], + websiteUrl: "https://apikey.fun", + }, + { + id: "pateway", + name: "PatewayAI", + category: "aggregator", + baseUrl: "https://api.pateway.ai/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://pateway.ai", + }, + { + id: "therouter", + name: "TheRouter", + category: "aggregator", + baseUrl: "https://api.therouter.ai/v1", + protocol: "chatCompletions", + model: "openai/gpt-5.3-codex", + websiteUrl: "https://therouter.ai", + }, + { + id: "novita", + name: "Novita AI", + category: "aggregator", + baseUrl: "https://api.novita.ai/openai/v1", + protocol: "chatCompletions", + model: "zai-org/glm-5.1", + modelList: ["zai-org/glm-5.1"], + websiteUrl: "https://novita.ai", + }, + { + id: "shengsuanyun", + name: "Shengsuanyun", + category: "aggregator", + baseUrl: "https://router.shengsuanyun.com/api/v1", + protocol: "chatCompletions", + model: "openai/gpt-5.5", + websiteUrl: "https://www.shengsuanyun.com", + }, + { + id: "ccsub", + name: "CCSub", + category: "aggregator", + baseUrl: "https://www.ccsub.net/v1", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://www.ccsub.net", + }, + + // ── 第三方 ── + { + id: "azure", + name: "Azure OpenAI", + category: "third_party", + baseUrl: "https://YOUR_RESOURCE_NAME.openai.azure.com/openai", + protocol: "responses", + model: "gpt-5.5", + websiteUrl: "https://learn.microsoft.com/en-us/azure/ai-foundry/openai/how-to/codex", + }, +]; \ No newline at end of file diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 1318dc421..70121fd12 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -2220,3 +2220,101 @@ body { width: fit-content; } } + +/* ── 供应商预设选择器 ── */ +.preset-selector { + margin-bottom: 16px; +} + +.preset-toggle { + display: flex; + align-items: center; + justify-content: space-between; + width: 100%; + padding: 12px 16px; + background: var(--surface-secondary); + border: 1px dashed var(--border); + border-radius: 8px; + cursor: pointer; + font-size: 14px; + transition: background 0.15s; +} + +.preset-toggle:hover { + background: var(--surface-tertiary); +} + +.preset-toggle small { + font-size: 12px; + color: var(--text-tertiary); +} + +.preset-grid { + margin-top: 12px; + display: flex; + flex-direction: column; + gap: 16px; +} + +.preset-category { + display: flex; + flex-direction: column; + gap: 6px; +} + +.preset-category-label { + font-size: 11px; + font-weight: 600; + text-transform: uppercase; + letter-spacing: 0.5px; + color: var(--text-tertiary); + padding: 0 4px; +} + +.preset-category-items { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.preset-item { + display: inline-flex; + align-items: center; + gap: 8px; + padding: 8px 12px; + background: var(--surface-secondary); + border: 1px solid var(--border); + border-radius: 6px; + cursor: pointer; + font-size: 13px; + transition: all 0.15s; + text-align: left; +} + +.preset-item:hover { + background: var(--accent-bg); + border-color: var(--accent); +} + +.preset-item-name { + font-weight: 600; + color: var(--text-primary); +} + +.preset-item-protocol { + font-size: 10px; + font-weight: 500; + padding: 1px 6px; + border-radius: 4px; + background: var(--surface-tertiary); + color: var(--text-tertiary); +} + +.preset-item-model { + font-size: 11px; + color: var(--text-tertiary); + max-width: 160px; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} From 416028a99bc6bddf35186c280c4912b9765113e7 Mon Sep 17 00:00:00 2001 From: lennney Date: Thu, 11 Jun 2026 16:53:34 +0800 Subject: [PATCH 026/156] fix: audit fixes - CSS tokens, a11y, type safety - CSS: replaced non-existent tokens (--surface-secondary etc.) with project's hsl(var(--...)) tokens - CSS: added :focus-visible rings on toggle and preset items - CSS: added :active pressed states (scale transforms) - CSS: min-height 44px on toggle and items (WCAG touch targets) - Component: renamed usePresetPatch to createPresetPatch (was not a hook) - Component: fixed dead ternary (officialMixApiKey: false) - Component: added aria-expanded to toggle button - Component: category labels are now

instead of
- Component: preset grid has role=region with aria-label Co-Authored-By: Claude --- .../src/components/ProviderPresetSelector.tsx | 13 ++--- apps/codex-plus-manager/src/styles.css | 53 +++++++++++++------ 2 files changed, 44 insertions(+), 22 deletions(-) diff --git a/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx b/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx index bec9a36ef..b0a3ca930 100644 --- a/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx +++ b/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx @@ -33,7 +33,7 @@ const categoryLabels: Record = { third_party: "第三方", }; -export function usePresetPatch(preset: ProviderPreset): PresetPatch { +export function createPresetPatch(preset: ProviderPreset): PresetPatch { return { name: preset.name, baseUrl: preset.baseUrl, @@ -43,7 +43,7 @@ export function usePresetPatch(preset: ProviderPreset): PresetPatch { testModel: preset.model, modelList: preset.modelList?.join("\n") ?? "", relayMode: preset.category === "official" ? "official" : "pureApi", - officialMixApiKey: preset.category === "official" ? false : false, + officialMixApiKey: false, }; } @@ -60,6 +60,7 @@ export function ProviderPresetSelector({
{!collapsed && ( -
+
{categories.map((cat) => (
-
+

{categoryLabels[cat] || cat} -

+

{PRESETS.filter((p) => p.category === cat).map((preset) => ( {!collapsed && (
- {categories.map((cat) => ( -
-

- {categoryLabels[cat] || cat} -

-
- {PRESETS.filter((p) => p.category === cat).map((preset) => ( - - ))} -
+
+ + setQuery(e.target.value)} + autoFocus + /> +
+ + {filtered.length === 0 && ( +
+ 没有匹配「{query}」的供应商
- ))} + )} + + {query.trim() + ? // 搜索模式:所有匹配结果放在一个分组 + filtered.map((preset) => ( + + )) + : // 浏览模式:按分类分组 + categories.map((cat) => { + const items = PRESETS.filter((p) => p.category === cat); + if (items.length === 0) return null; + return ( +
+

+ {categoryLabels[cat] || cat} +

+
+ {items.map((preset) => ( + + ))} +
+
+ ); + })}
)}
); +} + +function PresetButton({ + preset, + onSelect, +}: { + preset: ProviderPreset; + onSelect: (preset: ProviderPreset) => void; +}) { + return ( + + ); } \ No newline at end of file diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 5e7933101..5ff0bad7a 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -2231,23 +2231,26 @@ body { align-items: center; justify-content: space-between; width: 100%; - padding: 12px 16px; + padding: 10px 14px; min-height: 44px; - background: hsl(var(--muted)); - border: 1px dashed hsl(var(--border)); + background: #FAFAFA; + border: 1px dashed #D4D4D8; border-radius: 8px; cursor: pointer; - font-size: 14px; - color: hsl(var(--foreground)); - transition: background 0.15s var(--motion-ease), border-color 0.15s var(--motion-ease); + font-size: 13px; + color: #18181B; + font-family: inherit; + text-align: left; + transition: background 0.12s ease, border-color 0.12s ease; } .preset-toggle:hover { - background: hsl(var(--accent)); + background: #F4F4F5; + border-color: #7A9DFF66; } .preset-toggle:focus-visible { - outline: 2px solid hsl(var(--ring)); + outline: 2px solid #7A9DFF; outline-offset: 2px; } @@ -2255,87 +2258,245 @@ body { transform: scale(0.98); } -.preset-toggle small { +.preset-toggle-label { + font-weight: 500; + display: flex; + align-items: center; + gap: 8px; +} + +.preset-toggle-count { font-size: 12px; - color: hsl(var(--muted-foreground)); + font-weight: 400; + color: #A1A1AA; +} + +.preset-toggle-arrow { + font-size: 11px; + color: #A1A1AA; } .preset-grid { margin-top: 12px; - display: flex; - flex-direction: column; - gap: 16px; +} + +.preset-search { + position: relative; + margin-bottom: 12px; +} + +.preset-search-input { + width: 100%; + padding: 8px 12px 8px 32px; + background: #F4F4F5; + border: 1px solid #E4E4E7; + border-radius: 6px; + color: #18181B; + font-size: 13px; + font-family: inherit; + outline: none; + transition: border-color 0.12s ease, background 0.12s ease; +} + +.preset-search-input:focus { + border-color: #7A9DFF; + background: #FFF; +} + +.preset-search-input::placeholder { + color: #A1A1AA; +} + +.preset-search-icon { + position: absolute; + left: 10px; + top: 50%; + transform: translateY(-50%); + color: #A1A1AA; + font-size: 12px; + pointer-events: none; +} + +.preset-empty { + font-size: 13px; + color: #A1A1AA; + padding: 20px 4px; + text-align: center; } .preset-category { - display: flex; - flex-direction: column; - gap: 6px; + margin-bottom: 14px; +} + +.preset-category:last-child { + margin-bottom: 0; } .preset-category-label { - font-size: 11px; + font-size: 10px; font-weight: 600; text-transform: uppercase; - letter-spacing: 0.5px; - color: hsl(var(--muted-foreground)); - padding: 0 4px; + letter-spacing: 0.8px; + color: #A1A1AA; + padding: 0 2px; + margin: 0 0 8px 0; + border-bottom: 1px solid #F4F4F5; + padding-bottom: 6px; } .preset-category-items { display: flex; flex-wrap: wrap; - gap: 6px; + gap: 4px; } -.preset-item { +.preset-btn { display: inline-flex; align-items: center; gap: 8px; - padding: 8px 14px; - min-height: 44px; - background: hsl(var(--muted)); - border: 1px solid hsl(var(--border)); + padding: 7px 13px; + min-height: 36px; + background: #FFF; + border: 1px solid #E4E4E7; border-radius: 6px; cursor: pointer; font-size: 13px; - color: hsl(var(--foreground)); - transition: all 0.15s var(--motion-ease); + color: #18181B; + font-family: inherit; + transition: all 0.12s ease; text-align: left; } -.preset-item:hover { - background: hsl(var(--accent)); - border-color: hsl(var(--ring)); +.preset-btn:hover { + background: #FAFAFA; + border-color: #7A9DFF88; } -.preset-item:focus-visible { - outline: 2px solid hsl(var(--ring)); - outline-offset: 2px; +.preset-btn:active { + background: #F4F4F5; } -.preset-item:active { - transform: scale(0.97); +.preset-btn:focus-visible { + outline: 2px solid #7A9DFF; + outline-offset: 2px; } -.preset-item-name { +.preset-btn-icon { + display: grid; + place-items: center; + width: 22px; + height: 22px; + border-radius: 5px; + background: #F4F4F5; + color: #71717A; + font-size: 11px; font-weight: 600; + flex-shrink: 0; + transition: background 0.12s ease, color 0.12s ease; } -.preset-item-protocol { - font-size: 10px; +.preset-btn:hover .preset-btn-icon { + background: #E4E4E7; +} + +.preset-btn-name { font-weight: 500; - padding: 1px 6px; - border-radius: 4px; - background: hsl(var(--background)); - color: hsl(var(--muted-foreground)); } -.preset-item-model { +.preset-btn-model { font-size: 11px; - color: hsl(var(--muted-foreground)); - max-width: 160px; + color: #A1A1AA; + max-width: 140px; overflow: hidden; text-overflow: ellipsis; white-space: nowrap; } + +.preset-btn[data-selected="true"] { + border-color: #7A9DFF; + background: #F5F7FF; +} + +.preset-btn[data-selected="true"] .preset-btn-icon { + background: #7A9DFF; + color: #FFF; +} + +.dark .preset-toggle { + background: #1A1C20; + border-color: #2C2E33; + color: #E4E5E9; +} + +.dark .preset-toggle:hover { + background: #1F2126; + border-color: #7A9DFF44; +} + +.dark .preset-toggle-count, +.dark .preset-toggle-arrow { + color: #6B7280; +} + +.dark .preset-search-input { + background: #1A1C20; + border-color: #2C2E33; + color: #E4E5E9; +} + +.dark .preset-search-input:focus { + border-color: #7A9DFF; + background: #1F2126; +} + +.dark .preset-search-input::placeholder { + color: #6B7280; +} + +.dark .preset-search-icon { + color: #6B7280; +} + +.dark .preset-category-label { + color: #6B7280; + border-bottom-color: #2C2E33; +} + +.dark .preset-btn { + background: #1A1C20; + border-color: #2C2E33; + color: #E4E5E9; +} + +.dark .preset-btn:hover { + background: #1F2126; + border-color: #7A9DFF44; +} + +.dark .preset-btn-icon { + background: #2C2E33; + color: #8A8D97; +} + +.dark .preset-btn:hover .preset-btn-icon { + background: #36383F; +} + +.dark .preset-btn-model { + color: #6B7280; +} + +.dark .preset-empty { + color: #6B7280; +} + +.dark .preset-btn[data-selected="true"] { + border-color: #7A9DFF; + background: #1A1F3A; +} + +.dark .preset-btn[data-selected="true"] .preset-btn-icon { + background: #7A9DFF; + color: #FFF; +} + From 2df08c80eeb365ae64af612339031e68bef163ae Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Fri, 12 Jun 2026 01:07:45 +0800 Subject: [PATCH 028/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 189305 -> 187546 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 16732a0a301879ce1ba7aeb7009ca2341678d3dc..7a5efa479b0dce1d3b9851d391191623f6e8b53c 100644 GIT binary patch literal 187546 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с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 literal 189305 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%0A=EFCzTqZR{@D zuy)_1#Y*|AWT4HlY%Q3dRWFYpJD0B(AfK$aeL~OX zMq8XS1T@r?#zdYUcnnvN!G9o(doEmR-^|xTS*uGWYkN3fP9qXSa|RHAfu>^-<6&w) zueTOWuNkwkexLM}Y_q)?9=#sx zqi_3X5(JO328<6jdgi9ATiY+~;Wzn%O&iCh5eCGaWP&^n>1!rc-X0)e2mlrAkn}KCOR2h%tAJgaKPdCLovdlo zQ}z`?0ZuYs_XxDWT1kOcmaG`3dc7|bt4=VOe-OBYY9O@YA@fk{Q4t+ZLa4cOk;d3ZM6DPGcJv4om zRp)YK2Z?P3UyC)@g}o3P?(YqVn%*@ufAo2D|{APu5cWr&xJvWqHLZ+hY2}ED6{ab0831 zSGSFz_6XYbRB&_8fq0FA0+_k!)89|i1=zXX1XHMX^*?!pZgV;76UxT}d%A)y6-1XA zaJ7?Z7oT!1G9HGxpd(t(Z2iZh6)f_`|e+N%dUUXXnbXy(>kbBb0r#kNENzYJwm#h?fE!aGGfg z;##){;~MfRVvC%~Is_f5Gfk6+Rl>3nIiiaOF+u0h$@9ErQmbr9tzNFf?Sgm9qdP(7 zaCSoLmu&ipIcUdK=JiI|(jl)LCpQ=0TBY2ZvT>nF>`ds-*8&|?M2>B6vQZ1LO(9L$ z(a}*2o5LJt4lYQl;O=@XgYK_JDj%yy22lz|y%>!}+5N&DeX&6)k>U=^T>3?~(H#8n zT%hN%_Rr#rLoSy?S4SQ4qFKFcMJU{}xXVVYh>!NO8U&9G!!TOvB)=w2RZ3)Uh5N#>5ZN5#q_i#gdzkUNysM)@|nRB)VNr z_N8Sl9@ZBukrMf0D4j& zXatf|$>19vb!TWVtIPs3qs@Q8hN;{(ftG4LL4731YuD=8A=?~ZxXb}Q<`X!@4L7sN z!ksQLvFOPBBt4QtFPXhQhzImMaxnt{-)0b+PthohsAvQ-0iaBLCt(1v0m^hwl}qL9 z_o|-(HlJ1xzL{aRj@U2Vb=55k_C4Yxgbrc26dj6+K50LRx_Obm$%qGnh*seQdr-%s zPr}9FyU)-QZy?suqO$9chMsS6()1a2Puq6bq|UKK__^M3Ak({UR|=oIJOE$0@fkjA z2tURB4p4ymp;%#PN3cwpCQOLP>_iD*zdaF@zyL!!D;oxE*$vVlU_R#$gcCB_$D)Zc z9YKmjDmJ>)HcswN#X-*7=7(;TIRI6o zW1mNWtXw8)Hd1Gkvm9U%!5V?bAh7Olf877}C)q3~$T(6t#r_K|GsGI99Tw|?RZ!BI zbNK^#lzd2CqRL0-(_`E)8ld-O`kD0g;V#!h!OUx}kbYH26K_g_aYe!*4M<#WI~}Fq z3CTUpc6^YEK4A{k#vJ9gov1LRZtd!zdY6LkG)wDj$1M5J}eN=*-^j!rg6g;kD5LzdncMCSvn@6R_CiL7ZtAd_R zn{8q8v?=)v&jd`IB!7VqC~OmttMGRzF^!by_ie=U!xd@4<`s+Pm}~Cm7sJ9<+nr5> zu?70|LqU8Fl?t(RPF{44f>E_!#SEY!#l^w$R)bmjo)fRE$m1)J3ZHpg5$tQ}#$TI@c6; z<*_pxAG9jM(IrK&=Gq^ z;L9Bgf3NX4oVH$HE~cLCN#SJ6cLP@riwBF&#vQpIxtit-_9$&Xg%t z3K+cK)W14GZhF{z^X~WrdMkDTQQ>31Zw&a8DgjB@nVD1NvpN>Q1)}1Pd04-~UARqX zMAd}S4j!iQUE`_UE$*&I@4pyA>}I`U{G9WAf78SDfT;l6Axl$HG9kY(k-qy4BJ2Pf znr8T5eRD2U&&)>dMlF`dvc$!cST}11mU>tz!CP*q=0 z7Q}5qMns^ViFT@8X-FPZNt3k#DQuaHpoahNW3y5_)-M5B31^DN#%>Ki>UUV@hW-4Z zK#lJqh~A|OvvF7Xe)?G)4kE#4eSu}s?I9SS8N13%$Col+>@KX<@9DUs0LpxT;e-3o zvMVov;O#;bsZ9vy<@z}>i-_Kgd)XtKTN;=u$7Nb{7weCX;1Rk<`(Vt%nMdo* z>E*b6ERWCm0-HXA-uqzIEmS)&nCHU(=3zv~<7*z}xcI##t^H73>b$Y|HHsCbh=o58 z-r|_qa#P9Yv~mk;vOGchO1t;v)W=d*eKU7?B zM)Ae3tpri|xR|&^WJ=%9?@st;uEc76`@*}IhQegZrA<$9SsxKB?=^m2d^ex0U-ytH zy7aAis6zZ3l0CMj?MT0b_zjs01rzE#Kf_RjPS9cyIL77fs@Xb|5xtAS{(+3U=!|%7 zNeobu{j=nRp+@_flk9rS-`WG}pHWQK_smG!wVr&KoNs)CqpMHzqyOjxnYz9| zq{X>NTXGY!)F@axuxG9pCBEf3QT;1CTH&p^NYgAh=G}zmgeXi^Y|&o$Xwl~Jl!DAV z-YH!QN~kb-rh7x+k;!|Dpn*&Y|5q@d>ti`$x&k-*%Dp)zrT4&h>3Es?&kI$!OTDA_ zHE8$O$qg=UGVo7obL@65)tjx~{OKf-S6Mw=JY@Q)W9^AEJ2%r%uu3wX1E*+=Yv0d# zQe-|6<+N}v_q(uK`Rh8}q@bEUzn=jI1PKRB%4bBuGd9-y8V*=7QZ0*`z~=8H>+OM5 z4kQfR=pM|gO}hD-tG51J77EjoB|8f~LDITDzC(JpS@anufImidHOqT2r3ybxVijt5^2?*w7_Phew^ z_JCgm@s;#9DwjtpZfw{^_dV}JrmvQB(Bz!qSj6ULcrGYw1akeOnfJ^yU?|%qVJ3-= zsiTZ$TB3q(JxtyZZufBxCHuTU87oG7L2GTtyLtVanBNA~@m?RgNH4a6YLgZ@qer4D z?<)5Gd`Hy+A9G(W%+)MKcFAEegqlS}l|S^3N0xKSrqOS?jloZA_k5Q851;49k8;Ur zB`%1NNwRbA5%Ti_rB%-aOf4`Z@CudUG;?h8CdM>iFjwqFa14rP4Rt!#G-0cp__}$9 zS6=>5u61Fz{6`;?b{tKZQfXslw_d9B2JOz{Mzu@D`>OZ;W^^1Nx9-M{Qpa1M= zLH*4+F2z?Fu#DxeD|CS%xBg%AX+)b;gpM6?tYHi0Cqmj)W$~D{$lup(dn!q$GGe_} zfwpEP5a2wpXWDq_+0c8gi0IW(Qwsqx9`BIE1Xry&Ri6GV9SKtriyXPOs5eXt%bQ2y8-?^it1u~le65S=UI)9f^1B)i= z@@5AdHvKP_G?~7P9)ogqLCyUvt>l@qIzOlCV$RdXYYF zlI}>qlsHx@Yk9mInDD(&f1B|Rl@K|%7dbc6s+BvsIURZ&zJXk?haWK_>Q_h`4*mw}LZ?6-(cpqyXjvxK zKzC%YMvzN^Csq*j%xPrR{}Z<*36>6ccKQ4r|0hm2+WiB;V*ykw);SJ0&1MLb`5Ty@ zjzTdyV?GL96c7B@pp*yybr>WEl)>=DTiETBFhGP1M>n7NP!ew$(EovqNumEhG{l_; zDBIxwUU(=D`wv{cOR`_p(tmiF2sG61o_t4;;>?Lr= z;X7+UZ$7nJIjHaDB_B>(b0vdWhm2#^FB*r$JHR>M{f&tLzk+;-7=-#szUTVH48>TF zy_4Xo(~Cyym=Dnpz6jy?P5PkLbwHU0r@sxT7Bz(6((Jc=EI7?Nyq6`gv9zPSBtB7@ z@mkYWy0hrpFBKNY13#12DdwJgAw^rCs@f8f(>G0DGkk1b#nje9=7^F$)5}entQMNx zql)iiqT0)YoV^8D?7GMh)IOc3#es-dxP)VZBOjhY=nsS&p?{KBJ~3s`#Q2`(p~RWI z9Ru0+F6}mV;pbjWV$c(#-wb02=rYEIunPweF&oFwZvOu2%k&p9PS*}#4;o6p3^JD!+N1}pOkFC<@3~o~03h|V(i%1sCa1%N z$aj&}4e(!|a3l7wuer@3t?R)m0QR#DL=CVCT5|_c3^B)i`RnfHF}@NhRc-XMg~bmR z#!@Mpk%`XjX>`UHQ+gqJ>a<@$)epm-K|2 z1(ZqFFX_Bo8`z4Ojd>qTlzm&`KBq0kkKrwC+ofB6# zGl!Qef1)t0dMqghbo!@@=zc5gAg>fy6(<4Wu@0~WqpOdthl}@IB95jqvz{NwF)){E z@J&0FigMF0LvSPeOO1+zGt0+Epo9?w0-QDGtfJANX7J&D`wL8fzHeTqwa+K_ucA+= z6Gy%rcKGeeEb;yG4i-Yh(`glK=0pf~tK{m&;k=@0`D*$+(K~aR`^lo}Me;97S=D%+ zJMup?d|bvQ>dbG$XF-fYF4mx3w8&=eGh$xvL`Bjo*M&Z@yXe`=fMG~9^2+*8ZQh207GRm!R>bs! zGnfFYylxOmRIJA>zbba#6Lol8Tb|YBL4Q+4Qw_4r&Fv+#!m=<^M)BU?W_JA$A^tQ} zv7iB47V8^*o>X)S7Om}tkN3XHXL?WRLO9NXiUqF?3MjAk~gyn;vwL? zzu|>&6u(imw!fcw543t&uW`(EYB5yD3Ja0j@Z5n7DWIc*di*T*GUEy@EzEl88YTy+ zc-0c5?XY8%8MGl;mWrJFgR1AfHq|^oa30+A>5Z{>xzw!c3SzN3;M9kea12*FLbO~q zU016*(@||L7YX7CP}DBPiv! z5efjos_K;N(xHWyC0F8TO73NnIJFAW+IeLoLksDtpmC5uX{^V5e9nTl*V9q4&7lQ@*gFW96qEZ|Y2=xj z3d=~{-!TXbUwgzn_{JZa3oaQ;I9GRNgT|TTxWH!LZb*g&0O6kT?$`a!-*0WysdvgT zQv^yu6>zXAfqP}OsiRBX^TJQu3w;%efA6(Ry|iE z-9@@Q9i`=rWh_Fe{^aBFU9^XCO8k448fzOJffu%xP2XM59-na__L|9lN;~?sTbYD{ zUCJL%wc~owRn3#5eCLKrhJBIG-d4hwF$;Z|m#xzMmR~&7+!2%jXEF7s#^CtbZ8Ic2QVs_)Ps=GPb_ zJu>@rA)jMSbmbewfn#xZ^A32xi7v&#_QP=sYiQxmrmF*(f|NL+sHrAycXfzCP|9vY zfZROYIm2O@o(aWuj@it!+MZYLNV(tOQR5Dk7f4j)Q$1$ImlWWK+t|#EE9{@ee&>o@ ztTYTh!_V?qr%N${UQ2gh;V^&SX2|7LoWveQMT*nKQXexr_PZM^5B!tM(L*B;lRlyt z9!L#(P^M?H=@zM3JVo`}wAMZ!W_~H^2wvk(%>1yvN{xSyN>|ByvLJ3PT1OMPDCgct z&CS^RP+Pf~oD;IY9fo9=NnrEIA#j*r}|Ki2sHr}anQSl~-g5gb0& z|1$3AEz4wvxr4p(fnze|(qC_oVH4eT0-C@z8u^Q`WpB*P)%a5ltBu5RuXJq%iYDM= za-Mlx%Ao~nOEYDY_8)3>YK#1Ms4eh?AISYZ*sz7mCG#^Z#c@RsG1flsa+1a$DwSrJ z0OZZr%DcDOx{FAK+AH(jg-3p$7JoBiR~~AhV)*vKWcUMS|KtIBzkQ0vFMm(4{ntFv zdYXBcj!n2KE_^>B=b@=D>+Os7A2`M*Ajz$?^ltI68Q9|0cm>UmPB>|kbiEsGFYc7x zoH$FLr`jnn$)w5~hV5CfL(Vg>k2@Syq{OKE-F{Lu_&UetLcHmsTddn2!XGq+E-2q2PXQDBV~(=pKMl3vXr2-Id^tDlIfD`b@a2`~2$RYZU`J7eY< z2o#fGv(Jb~1~bU%JPm3(kbzp2175W3A=aUQ1BaUMqmdS%o5icP0JSXunL9jiS(Rn` zf8ff%bpYsi*`Rw}e;|p7P>|fSy@sb~B>wx_{%ei@FMcuvpF#q{1o(1Hpn)GPW_21x zBl1C#NI3Gu-C$9q9TLD%2=6o_5bMApeB}Hhnv0u>kO6i4)T8116-m;|idvV4OO1ps zyg6VOSRMHN=paStfRA{XO>xg)CyxluYUa8xsN}l=43iGA1uHFLaJcjba?tl^Xg5&Z zs3E@JpgetP$)-XePO9w>uj6XmEv~Z$CU7;xGhL8tf4rVn+D=L@ZUAKVW>g5)E7iI!g<%9jF zZD#%Le~QX~B?(f};9^kc@C>bzGvj6`4=*?QP(C?DrthYy5Ma`5x>#>R$1_#|_mZPj@^6_6u@ez7+&2TH6H5UhvjD8 z4Z9>jJzK)#DkZ&oi0&pn$odWLnC)a$z6a0vSnOWSo*-i{4x=|;i0^xazdwLUEE%FQ zHoKE3EyI-8d*O3ANWQlr zAu3_X)AiD)iz|1!xS#P~T~+82u>d6H5FV-+Bv&5>IiI|5@LtZaS1y~b2MW08|5({7 zzFR+`b8k~82r6)Sz5N{CnfD-z-Uao@CM#cAv_S8GJ3k7m+}N z*Sj|wtKwT0D}~CS0Ftr6XYIa#6L6t9=C_Y1SCB860r~9SpNXwx^8;eJ^RPix($c(k zO6rvk)9^&o*%$nzZl~~C?%Hhy@X0;s0(sdgj6N7R5B}jE&AP+pR?#xd_tw)5JIFPW zvx2nO7B1I0!@A&hiZpdll1Du+$XcpQ`o%6q$bD|JXq^zznzO6|O$-vF=US&ZM`V02 zO4D31a}ncaMLkFV=p$(0%NHd+e2U#Y>8*z^0>4sJB><+uGChh{Ed8Sjrwp%i*vYR@ zdTd&;ytOq{ivmv?$WcKP^n5XRaKB1NMS9UG$kYtBmX}Ns}f9E2t%VW^}xvD zfM9dE*#LdK((g?k&UJ2TIHKOhwMk_2&HoZDGnLe z)?`8U(bpjEW23A#m9wK24JLPPRSya{UNW~+ynMH?)xlafgO)paeM4!;03+SrXmfse z_i=ujM)gmt5$uXo7N^At{@(?_=pxp;TX_YhD4vcezAXOAPM!NU->KO%_+G~w zxLGr@x!QR6KKl64CrI!#3sORVuP7;8)8RI&`n zvLzS$V$=zdl!pq?8|3-6&6FENr#o`eN$bQ*p{$kM%dYf8Ue7X91~B9~5c@F_xkM&h zM$6FM^zbiLm3CaWO3B}_aO{dv1g^I`i%U4=CvimzMw`CP$q@$Fm)viFa(L!!knj{9 zsXdxM`us`sf_B0t?P&JPL@H|tZClt*CVth@%Z+f$=k28KXsz>`?`(?9+Kbi&W32Qf zD*0rqW_)Fz6X9219b1WDIxp6jvtsKY)&6LKs%r>v#l@Vy~@Xa{3zAJXeC02Y83r148*&F3?77T!$MF8vu^RAj>o^>KDiw}vPoIf)P=fpqT#duF>l5(t#o|GO#e(9t)cc5m52k` zszE4{#fy)7Ev?qB%pOLIRo{R6tCIH1U8%3e#?~IGM>J!#3s9 zxAa_-l-~P0i_F@uKs!F4q+Va|$Lq={t75vvMmwAA1Zb8xm_i8|!b+aoBPNM31&jTx zZSew|BGrseO ztv@oZBBdufNW{ILEVyk?&z~1$VFfYQLGwM%CwO2DX{C%NRAgRDF_+ zVzypKfeRj!b2=c(wI0!?V6^|PXnK5&HEH5eyEJ7SI?8DyY}v_4*;$p2Tgm;=-_gCuGKvpA0ZzW~ecv;Mvij$`O{jT3P(3<& z{kbtco3zmrXRt|v825=F4(kki{;B}MF9zi(flluXX5DJ;#0;ARzaxo80o>?&-zN(^ z*3&zqrnZDfh=}_K4`YOn7{OEt54;*K>^?3bnoDzZqewuit)D#gTlaZ{;5EA&ohzD> zc-$r^fj>NXf4yg1<>IAz^G>It$BA}nd?Kud=g+MfJUhw^W~4sc?f^h_Z%VYCGvY&z z<0$E9_lv42&-kt0SflqMO%Ux_o4i08E0*IsL)(Q)fyF3aCoyrE-QU@^gu(JyqmW(x z0m`xfL3~evPgQ$~gWptKddwRe+RBe-^*@Q31 zn;s9ig-+eUXs5%*^YvR_#Z8ueS8k>}^2%ng#Ovd-OmJ2)vjcl|G~mL+FPm#Tz0zHX zabl1+s$P`$OC5RMxm0Ij8$B`7WY**d0EY2u(#o;30^@zs*Je!@fcG z77sAB;6fXGpFRuJe`RnQfe4%dQ3n+XKHfY~VlZqz8nV*(A98mJj<40~@JbN)@9%jC zVw@SlJ@{G>Km0%F1tF)M_1v>euAiRk-bU#=KO6+a2c$3D1FpwQKd%R>>ounK+%3zT zUOHE?ka!K4#u?P7gReZjmuRqK3)}|)`3Iycz55&VTn^?))YO1>r4fChCp!-Ry#b^o z7yfU=MGz|#;bq0-liEG3U!J7NoTCG1fFR|ijD2>>^#Knnr-3v6+jwjZ5UUN2;{sT$ z{AS>&@ct8b_#$lf8$_3I)JTFre)->;TmJR?|Cn6%hX32-Vpp?G>XW9AGk7H~Lnrb? z&`#zdV`8HaS;`a86QPn5z2fk%U;gK3&bKvhGv${Dn3NIY%I^}(Nt#Xfh$>-Uvl(Ll zgHM=cN{oCORWd4g=DpTKx4DR>;`(CZ-Uq^1%?xdiNPaO%gjHz zdB9(~d9XY*Rz)$ZDTp^>|HqKx`}gnKB%^f3>X~%_#o!@fSp@RqG%yTj8z%t0?-w|s zl*yoxN)tI=y6>4(yxK(wx!yG?fiqO(gr_0thw;HGi`e+u%*)uH5oNUEq|+M6Zo97g zNmTtoT4tDg?e11*#hg92UzuIX+r4_G%{2g5-6~<4n21MPsB#;$XK{7SLTTu9X^d)X z(&wB$nmoT)V(bKPe@iB1g%A4px=S>Cg#*ymnHo6$mmlS(;uA0bSuVTsDqmyFq5Zoz z_B{sTXt(_y>O<#X6$Fm5-R24QQ%?tLt%Ktp8)LhRz%PL`iL=(%w0R$PTr=RgfqDn@ zWi5O@F~m>qTnZPVh~>LZ4x7@8P{aLg?>*LtZeS^eT`-sQ2~a7MLbSmSw;?qfZi8rJ@$ z^ImQh;Z{jXynN3Sy^MCLtlBv*;~G2cSz2->#S&cSp4)k*l4ivfX&8qIrIB0)HX=9 z^h!3|6iHGpr9wRUOH85NW?GB-8$umBDmgVJ9`PJ3mGv#wE3)`t6CT&Rqn!2?qw(^gCz&F|`NHPh! zV6d<$b)-j-FG7eteek+DOF|%-l?AUigTDY=y5F^QDH~fkLTk zEuD8&HXExuyY>JRaLqpR&vyxFah_j#P?i^^SKz@(Y%XLnWWex;8-(BNxpry_0StgB4_F>h}EHk0F{ zdy?h?Ezp|O7})=2n11X4JV-gu-LyZk8>wnW&*$XUrHbI}Ru>lvcD&xyqn zPT?r+$(cYd@4O;ABM$4>Q#8s&(2Jn~o`@$t68!E-w-(N@p9WE9;-zuM2Pi;iIE!Ag z9=qJBQUxJ z(H4EdHbrxPV8lPYLLi5MEFf^ z!YdFkUkV6&PUg38&L8tuIW3~9N>Yk?rbNr?zP2(|1d}OK3Lyg+0uZr{5~foR1AyUv z>+A(-i!LSq2sr^sk=79=;0aqt(x}L+Ws2Ye8>0#xEAQoDs>3&p-V}UGJ*<-KY{|@6 zW-*^#_UY=y>Qs-li<>_4qx zY%?5vYi#@YDEA4KpMo;iVnW`5f3A_q#}=GV4K}|s}_YfX3*&J zIK#PzA4}^a=34ed;@KB=5S7=94Es%o=NgBdZE7k%yvR+=2!*0Xyv~z+)VRdAoCgs< zpK-7K-~LwnH*vRMv!5IP{x%l*s(5?v;pla$?ns7y(ZrVQEqL1f_5dx_vsQ4ECYgi1 zzoIoy<2C=ce*!2>99zA3G%opTfr(R`DXCR%2)y5@-UQbw=fmu98YO04(^>Zi85#RZ zekQR}Db|Hl0-!#jUyi>(e(0Z1SpgCQ%i8p{pBGYhrv1e^WV^(B6H|Vh5K5N6sx&~B2N)Uh zRM>!%TmHW@e139E3Nq&2yJEU<_Z#J75nWK=zlvWoAi;Z!_V{0_tFC?D6|3zU(=1r! z(X=88r1rT_d#A>eRlWldp>5=itPn5!jh8b>V&~PKt)CM3wx~({`s^-;JmMYjLc8Ii zmN9LOTqUF8a}EOa3B61u-{WA~K&(D7GiT|#ybNtWNCcd*I~78)slvk%{p>CEmHTP#DgzXf|&F1BSqoSk7>~QeEvrde4ml!3Fs&M4pkWG+8n&)y*P9(x*i8$Rtpe8`+k1o`KTm&bHZ(%AlZz;gz!BA1E@F)~_ff zlSp{0#ySwz$%mlAQ2e(&J`D4yKO%x{9Y)jLC1_asDd}bbX&>tG4MgG!*``%QBS2Lz z`&(pdQR5ngNv!dv&7Ji5l)O_NK`Fz}?;VRCntUMkvzB3wB}>^DyUr#(e0p~_)aX5b z?7qN9gf`C=vJCJvj6^pRnHxv@YO*%EKVIafuzOsP^*j;Cvq-!n9}|3l4Vck8!7by5 zM8%lD?+>r-HGWv|VMau1|7^`N}o$4bnRDlovLF(uK6)P?6SHL^xuv zX3lr$hjNRcQ{LEjBaRIzkj`Q=RDTxffMjx~h{?5C75W2V0fQqx|5zf-rPjFE(kAx~ zUSR6TdmD05vS}ZZjzluet(0u!Fwrk`2cxjB^gMqDyZ z`%KA%a>4Qf=sHcndj^WZXIg>iZc=sppfdgU+)|wj>|EdVRA**+w1*^0RdhaOU6s!| z;396LQF%b9zNSnM4AQRuYAmHItEt9w1mps0T-NxrQIPQcrB6&E@sY(=)H`i@(qP@A zSe#{#DhKhx$o!zE-ln0?w02>(@Ax^cw<4+h_DGiBJ;XtUt@*A`j;iMd!;%lT5Z?GG zC*|c3uL+oTCM>G(vi2aw!?zzHB#L z;is#6&Rmyt7n2ys8G~w;$p#8q;kKfpk)CnROQuiF{i8lIX`4|0Qr~Lcj!pQ{&>buc z^Ly!cC(-xIkK)0HO$YSnwponC+K5yc1-Rat`AG)H4;h{&&?4*HMm6YwE z>!IcdDwy#;uDneDiIO8{Y?=)hgtA5kyE~{Ptz?)Z@DbD9dPaMV4iadOh0WiZVRVuq z@wKi@^A>yGd;7LCq8hjs$(?Q-tAq`rbg@^*RemhV*Q>n{loGG+m=bth%rYL(*Tjnl z9#}*ma3;jfn~pu2);$}KxttQbb~E%2ROE2__kQ%K*^+U^!0ykGw};ji8*?5V^X#N< zXov|CpL$jzK>2I4bNEu~=z}8n+C^`&Vo*CEt;Z=t&?v)V#a52gj)osdpNo@}Z zmej!lDQylv{H|PXbQ^&>6q!!-KKImzZV>w4*iJv4$dpp+a9g#~m==aP-i%F(h3w5Y zGSpUOb}WGaVM~sW-Z}!Woot^plY3t$+2d=@iZ1cFH-IW4_$;w3D1s z=Ryedrm|%Jm*;#_R)i%Gi<0u(nX4_mXggVGTq8fpc4B9H`lUpmtF)E&0NKrjd_Fa+ z8-SI07uJTitfq@6VP0M2D`%5(;ONNKOwU^buB5D;y@ zm|}Zl1t_O7AhD)?qzxX=W%5nNBzguc6 zN!K!2{_V^P5Og6v@2?oc$7nS%ttMW-s<;(zB+@DbX1A(=0E3nOmwar905^m|?wX%d zL-{8%C3kb@W{m2E5TOwpmi3s-y`6)NR!5~wX!@@UiAD2eiGr_%Me?F&&rQffQvz>Z zA%QLbfv^(?6h5CCgIl$So~L6*y+bS)+`L6x+cqCd0!D15YSIQ}ECR;fA2lo^S7{^m z?Wq?iVK;1{k$~~kpK5si3k>Jr)@zujtlJ9G&Eh4`NwZVw*)wxK@(?@{H(oNR9h!8* z%L4NNTxBlWx)`bzia8rw3eiQ?P=Q$hmm7EseEtl`aW*qQTvA<+>)eqv=FJWRLvr%x z>^lm!S$&Fm&OI0wpMzC+oKJ0UG&T}brw|GyS)Ex&m2FUNUqK}Of!MUf4CLK`hs#v z00yDV4+4yCf(4h~p=kczAj%J06QNzdo}a3`!1X$l-4A#xYOtsU?~n6vHnWx5%w$JW zi(fWLXjhRY)@8xP$G~TQNH(in`1|7<+LsDv174KTK0a}Nw*U&5X*$lSZZi&RK??L-JEb*rb+W07xf}^tnJw8-?O*_ zvJ1>(pk3+Md&Fy-)pS*%GUfT}X=D=Oxv7+P(5m9w(1wH{j|s}DI+Knp%I90ojh7s( zY(sVG-{+?5=O{ArnjVo@+1{m;#%TfR64cxOQ7#EfKB*4r!sn&rMVbyMD*_U6pp=K0 zJu&oszPZ#em?fp*#>~2tMkuxU$lE}*JOW`*&UbOymRr{U6wK4`2U0)tfoq1a2?i?P zcgUu6fp1rx>}ehl3GkT*m@6a`f4_7OY}hz+@KZJ#4Bz?AL zMUi+vh(fX|=~r*+FfpGd1X6SS-Gk_jHU+j6E0O9 z6F|i{sGaY>_WBj{9$q13C^d)oms=fd+}qc4IoyvSo2YihEm{G`RkPj-K4?i zAJap~@)U8Of|=h8YC4cb;2Rba@M=nmEb|Y=Hx3LVZQ|7*&sk!npm>!-;1qnE)E z>u$m^{1{e#^6hb|73FG@*12*w%Ox$N&f7U8S$AMdz)y#6N3whz0`qpKg-gHtTHP0U zttLFjmGt7ZA0(fB9i{u*3hyWmG86nohhvw*S(OwQJ$*;_3 z#8>F&&?6?1pgPmv&d1`kyB%SyB3e0&vHvMaE4!0eA$XyzKK`4m+#LfRY1G?Oqv{%R zSHh7m86>rsgCa*jR#{pE(?-5=RV{OO9=*-Y%a~q8vKqgmXzUS$@TytmVpzK+$M?~q zxumJ9j9DT#&uY>dMfk^lZQfF(PpNw(*UaTu6vVc2Z%SQIiYnJB{+jDhoiM7J|Ag+v zd6Ld!L!7&hKuhwoBG`V7MSHy@@A*1X&Fy_xhC2p#4ta$^?VO&hoNUY~3aLHhY6b=9^pCPOn;PRgxInAED^=xvon_`*4us^?Hnyy1-L+qlZ4_t5i zLbeHi)hKMh>7zURkRUgHjO`Mm?G zQ(p>c<+v}vs8zzU(wYak{zR1;LKaN=eYEE5=xu%g zSU@_~3h&@#LJV&Z*m1!j%<+3J%IKCpJ4J^~JKp;#YDp}%H&H7PK{S|gw3iu!Go0R@ zvp~lR4QF01QMpw)_#I>0EwU-}Df!~wq6eD$u;e6HX7CT>n!X(IDEauA0i9#oP*AVm zhNI&R$E{<0ljYO6r!UJAjJV8&PLeJ8!O}UA%@=Yew9?G5O|EXm<<~^aPs_6VLT)<= z;SJt`S$}&d6?1Sg=>EDG@R_Sb8IR^#+uf`(lc;-Q%Z@^I(ru*NU7T;_uJJU1YQRAk zf-#$+RE61R#Amsc@}6vr{q=J)^(8`+lMt7*#%ry(KJS!8Xz6A-7EiJD@RO&`9;MG% zEX6%e39T=k0$7A)HtDDTkG8Lhi=+FtY%D-!^BbYhA1%E}9*~V|>a_} zz}S|3t`yjvo;>@`@!A0BmZl{A1xOQdxlpLvT6+Zw@MOScDoD~kpl62~T(qwrkNnCn>roR1_WaS1k5OTuJgx2^EW zdigO`%$N(C$zZT`=?~&k)>K11K)Yq@#M>`Y@-D8<#DhV4~1a8eqTSmIHesB zdj751uVXy2Hzk}@*Wc&xadUt5x%gcQTrwqc6;mf{Z4DCXexae5Lb_fNI=g!%y#LuGwDzJx(`T$3>t0wE2$s z>WC|D=Od33-fG4G_9zwAM8zmQ0wtj5cQP`J%xa*eaxLArsMp?$mTjMU5t*3(Bf0Aw z-#A3ISaREU63YE5+Td55<}^6ryQJ}WZ{s;86}SYH+e{~AcU953-A3QXgyxG;HvY&8-Ra@W<&Ec`FdG>N)au3Mf@uZ2$?2(Ii?|e<{m? z5>;2J=eq-Ef?Tf&DQUBJ|CrmZwW}Y0^IL;6Hmse0hOT5iID30zdQZdA_Xm7sS)m2!jTDtL?%Ts;1YnwLM zsAHkGL!>clw*PKSoJdBS-=5XN)6+aeZ1OlvdCZX+X9YTm+uxL|Xdw}^1I2GU8i?!yJ_uB$j0Gp-? zB7m6n+O(oD+gpIL7L_cc@#rl(GKKSA*qsXyX!!SqC5o?6!7bL}ik-zSigJmze>sfG z33;OIM@TJXAfGm6dBmCu_tLcVoSeLNbh&jC3aM3Ah4-vE$#EPyIIW`BmKW~~>~ILE zmI5xpK~23$iGT?>+@Lt2%vtQLXiZO&H;%aKNg(=Vm#k#LX4pU=Qhc*DfktPBm+x`t zN3EuhwkA>QPWOIt$?phTOt$EA~GSZ9XRo2PclA$Ler z8^v|E;#K)~56mY}NBF{fw#?w*+_X}s#titncxoy%@|St8aN5Y-&FQh_sTC!XzA<-q z(;@QOsqj<3Pija1#2hBi;1tSQ$9O(!%5MvemMHx>q7=XaM)BGV2xNdGi!>wyh=RTW z(H|z_HBxU1ox%R!h$`&#-Q)lDyGz~wzrVt9_4MZ5#C+)12i8fJFfhmeX#)1Y|9@ap z|9Wg>m+&IgY`+uS(xT6~&erz=lTLvp``!ox^O)JsotZ+8?%kU;nSsRZ44hoA^uyTd zdxPaM(Ff|S;V_ov`cMb_)#ZyOS>Z%4OHNW9?uu7T{@!E;D(bS~`2=mpMP_k8kK1uN zTGBVFvS0%XUfdw?ccFCq52R%W_|yGne^nHI!C4^kQC-RTnc_=)U*|~s7qI?usuicJX{yPQ3FjwwCV??NLLfa>j0=e0G!9|71G7$XO66@o{ z!4Di^PtbO%6WS>r-!-qMRzqhK?lV9TPpcQx6{MoNWmwMKBdF;C)1t@uxW@Ut=H0)$ zEOi9dkz!>KXrqG{^1><_8uICTceT5RMW33L4Td>6PoU&&)D!tkIfuOZqWu(qg!>9x zsGE7C*E$2QbLj7>m)BAlJ^jqjNi(s|F{BMXtGp&z%&AQJR-LP`s=#3SmzUqr6eYu1 za46JMv&p+w0LC5#-ced}6OySHx-aSCPPXOpj7L!^nYo z(7brajHYl?F3DhF|GuzQ;D!AIx)wbEdKQn1e<2L22EimFuxBBq*b*iwpC3TzdDd3+ zx|l%oAP&-*A_2+M5>IYr?PTxj%!E#+qFb^fJ3#42pL+#d)L}7fGQH{V1NrOQef%dH zwtdW_L#oB)vp0iiGi?nP2oXpL$%Jl-I*pWCr# z7xx-2z#51C1KQ9B7CA66s^dQ`2>YsDFm9UK8*~=e<_)P-uOk#ucn&DUAI1=y0X^+~ z(CMe3h9uMR2jrrImp_6M3b#s`D+4EyB2~b?ue93qh~5OeAT5NotskIm+Ga@(wY`o? z|K5}K2Zb6{wfgz&Oq)3H%?w7$addAopdRG1wEPVAn@Nv98@P|O_QwOpyV`S|Bsk_Q zbxguHBLbSOc>$f%Sve9D3(Yh6fpWU~2}j~vV0c#jqBtzVt` zb-8~cs8lDbhaH{2Y}==r2$)|Ps#)$JL_})ToVPj zqkfV0UupC@J-_+^DB`$P{W-%-qQ-G9yf?^8!G6s?9>(SNc7om#T<=%81UmJUB7t^iCq0nKs%?L=%E!^2_VWz=33^&UX4dU~1O zFWxF%=M;^i0SEfArKpS$bmGih1+Ga$7O+A%q_|B4h=TvNdh*DwxaHb3&ORly&2y=UHUlIEd87Uz#)aGVNdTg!k^wQ8w1B7 zj!Pzk-C1SD8F#um9|Qh@6ftTxgIjjc!nEj_nF3rm7|Ohca}oL(^SV*T75$m$vpnb*7!OqLR(~!nBu}{*;pa>aR?m zeKQ};pwx$+o^aLA>dUrj%Iuir7)LRJJcT6ww9j;~B2qkfo01@kbbY)eVg;TX0*uKsf|$8|e~GZc z2y1vgVzh6#z=c|4Y1lLVY?!pDo2%&K8-+p8#o<-ODHSp#grsi)s-5$lcf@$?`jlnn z6VHK~8;F34Ht6cQTIwMO{O9XtMjnr6>ma(mNJV*iJmqK9!A5no1J_(c9{PMIQQM15 zL7A5e7tQ#E#1%W~(KYCVA%M3u@L{>h3BX@Uv7RJ0dU(fMr*giG^e(fZVSMw3KEx$D z;ZasBax?gtTYD;Fho?}Wt!@kuq4V?v$@7;~n_lQF9Z(e_%8E2;wc$N=A{8i1q&*wN z!QKi;SBA|#5;KT89Cf7+PSKw60$=c#NsJ+VA1#oKUOrpjg5>hSEjnU?3wXb@;O(fB z_CMO|Edsm}lxmBt38??NY@42#V5WjL_jXdau9kQ|nC@G`s`Z6k^1Gb!9f{%VzuBzn zQq(r`jQQ=a!2#ddBVK{VNuXvcgpLuCSd~4DRQWUQ-07)4zE zWfGKnEkKUzAXSs*yLPgS+i3U!lQIka7GqLRxGZ;f9)p!RTr@GQbT1A}cR7lxiQ6CB zN=U(s7M~jk2unF3wGorR7wHj`r(8Qdf38Mm>dg8ne-zZkhcbz7clW^E6H2KlI@u?W zU)iR^&G!vGo{(6nJOZevqp(9;2%v0K1&E?jbsiyA+G(X}VLtS5l^+_pz|~9h36#z< zkI{gBP)$0qe?ZSQ1F9X&yjb)z?ET)5ZoC`N3eJJ3pRKK#QF3NkXC=mq|PQc<{6}P$2 zf3acVLdUkCNm1AK%+Z;3F`rlg4FqUDXG17Ro9Owbw<5$do(E!MMY6!Us}&zg@>4YK>7Lq$9kdLM|~^Cq5>HV&w}D|(+wjBDws8WJlVl5q(XP9*-mT*gmgadn`=cMGn$^TcAV|SF8(Bz@mKz01axPkT@F>O zL#wEa`l(<1VIva#qR1wv*S(mMXHGQO9#H>E-AhQBSa|4&?3Id1%pM3R8@HA;)cxiy zxVNYf7ieU`7O@`i>h2!ebHQqpFL=(SiJxLk`*AsaW(ke+3LT$o^&_`E>QCqk7p%)o zK;Taf(F7Nhj~=zB-X9Nn8(@l#y z77cwtm=UJNc8X+aFLsi{t84i`-O&?Z=Hdl3TdV`}QcZ|BxZ!N~9eqlv+2Uw0+s|Cz zHup7MqVU2DnPkr`v?t8~+uND*r8*5t!CUcP5%Vc}4-zyd-O z5j_tjG5Jh_k+p>LTml&e4YyQ4n zXVo?ZjT4FY$_j5UwyP?k1XYU2B@bp=Uyow>XC9}Snx@n?mu)~#8MlP?98V8m;km4q)dFBzri!_48(Rq(>K8re5Ki|F|8R<6;b@2?I-w6cZr;~joOgowu-saKh0NseJ zA3GwL0tgvod;ii-QO1zZ;i66NA)LYGme8+5Td0B{Mr^7MT^jk`Ng0N3)wsaj>=y&= z)bca(rwu?~f$srB{YyRho_iRr8zPGwoR9oLYnSa;o%#`A%2YnG?jN3&2DFRZK8s>K zSN?8`!zis3As;QVODFADEemkQ(p!L*a2p0Bt~^p%(G~0+W?z;L-eFk@TwDy@_)NV1 z62IXukouj}FHMsdrH>dr66R=>(_D5(zx|~P@;J$`zVID%gIfYZ9C+MsfhX1WpC?sR zU}B!P6lR3Fre_Ivuu8t5%;5QX^{W12Hgew*Fn&I)WZ2Be2|1fM93WZJAvJUy&RtTo z{bR3SAY-rYH34KFV$Z7)mRTMTBoFM5_g0VM`T-6T`<)JS5Z?N}(ZD~&gvjZNWOwU> z0$00BO1Y>ujla#lW}El&Q~`RjN0?LjcL0V7<&t~(=ZOZ9vH=PY3a zRi6)j^ge9p3$YEhdv-fK+Z9X{Q<@26p5j8R;i%@ih{1u7^90#6%v&^ zO(`{CP>>)~eIyzucnrS_dqgck7#5MDq*Yj&1laa2_z$eGroSf;j77)k8fL`DfZVbV z@(K*~1)yoX(ZR^^4m+m{&g-Yl4T}zCjAe23|M`ilbXcDA*op+;nRntpvN;FsMqJ67 z_{`7RPLt(sLP1Y4dIdP+9T{mOFy(UsKXua9H>NKF!?|UjIGX3Zy>Cg|7*8MT#BTGm zY5Ib^cTD8{sPnmpZOBSbNaCiNG@qbSjs~eY1FRJ6gO=o(uNp}&5{jA|0lntWjw5ey zvpI*lb`LF`ec_{;sezvZa5R&pNm`7w#!uE;WgbON-(6?wLxkY)D5$f{z1Y8lZ&G=e zCsvM}Np1r^Z@Jjxf7woho7$P1{5UQPWkq53#c@g7HmK=jQm*Z)Ob!KVKD@!tKv`LoY;F?x3akVfB+@#sk^*2Q z?YXRLKTXRG09)lKAeyr>TCiiiO*%$r`NciQTr7~?;&VbHkX=qRGuol0R|tGkGwVE% zqASP;w(UTyJ>1?cIU0I&9(*2Ha2;6RlGf7!C=BoTW)0iK{~-AzpD8}l<{fH1XsKEm z(8|rkwNVamqq_e-GhD>u;6R4al&Le(zR;3XT`%?%F@kIXM*L9yTv_hguL{$161l?7Fagt}sPLiH5ARYE*f>8~#71r^9Djw;=3&MPXv zH6~RJB|qEUmluh@2PGXi;2KIiGFRcZhO^SFU|m<3HtyTLSc{no%=7kkR3JLyd; zU^trZnJUj6%T8q4%S_%Brmj*Y&83)%=wg`B$xZ60XyT~xzDm^SrBu*?89F&)f|@8-BAZFPwlA^G{&v08&ibGz$+P`!<+cE(~9Moh5%zy z_O%GgrDM-&{4`?OQc89{6$&|}3NT^2FlgNVDbK;2R1Hu`tT-OW&&JvN7A=_l6Q!Ls zf9fgOdkO`=?GLf!09D+N)4Xi|I?*;;$;Z-Vao$t4NWV=z^*x-^*f}UP*Lcy`%=C2N zl#T4=R5)&nyfz;+B%z^BqLOy*vsJ12&6i+2k*B-#Ul@NMaG>TSrkCs=ja%Egx{L`7Py(&}(I5k;hUvcy z60V%x5rB4KP5Mn`(n$PF{$0qlpIeUOZGhJQ8# zUdf8EQkBtuO27GLM!4`%eU8|GhuEl2J@CgKu^1|Y#R~hDM)0?r9baIRLec-#eIfhaFVxLU@kWcDVz zlJvb>t&07Sek zfYhEva#t)nlOX)oO+G8{{`$p5EHH@XZtzP&a(}rJa=I~8nAe{r;;AyD=3(7a%958I zWRxE|`*W<5h{?~8s3AVsxUAPYPeOJN&A-=*)+g+ES@~ZjVk}!kaD|O?UX)^^XoTi%K=o=Qc~6up|3pb!7d|3?&7*e1OUh>imZE zn_>J7F3jsTG}Mi{t>V@A!i@eVo#sjC7h0p~^fTo)p_Pebvlkay%ou9Zn!+SgAW3#; z$Ibs6<(Wvp!Re1YRVdTGC9#-k=(qgAs!2~7IQsnyuhNmIVZ+DU+S~)nQX66TA!ucn*TJ z9wOzmYLm>#KYj?QUy`C+RreFbHm;$OW3>byh>Mr+Vzo_j>dAfKjhqO!g;zaWxK4}J zES*2?<;TSc_fNbD=DK0hz|C`u9e5~tmh95OkX-Qoaq|3ztZRiP<*J(cg|jhN#MmGR zUtI*{#_hUMs{NCdTSL^zYFCP0KxDNxKGvnEDFL37fOeYVcjswMD%`}3nkd5~MKs3W zl`KR>OXaAA3gMB9$7G(so_dcXt3tr63#@e7lk?qpsoe$4*dl@`5lS}oH`5|}xk7Xn zysu1*eHh<$R|avQO+E@D4zXcKI^?%sj! zPB#hqxe2fX{55~)*Ja#ZeISPRsmFPP4Ozcpx})(^PUy@xO8{`?Hm;s1O7KR$`@k+C3fN@L%!Eyq<{RCf_8LIwsoUrzT0$)M{B)@?Bf@~zdn*b6o-O6o->4?%3?>oEGSWb! zJ03q!USJ0Jm)r7=#%uB)Og(+bp? z!-u@3XG-A0hOT824l08|3{MpaT0c5&qemhuKpu4pO%niJz+&%dyScWGRePkH3(4Q*UKrH(7hb)K=Lld9}*dg-F8_(w71y)#L zI`NVObK#~|;a3io}F?@e-h1HH}=i<&;O!o|jYSdU# zVolL9R0gwx$dVzvFo0YOCC?cAC6@A^1^UF`cp?wh{&e$jSksjT%hEq_O#q~eBS!ir z=+XD$@*faQJtqrLWBc&7s6*TPTs7?^%y+(haPuWUf4IzZQneYGEC|eif+dgV3L;RzI8>7Qhq7y{t|?*AW4ZS|E^lN1+ktlI#$t%f4Sr@ z%phcx6l`}T-y)NX%&U~%NT@hR3c>#YrK6_?HiBt`33E=EGJ(=oO4sfmpfdCc_f`^vZ9H^Ba5-Q)L;&3~GzoDnl3clA3jVRNE znFP6c95rv9OmvsHJad%T20-k0c*mG2 z(CR~iruY=@LgZ@bj2CZTnKLXS3)IIv99;7ynD`q$L8Df1;t%2CRSv!WZ(i@#cSO&E z3z%!0Z$E8ZGXm_YS(s5jcNoKHpvOb@UC7Q)Vz&#(oYOEGQ)A-WIa~N)k_sI+zy@71 zq>_iR%(E{(>ejzruRmTfr*&Ka{biK>m+G+52Uq!e-}d5?w;m-3-zqT7J4Pfk^i>+I zqkC^+(A!&|YTxQeU#G%IgO=C;s3ftGp(-VpKRuQ#2ik%B2P+CNGWf^J{)}@{iFrRm z4kbz8k3B3*cBgLiq$=013-V51!SaSJ^|Nhq3w~3QFTR{0i__?|$D`5Y9%QAAnC|&| zj^U^$1_|-bB|}uiECHXs7GFdHdd_3_L{+MgUZ{^$(pCF!-N3 zxi4&~(2ySGT@^zQQ42+sTE8l+p+QX1LB!yeN+f2CM`d(`+tn)%ruVBBq(;frBLRX< zRFt$p1DyHfQD5RZQK7FPN28ECqo>eteD3cq#DI8Qf7Xabd^~^2$j@$uHUMGBcLQ5F zR6Is>*eA{k&uq_#g#8OuBiATjmpa}Db3y{T;LFqJ{Z{q3)T$r(>zC<3YpRaSN)D-~ zBRnIX>wLXa5mFbH!S`Z4yPM#)IGWm`wxZ8`N;_V|$CG3Oh--@I0qB870!`fQ#5_7J z1q&^M?pp;06^IaG++)ik?EcxVdWaNkiyzwrxf4>rLogx+A3Dr)7d}Wo_c+=m>Fmc5 zd*S!G>GLl%CPgKokSA&k2_g0hIF`IyR!JFmm@)i5UwN^sKYXf0Pm^6p&(x1X@uNqf zoCvITu8!$oV^)Tf^x3?&vn?|hz-?xsqKv#`i~zWzKwhO+Cn4ie2+kA4I*|y4++Yo0 z0yFS4;ORn^C!$F1&a^vps66D^r0T>%pR?Haxk~@SNiG=nO4}1sxJ$7z2a?<3TX{)@ z0j_p4XrWdrigF|^ zIrP0ZVBZ|wyPlXFP}esPWu1?mC-9+E=32SU|B1el0L)-FOXs6J?Z#P2%!!Yy1<~nv z6}gG!)(8qb8>OLEK($14%L;YV5mENtO~tcTQd-4Rrg3{VRJ>piu4##1(OPUs6D9PN z4=bO*{)}Ky4PvzE8bW>e0xVk<1N3g?iBJqEFuQELp%46%2glipmm`6T+_5&sLL-+! zY$;WcQOpja;M;qZkUDZV+zoVh7mvggb%uT|w_zH_lr8%e!RA00 zA=&190*f>G!Qe3BfUH^7wyCw=p3@AC2GS(|&?co#13DYWosc0PHW8H- zby2ALINzB6tvw+kG*G?w^Zs20!acW1ajO zLm8f5)!ofbHA!}88kJV!5+z*beBBhqb9DcLn{DN4K$Q&M)cYbZ^jUzHjf%G@w;z+Y zHhOs4C5Skr&dN>qiEl=9;iAs&;=Z3@?MC$%^rs1tb9PV9*W=bneLV18;d?i7)J+TS zyt9y~LzfD(a7MmYbt%L9%het>)oGnhLpgGsmaPK^wTjqEy(r-dLb8GAp`<8F2=*<$ z$hVuWG*$?uqx#6V9PivKV}%REM{!y5XiJl!IS>5b}#y8u0Cz>#_vbZlsK3nWJjMu`9dlraVJm*u6r}fI0 zo5r>43m4xr6S3VYA&K&O-6s}#(eZ?< z`Ai)fbQhmAru!r#65iYU^Wb_?{+*i$q8C76 zCU#7(NQuY#Hb9vAR*-+?Em4$7b^nJy)SwH71O`G8`KKY#I=|~FulB3tLm9LAGpXaN zkhMQov%^9A*(n2nsJR+q8b;~M?Q90S&U-_w%=U+Yr;S-YP~ju7swEZ>H0JT5eDyO!U=JonsNXq z+M4>L}qCFc5 zndGOq*?vQlr2sRdA>M5U;b#&3#w^^578TNl`}m}dJY23G7!^|i@KA~NS&n<)^c}kL zWNWJbqM)Kc*3`JeXzLA+-+pi%cY72L(3UPO1VSrtiGrcBhY&N7PxpQA4d9lVaz(lh zeS)3Vy@n#B{4CIqm*!Ndm1Z=0M=m55VHc(3{Jc3=jg$RHyKApx`a{- ziE^WJqsmJn+XSlHA(DmMXvu~njEcw~^3j5ARs?O*w53Cb#b!?oDH(4yyUC_d`axcu zB#W2t3Y+MjAlhqsbPw^)n`8t4)b;9-Fz5dkJse=X) zNT>0$CXO*a49`~tWfY7}RtY&&l%me#0m|toJ3*+oe6Mcl(w{57H-mv zIrcVPFjYltn^2u{5a<~Ptatg}1I)$G&Q{s-NQb;1%ftVGaN7$Xj~~spm~IK4+GnEQ z)5bG+S@J3{fDxE|esY{=MTsRv%c7NSvARkMsLx8AUnL3%4oC+XsY2VfuKg0W5Jn}~ zgjM!mqEv)r2C7x_aT%x)S<5|^G_CX1DciA&xGFgoF+Ekmb}5rC=L`tvkDYt3!;l0F zNcUC`D7APR%&?eQZ!y4l>nCxQ79Pd5-mWzzFy%;?ni;p&?KBnaGNlt=%-BP2K!lXC&?;J}wSXf;=`Wtc z`zZ9cJ(7FARriT}Y{Rk@u9JAnZ-ie{z1C4p(w7)UkX+%reM@nmQYA z@&kN8EEDF?Qd1y#o(xmbMlV&r0|~iq4IBVmQ2wY#kvbsvIZ@(@X4ax+o%;m*Xcmqy z{>B}!*fC`|i$Yid9aO+t1ljzhl}^ape_WEm4n3+s&q^a>@l;3@9NfgJw#mm$Fg(>h z%ZujokQ-~f3(X@+?gvwva~%B;kXlFpB0SB%iw0o4{AbbZ{{td7$b$`jBqRHh@agkY zVQ2>*?Y|6AJQ;uR)-f?)`1AW{JIad7*yQF|VyO3x-J3fj3rp^ME^hu0qJC~4T&L@| zBHvT>2OEIMqS@ceh>V%ENf!zW4)fYm0V}A()jKtu%h(vYKR*mES$^(}>gcAcLi9vi z8?;%seU=pUCuQer@15o_Gr6BDM~qESs^7V*dn~B3#Mop%qi0#WA!-JL<>NPnSnR{_ zCtTx{-@~~N#9tXNu2`B28drXIHh-7R6`v~?(I({q)yBwDZaV8r!ty5CZht!VYa`|7 zM&8TppsZ_tN^W(SmV?A}&f0*l!K>81fkhDDr>L3*y2peW^_A;0WhAT>nlem*7yhHOImaH z^mgGjViHExK=Z{2ww4z_t@3QsmN3;a^a72jTQ(@KG6efa)q~i+!mvOy+9Rs##w{9i zZ6~grer`R=l}GpKM=6FFSZCeLCFLa*xO0Yn4OA@t{9Py44{@&u!CBhemG;wPR%g8J zeS6q2A9#9Xkb5oAexZ(R(JSv|)^4Z$-uk_(<(qij#iJEWDn0?Zj^A5pD$_&5&uXQz z$*lh}7{O=Nn>i(Y*j2~mJz8=nOOVwl9Z^e}cR9-{fQ=2&3HC01jFo8Uh|_L=OWk{0 z${Oex=F^w43Ua%c49~4JfY_euN9c5;-(5nV7(IQ)0aToucG7=`0jo z1G`-{_TY6owIs2Mp$a9}|7IPoQR{TX2b8Ys6 z?2BSI%MU)Rp#jyP(^DD2Z!Q#CzNJnrzN@`kK6R!8C!PXAeZ&Eq9exj)wr}B24wO|m zS|IN}S`_oJCCMVf@@}_6~+}qU^$q&Ew1GcB-$;_ z5cdpMU%zp5p#|b3XulB{1=VtoA37ZIXylL zNU<=%{`bm(|2gIWde~cpDqOy|Wj7|Q)=h>JoNr+<0BLH(dQqfkQ(-`wh{7z%pnV=N zyEUE{4N(m&ggT|J$B7FJ3;sG+{ftkEv8WD$=L+w~lWcd^9S9?hW~dB4Kbsg++I2cN zx4XklmZu&>lvY#pg%K8%bBdp53v_qe0Le{n*;2H1IeG}V9v=O1bJ}5gd-hMWp+Ixq zIDQxL>;ItJq9FPb*aOY$Y@IS^a*EUsi!9Ae>XiJ&#`Kb+=S^K|YdWzl+|Puu#>V

wCcZ>NV}@MlS9B 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

rUT?V>@#a+h{;t=4Pm6WL`Xom zKEJhbjEcE{^DEP#?E@BJ|Eh^eal@DbX(sn;{{whsWKg8Bn6mz~<$c{KYDv@0b&uim zg@atj+=le|1)QUOg-_2;xmwHTIclH1AW`$ds8gg+8YYCw#8^?%2UaYlfmHxmF;<5rzgjqlVVrH-^1?A)gfIZJSjF>y?gK5*@Kf#>pf>!#KK#^ zE86JF@b}MUuO5pL*i#7I$gx6_gct^N_C*|d&I`n;tX+`8t41f!44%Z(u!-W`~up`{u z49n9eD73dLS+v|tze3wv<@2Si<_oduse|=e<7mz za0?P{jiJ~*h?e`x@3r~8x@*i&=4MT!AMr|a`)Tm6W$ggfZR>I$QTNylt}6weBlJeO zkY138s_UG2Hl}y<+w6#-c^3WG+?K6ugsPz=G?l}&ZLKTF98-C41>0+yG~Et-J}vZx zrxOk?xMoG;++DE+1NYfC8I{Xh)4mK`sFo6U7KU5crw?N+D0O#dbuZ0a3DNU7zkZ9l za5L@8jq@hg!6ik>lRTR(Ps=90rB>Wd=)A+wi#&(BOe;x`=`_370a+S?goFl4LF>%aj-BuBo8pbh~k^JXPK3tPBL_}~<+&+IE@6bVF z;XRznNQ*QT8Mi-SK|y6?ObXldCrUjt>(YG!Q|I};jBdU+77{3ch3iOoDw)Bet4rqNqm6A$+SuWY-YBXh zXh74F(zFp02cW}DrFFh{7iiGThj9Q`W_PJ2p`Tqcx3&L-d1ZQ>M_aKWRx~`JV{M26uqUd4~&=^xLR#;4J|%AXFbh z4x+s=WURbczRtbWBWrBJB>eV`qaF)h?X%}r`Yo>1ZwY$F;o-x-)c`2V%=Q#x{PnaIBCrMgea*G$QB8T+Z6M#9bHxI>dSns#hpa%4sM#uqgb-dY z`%jFexxV|ZtXeZ=reYY)F|4E{{R^a>kn>p-AA0j?`pwZn*eUY$&I$Es9oZ3dM5mjj zt;s1fHU0Jn2j4Xhxsl{>vjhEPX2-_<87t&&C#aM0cc`(@V;d$}cr zkhS58u(Lu~!fnKnP=_b`CpY#M&QgB|t#2yo3*msZr%MYr>B+7@U+UB?o|9i5h#kEz zj;WlDX9%AOgH;?wCsE}TV({CS%kUddK~>WR(1LF4ogrhtpBLNS6USvL>mxiV2)mJH zLr}?NW|Y)hm7!bNRpp#s_v>t8HfN&7TwQ5D-npQTpq578Uib?U(+!eZ(mx8?or6yn zB>FdV#hp~Pr=U^MwZufFvf>El?FuZNXCo53Xf=!^aUe+*85v>HHcLDHV=Q+)-Px_Y zi!jbkQcy?o-ry2_coKzW58h-B2GnztM3t#SzNyfPO$i1mkbx9ER zS?QA2`D9(q-_6z?RNX?X@E5E&f6UB z!_jCwo0`hYB zKY@~vXBZ=yZy~NmTH3!K@2OqHc^8ybKDE@VnRniKKJp|A)scC*u;AcQJYCRzq($;b zs0cdYhEt9j5j1$uqP+0(21d+i!8!k=IXs7(K!5K;?1#~h^Vg32R)M^~qrVr<8pJ;D zD6Bj`?!eQ6`1th$w!OaUxpL(e|7rFgx+W7|7Gtj|XX0nrLr*7^Z{0e_Cv1_Tex%t6 zv?Pbl&OB3rbGx88DcH+)Vyo8}i$7Xu0Cgu=`2cQvyP`R z)@=AfP@3xD7zv#X*=d2{q6{PX^|7aBikjl&an+%rI1nXQ2~jt!Q`Nl@RR6Ui1BSGex4a9UUR;`2j~jj3&7WW%X!TPXH#_%S8CqJ z_V3!b+=L4GiE_C2`oSmEO>3L7WOTWHZ!+HF^3*s((w+q+AmcTryMjv&(BoI*>ZaF0 z5nEm~g2#6Q@zZX?z*RNjXJcT?jf7^MK&aOp#Wpd~{X_0>9QP7=|HeR~s+urUb_dwd zdmPLYpF>asBGQz1v-~;+n1R{gklPvOqc?96tzIOmAGge%0^jq+6|BsDG~pSQPmhLY z|A2vX-Zs8<4hxjtyj-QS5vcn=Hh2Dg2YT7xrUM&@YS)8P)1Br#&PY zA?Fu((n1a=k*MnWbkDTol(c(A zZ-a#}#)700DvOWUXj5zK>x9qu2FiLziYYK+K3`$r>)qbQ1><6L9`R#bD;^1}vW0`z zumWLvQ4|B>2D7{M_WpxdLWwV1FL5fGZ{$Q&uW0(!cn%}9&hAPAnEtUXu*fd;jNO)F zk+$_U0F_S-b+h=2^XxrOWgsHcy|7ie8x-pdM)q)aV3UJ?(13g@{e?Ji{GG6>b{e>o zb(rn}0p6(qTM;>(W;WEU2#eW}cl@k!^{wP&>W%;2s{3)vDXJMs7azCbq0lVMROk0# z#yM-*C0TgcL|XlxM|1d^-jxFc3u>5aYx!{+K ztD^BN3>{L8Ld3TrL7*?}#wwMMYBOZQ-;--Wqoh{0NL36xod&6a_fHnKfS}?$1xmC} zpZg2pG%UnEn7U=5r5Ke%ZCx#tKnr=X4AcarV}eNt`lbFT`gSpZm>)x;09-Uq)YDiB zRP@sU8Rwu@t? z0Qe$dtp68+iv-2Es^;Wg?A-DS{?8C{`M}714Dylx*Hmct{Rc7Ae$&7j@o+D{L^x3xRPOcPG z@Dj+a`v&7`T(v~<9KEY?uZ}i~-TA{0ePddN_Awm$m1yT|`e9T=LOQ|w$fp}39b#|X zfG-J?d^$maV~O|PirL`yfp*v%%qO`aL0HKro-$ z|7du>v7``(_V%AuR4=yLOKk4Vo>*Q?>c2bU<*#Y*Y%oGqVWqRfA$0;EZ{ex#TB{G7^n5o_~o~}iz2oG_5i;nCV za^IC;pVPeRedI)#!JR-29r%@CRO$Gayc%BW^I+@&Q`Z2M;}Ya23E$-aF`Q#NV*#CX zm33mROEDHy5hpiA!SEUjA|GW2>1U{@5eyXT;VAcfe7CA+fp4gmnb-@-5REW}g)jAM z4D>dl_M{-@sa!8^%#IKI8kpRnz}fPyb*3$6a@w=DUzIc=%5o9}D!wR0w8E*%Uhqt3-lRic#O z*@HmGEW|O_Sn-Gad^QyZu*l&$70*5B59~NI=)S>;l43XlV*d~g$h9Fuh!>KVdYypd za6MT`DK;1Q=cmbKwYRDdpLhS>s|SrD_V&j!CaISw)^&=SB-Wmqwwd|!{#)bxzpJtC z$d81)1E4^jxVc4xganc=blYXv~5jH-6;0bA#+NMao|Z6?NHb%}!9{mn{FHFkp>Ai9xU+elWlr^VQr zt%`!th>zJ`Zv}3Ms)auE5HwjC(3N@SFmXZu0c0^Nc_3s6cnkoVAb_9Gz-WO@$AtH#HpH$o|bAa;e%WU=AdVn8}BFL9_$3=l&SjS<6-C)03OeTZzBKguJ^Rjpu|8AT~{X^L7Ea9~!WK_Aj>QYmq1OWJam5 zl{;Q@KG3Zf6778;$y&Hg`|kjFuTn>-?uE41*!kzn4u8hrG=Z8;5NB zS&<8t1+VSoXgC}tKj*z*O44(tosghsGPUMhaPGgu%~A={R?^h z8t1U4&liy9GR;Ej+||42uVtUd?<2%{M`}R7ut9Q5_1C|4-f$X&D&k-nNv@bA22fMW zvGjTzJ>Hr!5vKQp5<)cB?$MHQv%Y6~Jn;f|$|XIgNA;g(Ne0BRMmI9{hXws&-*tLB z41oGK!G@6QV}9Cpf|nXcaZ_(>P42Y{{lamdgHGyJOQ;N-Rb*jz$ zBMYSS6K7H%iUPE6;+b>2v>EK1q^u-GSy570c@QB-Bs@)|EPPYO$7y1Avu%wT$ zr7Do~p8P?w&rG?T6f>$GF*6VFoR8XUJ6cC=_?cWh11{+EICN-Q#8k+*aQRC3Q>!zI z^+Ch{o*pV7wkd3Lk_T20_`x4tbdNRUK(aNDYukcvNh`YG(U~eOw~eO6yJ-S!|ET_j%`4ZBXOz$1P|Vo@3`VS9-L8e$L?- z{j{sSUi4b^;v+fd>ib+>=lDCET|W_Fj6r0(bj@Ls@GR$O)%2v48yh@`D+k2_*#Jz1Agsnc!(OnE*&ia*6a z=)cL{Pjk?vf5C5FeFS!S31Z%SJ9c|5R~ss2>Lj?Q&E*9n}1#;BJ9kb_pCPj-ZQpD1?H4O_{kB zB0W5|-oJ7;Rq-673Cxy960|rreMgb(5U5$rY|ITW{%L2Hu=(Xk#zXeU!DI(@dLMrC z#u{>E0!us6@*$r+1m3>S5ia||CCf19NorWd;Kk$bg&9ugf5Y$+%I*K)RL$8en(Dov zW^#>HYP#m0L;8FZl2N|GOs;2!e4lBvNZ3`7&L4ljEsjdV7*JwJo8y2OWYtCS-fFJ( zJQIwo>iL2@`uMw~u=1X_{VxYD3{d-~#?DzBuuOqHc`P3uNV!VHGc31Ac&K+w3)^wg zK_6DE1T2gDC#wp=Qy$ZTL4a#1=&@I3e_Qr6wF1vAH=9M%F(`FuKY4D zx~15Axx!@DIag!fDk)x1W6@r4yh0`NZeXD5yC2G3)zWxB!OHBQZ5*5e2iV#10$5hS z07b%?3RYU`%Q=O8dgk6BY_NryGG0Kb>O8(U_{0A8lr8j^N|T8{RAZLhs``DIew?&k z6S(uy=3?c?`U&2?tmA#*gHGe0@lgDHsSENCph(*`;V&XCaX3XLhiVVz)9=R!1W~!KYXa4 zury=R)0XWR_aXvsOrj!d%Q6EzV| zftz24nG2dW#k7U%g_Vp6u9%5u|{jPRlh6cA1!qOWw0_JOWoux4? zf3YB2#i_oEw$RhSyzxBCBGcp(lr9Dx$^Ev>vkA(Q!6_%f`i0(>0`B?41?p))$sx7R z+^)`2V5)d^`V({0IU`Kkk9tkwcPD>bf%~k$!T$fF_=5azT3Jo@f36ys z{qk;@QP~hqwB=S9gBag{UN#C^gt2L>b{KE7&(O#wvo)2t3_h@2T|ip zP1His(AYI29DhE%;ZGmbh%8s8xFQfzTW};#Nm1!hn^?*A+=qOM-|R~8lPm;>>yqq4 zew$txqflg@uXO-5vK+sXiallJ!T@P)<%8D9f%;RVxMV8x54ggU4< z1k;zQ4{-_@Q0+1RP3qlDhnzN5xh6;O%Gj!2N9iqt0QY3fJ4+r$U$McsPK#)JmTP=y=PRH7Lf+mSyQ0)?>pfdMNMHw2b)nTEOx|A}?FEza4+eL+FYueBf2+B-j<3v}luXm{XaRQC%g z*m=!qrP%rF!^jm1m@~DwtP)`O4Y#Tq_bm;vxSZKv-C#~`Vg9r)@X^+}&0#M)rU3#PZ?Q@ z1=SoA-gx(%Z@!77Sn08VUDojm2=(~AIzVE3#fJ3i5c_(UHn#LRffLSsSDx~+vy8_} zOo$0yC58D%-U1omp%k!=<1HC?E;^r5^>(?7`l6&UE-zIQrIuWLxhn-J_7-O*|7CTK3urxuc{QCoePS;T7k zrL2CxmrwR?g)wOF+=1POeZxwDDDgi;U+kXhM`wCF;2?#kaQuCckR}3>Ymu%)nwebX z?sL{#l#KA@w`!e=*MvoAIURS)qsqV;0TZY!#?JgRkH0^#Cy7GraAty1{KSus!p`9y z`8qJ7-E5*wwrSFB${)B}EiE7nQl!DF(TC>>unrk}lmilZ4p3q&l+;!bU^A z4#J@AqdhzMK^k!YuKMT6{rty+=8Vfq#X_YVG13M^F{V;%`+JfFjZF(n+pmz>0Y_TO z3BW<#zXJ22r1bkDlt0ag_t{X5AhMkFdTBx~^LzCx zJ~=s4$NK- zpKYbXl)hpa_EAxGRDH^oT_2$68c?&%S@GnGS*TEF4^g!LMI6}UQvC~x7r+s>_!buv z#0uF5nlyN9vkY#DSCL|7E?{k=p*-<4f=4c=%;b~iMDRk~NFJds()s1D%#I)*?bNT+ zCXA^*_E!%iuoYzWgIavQ^*)@NAqDjMRftmg(f#tiXR)>X(l5?4FlefG?=0%&6n#jK zFFKG*PW{?TfPXE+GzQoi9>)J!$l3;FB-l^orGFvg&u8`-a8V`DRa^{~OCYcoY}1b15bp`iB@|mJR@Y{AAF#igEA2S|P(I(Vt0LI#d#K@2NX@)J@fsT;*lcg@b>--z zx!BLK1XeB!?^F)G*B?V$81rZ#644B%0wM;>?Q0?YbLz*^(A1=zP4TN=wo+f->dUgG zYKXHt>x^ep^5!Jld&W1ciS6d^`khX#r!pRSus-!(H#lX$8Zg@X*gYxK%no}RIMTc9 zuZR4FoMOw{2U(r3pfijE4C64HV86f9)1Gx|s3MLs5;Xpo>7q@6?s7}jfj-*V z{F}UN;fGOqQ0vqmd)+Z*oc~VH0qRxgApl?h9{?VhSP3p1ys^I_Nq=&vZ;i?0*+vR2 zUt8L-w41OuL}ZEO7zqa_-$>~;w)HFjXwe$V{mt{u$5CH4wr4LBozmxyzSvKjZV95j zz|X(I)6iyM*OLgb0Eifr5GufX#j`}x-HV&^WfR!%oP_50d4-Bmwg`PEZa0pEc9q!c zmPJdZ@>l{J<71s7aABEm?gYFbc)JS~e<9zEz+*518k`HW@Mrt*1W?dZ?y(`e{+T!S z5%)by2DykLBE&gs`_i7|jt^MNrN!8B{zKe|8XJY6Vld~)GaaB-JD3Sa$Xk0xfv4$y zZq06_zA=5km=frLq=e z)lXmA-w8Xnjf7ErI(E(d3SGuBd_Jry8S=q|z4O|e@pBf5EkZWvin(zc()dmvt)A1u z>wSI)JM~E=W6H`%EgJU__bgNv1X#?-yfmyCwGR^P&^{nY)y9);0qP?C82ZEZPX_ui_ATO19j_>K#lX|Ai=wlp=xMsSE%SSlen?{&#rBp{NFA$arje|aAq)vB?#L6NsyC25 z-qa=#(h6s6AMnZBb074z>Kllk7(qq{;vNAL172*eF=>YOra6;cHf4)87)Db`85j7w9#U<{nPJ;~{=&%43HZ)8s^WYKYZ`0zaW*dH z+Tl``-8znDtOH+gxqTtj85$y&bmFrUu8Y%U)7@ zyc&!dqCSy8)zX3kG6dJZkiD~4!L9WaXe^7+5ns;rwyTbkkg8oEi1n;J> zCk0~UI~>n|fpcn@F2ao7c%QG^3 z?f+G&xh3o+^#K_Xp;Eug0w{+Jh!VfHagH?eLrdqOIC2Owy+W{f)tFw{#jY|bib*0)+9Yii2e zU%l(tha;27X0zjv0bw88H@G!Uf@XzSoXs&SMt{gBve8Y=W&Z{Zk=Ak8fd%%HbH~gM z2V$QG{Sy+h#~mx{4g%>yOxLs{ul!@JP7PnhuROu-GnZB~EadU~{e{4mtnG5}@!Pwj z8G&X79s>6_3y-#aYUOWRz+bSxdzXlaygJ?5(N>qdmTnSgsfE+Mv{x+ZCkE4t#)XdM zkq-#?{RJN?5yzAd|M;+?;A3_4@|a-;f3m3{&gh!bF^gMtfM-*b0o#8cf~P;T{+`ca zGY3yn!7_ZG{OQi*DnN+qU}WW=;hQot;o}#!2%2-Gy>6D;l=9F`pbzn32L!-&dbSHs8GAbA!F+h5jxz2CI`3l5x9xXqleY3GF~;LwHx440%iXr} zeoWF$)zaxya0F_u48>gfm({eA$KDmW+VkQY$pW%j_d2ayKCf@7dmV>gyP_Rph*qGU zabQ9&8sTY3%34t78h8}qg#g!AyvHtf;ZmibYw)9XXvZ#*qY-i(LrigG!3R|?z1%MhvcC*^` zZqd>Zsqz#sdVxUSiPOcm?9t#wvO$n@H^J+hsmD`(`Q{<;^QkL&CfIF^-{w(BNalUw z4ExG7V^O~iKW6DKq^E?0rM{Ak z15-~Fne!11c7#Gw)h*I*96`g0lz{tQO|dIHP_!#Q@#j>7rljbCB+hyz7?l|M8NVs! zhTP%8(s+b}g&~G2SEnwLzQ&R3r9TrzBS()1McR5(OlQUZLX>{J-`4?cA*7x8wYwlDr$DASuh}g@Co~2`=>gl&eG(Gj_$3hJ2^j~nvCS0hbSFjmFFCF z(&*-hpFf0zsow(wU5WZPXrDHR_@AKtBVcn(!giWNyR3P3aIUho@0Vt4hHZ^&2$n2U zUM8Yp7L4Nv1+f2Jd^w~-vo>Vc_ZGTyPPp5?-ZKKbd09^kJ01=ek1{I35;oxgrv?_G zH@kxqguVz)p1Yl&qmSOoDVj|-XzPYM-YlYAoppU1=tTNeyT{ki=B0E64Vevr@hl)d zSnT6Ygm_?|*K9mz$OH}MmqY}s)PjVcSXrK&vQiw~PX!@OP$k3D)oC?orn4>+O42OAgwhy?L8FWEjmW z22|6#?Vkw~OG&>`Im?h5n!eRtLv)B7cH8w-cv68AcfIwo(}YLj;pS)d$jEJ;ZQ&Ve z&=ur&&tDFVX=z|GIg;EvLz%vD?GLmC*=F5XzBpnaP2E(0r~$WSMj}6PBsWB@#ra6RJWzwVKlD?3Td>b<#?acJH`_nz|MAejn$-TduK;#JC5qe^< z`COWOLNL&P%S@WmBne?AzLCoyHQ|i%o4)#AN$|jknjf$~OrX#=84Z023r;Y?U`BfNq zi>Oje6=FSecRSPt(#Kz1tn(7R@v^l|LmnU7BbggCu6>{YpruhBz3l^lmfqtp-2Or~ zPksdZ!v@&c1R(pKvjedhXvuP2Mksvf%`i^j-0FwoK51ybppO@ekT+$#4D}f>b_De~ zK;}3WY!>PpcoLE5jcz0>mLP+-Lv{Ep2axfZx}D5Cw@2?J+C4TpcSSn@7l@0dx&!Ut z+a|D!vgOhEMh`u{Hh3^PAIB?XnKYx=~MY&vZkvtkk|pVv5V6?Rvw$rX0=>}+Xp7Y% z_>&U5N|kwSUgU=2Opf+t{9GvexxAq=Ov#wP2V+(DOiu&YhFkyaPL~yk`qfqS@MSsC zJdXI!uNPd#p^6*!f``E^>mh*I=ucBCL(gJ+O~{h8Ctz5EV3JDACdIc1kwY6qQk;*j zm4E$w8S83z?;Tu|>%B(X-%zK*wPtI(LFSFz#d={Zb|fy3Ar1+4M!44izKp6*{P6_!t$o z1j%bT0vZqM^)Gm*{&S&rSYL;{lh?4#J8ts$^{Y z0@<%j03Ne2?8maj&CAQo_vn#Ygz$R{eJ@?*K7V^nFdqh(R$!(d<2KjH+$yCH<1XHY zl-&EODH_?0R^75_pV^b51OD_r9oX>^vmCZbxK1=a)$8|W)m7nx*xLTK#b_6r{uH)zf*@jP=&}`>g z_clENuu#tff)ynP_M36zgNxYSTi>uN+5gg}!B7MRPq$gb1kO{r;fve%-2pfm{ZFuvP#( zJ^>cDGny=ZQ*f=Oz(Pj6f)%hSoI1DyYKpeDE&1}a)zfX4scn}t?Tx_*YW*9Mqf6|aO z0IKn7(4~cXe++Z1*yh$GWxDN;WXiKP&m(lQ{%q|9dEQ#(-c|3O99R3Zl(Q#`-IfSu z2hLm-67@%kS3Uqnj zYxP$@Yt@M#D-^>A&6nd{9GJ~~gs$1RkxJ_wluS;zL8l14tviedD9!_OY$+*;hQ`x- z?PWmb9%Db=40kWMr5;~ybG@$du3VWV`=<_}#^f(iZTt(_i8a5iv2l7VJ;7{nmYJ?t z?u{3`h6|+%S&w1fktyH5VF8QR*8`F3_deLgGohzMi2^Sj=6Vvf{{*Lksy~qR z|3~^`9xE_Sf>EF59xAKu*U{swr+^g?w!<3v)OTQY?OwY~>A9O3YM&;I&5IuEYUpY# z*-l`DNnAp>n0o`wn|ZXXrq7D{oEHQ-<5Eg)Tn)>=!*DH55%i1|ICP7^UL0vQc-vd- zt`-~MDz9#|Clr|-an4|u=L@zyn*^h=0lqP_ho>~IgNSmUnf`E%F5lwrL`ZYvqb>uF zD&~CO3D{--o=d-xgezz$J?ayFgE~XC3%F6u@Cl<|PpXT-z-8^ltDYTjOHY;;U8QZT zi@PaCb{jA{@_*_=O z{Kx3C&B{7v+-kjunVusm_UBsPt)DZ{4;eXF9cAE&kojVSULjYkAc9d=7=pqRfw>;OjauS|$+od@M1S)NT|lAju&HM`cIGKy0j~5R05!}Muqy!EvZHzn-+6W90#CrtfXKF? z1o~Y*yo!n>;yEa#?U_MeuPM3K61pbrx|R8$;!5!m%nR`gD_!U&O5toG2wQQh8m)Yu zhkqF;rh?Q}DnAjw>jXw~y4eaS&nVabL0>?TI(lX&72WTpDh)VGV-|Z3_T-wx3VMl& z-x(+dvu8qPNQrGt6R!HyNEGZq68lM}6Y*ynPCHuqGsrieJqOyMWgJsoRqV3EX+2RX zJ5+IHGblqmHAGWaqvEl}6FtUMln>!MgHQch#!W;RJ4B=-ZvCAU6w#3@G>lPn+>v7i z4R;^^`dlDh`A0m}VlK$)Q&H=i|Jd2rKf^s~VQQ$)2*hZ^Udm+NOErm_B-Y zfr=!Qm-O}-!97rJTUbj*>X*mnLy2c1Kkk_#uY9YEvz9ud^tt3#9mHAh+g3}{TwcV7 zm4H-Rw6kSX`Wug}$%x9&KYl$AENxpEL=9$k(6~Hz1@};G7Xj(7q$reAPFOy(tRora zoOvnDDNeG5PuDLBdO!HQ5bqrM-T6#KAxIgV|GeXVKk|Cht?wmS)8dLP+7Y%~NY<@^ z9}aY*pN{ml9uSY0Ko0>4l@kTTwjzn|9-SJt{w?_Ij<}1wBkM1%M||R(X_5U{McbWs zRU|xgV(aTq~*<4<_b*TX6VLM@D>5w5=#Mvwb#}xgcwGKHBV6w1P}o z>Y3l`US&)cp;}vG&Bi-G5|kPR@-TOLvD*)C{y7HmndT*V#xzTfs71atelQXy?)CMn z{-RQ6b}(!Iw-!FM@~zQ@QPpEiERWoSrU{VMv=vw2;hNEy?Ey=n!EcZA3lD zu!EV!^_zxq5MK6*yu4>3(%vXwEyWFWa$%UC?mGa zHf1o|57f4o{wJ-mR1Qvy^F%P_8c4`7Qa~s2*m}+6D+}0?x`2J5ti$FuUZtctxj2|8 zZ1QQKMPs#QAiCxFcnyo{G1P^K;0EvCmxKrL4HNnUc9N<9`Kl*|&Le11YS-nk1`VTs_`HR?x?Zo@ z5hIFXd1bXuL@wpZ{5;HxApe^c`In7sAepI#pbb)Ik}E-2#6#hF)@jZPqs#wj-al{m z-U|=~Xp2nkI9-Th)@l80S)lvb(Jo?Gxm3XUS>OI)2Hg*VJv>_htAD|^DB*r_e*jQs zaU9MC`jRvdrlUxB*4;d$^0fTX%S-$hnzBXmA2}wqHwFQh3Yjjwvy>!)lZbQ%{Dcci zAh(!Hx=*e|^z1TE(u0r8KT1DCQiyK88o)E%P;?={n``wpi<3t~Kg%^GUF8wUu}0f#cPwF& z`4}})bYw|SiL15HIlHbrd8>fr;(B%y*i5YY9gAb+U|ICj1tg7tj*NZ#hP>!3Cg zoT#~Bx;93XKZIizH)|`;mi(X5US1B4>wqY2vQqBDOvE*ns%l7kncs z1k?d~I~>EssAmE$vSP4|2q9et6YcM)eZkyZ(oo)lyWxkYwAW!(~O)eeP zl1?i_?cYjD3c9y3BgxwFBHBP4ZVh6C;~@0Dk~6TC*vu8C*Gwq~zQL0nR@cytjH9v@ zw{)|us7_T_q*loHb*^MdGOUBky-^uf?$ zft=RD*F-yyY&@!W@QIP!WNJP*l>85XpSZ&TDhST~8*j{&Chx{jW%4K81)_#Brne9e zPJR|%XMp@N(r<-{r^4p+bt344)5l~PBCTw9&q*REH1Mc!dlGmK>`Etg@kMDjPzYIY zqk(pb&QGG%)`a-quld+kW8?j?7zUHp;A`s@PZ~H<52QCP4osjw{4twlkCDHSXE;3y zcq8I5gaukq5{)~ZSk16g9IF$Uj}Gpz+NZ4zWqjUntveUdr$$H#?|F2^I|;0J(%>}v zUr1hv1O2cRo7YyM%VO`;A;qc1?n{lwiBvP}CZ?B6Ebkn56YyQ}cK3=fnYWKWX3x__ zxFI()jK`6Wc2T9{Nf(I5reZhYcZ?L)Bm8 z1T7-343|6B)P$ce@=oN&USAK?HFvqjUWVZR$-x9@*Me}jb75Y_?= z$qUhaKQrW4Sa7@AY^rlB157i>gW{Grva3jTgjuPgD`CF4EFmq z3mOkk5Dnt!YR^AZodZ8O*<%r{t5PavlhRuovC6|M|t>-fSql!CJ#{K_4GEpBX7iP^?dMhe?xn1A- zh<%v46jrIJaq|vrR;IBip99-I%`u3PoLOtmCzwcN1k0>d^r1Y)d9sl#U<)v?DC*=-79={qmEN+OGc{tz%zJ zduqLJ3*@zXLYIS{jE`rrd+4m%8=3x!KdF1=+a0FR^hr=uywH4h77s_8^#ft7Sd}YD zxUQ-anm+~5=7V~g4G|yd3)%yIQQr-{@Z#$Zsnn>`Z^G<|zK%1W?gvfW)h-Mt_CHde z<$t9<-$NNGIpDVl*$ucB)^rA_Eemx$4(CrRxZkD;AtJBd3L5BffGug&bcMUGR6RNn zaCf;`cuy-zqD=!_a{JTo=F%OYkw{Gf2iTn-$Zd_4uYP%ZY}45BK;$;4q_s!$&c(!F zJVJCcl6MvDF6KI?`|zD#$>yqe%=XSJsrdfi!1-Hn`11cJa9%UpqCMUM2SDjIrg7|< z4>mNZcFtY@3%}PnV=gIiUrFKMtlfVo?%nuJO?Ujxaj?@3l^>diij3(A*sjzaN2_1X zG#|~C{R?^X$T=M*eoFp(&ow6Hwgn+KN*eKhvG$%}O>WV)a4<+jfrv^kQ2{{_5d>+0 zU;#v=iGb9oh%{-^ArLxJLs3u^f}*0dsPr0ozycywdXrufYJ?EK6?eJkoO^zp``!Cv zKW^EZx2$)qxyBlE%rWi4*M;uPTzfKNrRzwyEO0vXF)tx6xlvRYPUM;p+FkQp=0?l7wK!t3#~N=Uya{7bJEH z!kns!wD8V6+L_ZWulP{sX@1$MG$G>;$3q)mD5`}|xzC`Bh=6z&-)#fHTBlEi!JP9% zqyA;iXU4fp$hEGAv|(ZEZNW|Np(2#p#Ff$t+Bfyp<0ECo65gnV=&s|uZQV_ z06RoWF3dwD+pEneX$`e}y>Gr3j;u~kkM2Q#Y$<#@+@0K*G%BR*)k@GH#HvYQ|C0Q) z(Pp7@C>ZS)nH00}Wc?Y`Z|_jnljbiME{A(TLj79w6$_0fGRw%Xk*24GCBC1LXTL7d zb1%8;K?rGolk(4C5|R>22f5d9ks_*545*wBx^Ao-plaO=JZBJ)7yG1}kGogiolli3 z`gT}?`wCi_L8T_Y1{(<&t#ACVs36LU{gLN^zrRclRtq8HTU_^3pP9$%6a`dSL{npz z+;dOI|G2>Br&`pPV+plsLGxf_#@TNd*Ju>xRB5muH*X>QoJr(OM z51`tB^e4js;}7mvLckK?^ysUQt&Rg2J95s$jdHm>&FYeh3Y9wwhPin}TV|Q5%?|4f zH+CXF#*9n~EAe>aDD5Ht&0tk5|28du6?#aMRS=}fHr5dT4KqGcvJRl@Wi5tq2^TMX zgd$wx`r1PEXF+rQ57x?fW2>q&mxT52Zy>#zttf-VTQ5R#=Jhy; z44z5~)lytY&^N@V1qopP=EaHs@Zx5G7tbL6c?ASJ#+jT+%(rkzd^TuScvI`}P(yCq z%*!d6dhw8zW>4#rAnj3Y>c!Pw^IF44PWyux2c>kRTx?&viXG^atBZ*qL;Vu2Rsn3b zq$?<9+v0+_rz09xVD{#Z%oEaHYOxQA%d~dsoEUWzde~8WY9)pS8z*oLHMDr^_0!r`Z_zqN!z*pd2%! zCIbQ#hqITCBGT!N_FMEXjco40@Mu1y%dOA#N_C=JbECbIKV1g`=vQxmBr^{^e4VL_ zs%1@;%{=j5**n6+##>BSw|U$-}axfak637YQOVr4qMn_tRJSNa&RQ}B8`VNmV9!~7N7W7>jy z{6s?P390$0$<0xErSuvXc*7Dc+9MUj4vQ8@nb~Hs|4sYC7>PgE;m{`qseMCol+IX`C+aZTLLI2Rn4QO& z6f&qrjQ2Q?M<99JJ&uSG#?5%8pPhyrpPCen6o<}P2kw|+TRXF{eJR-4M(dO6h(OKp zZsmiY8jprOkHI?Tyu!8~|4c6j@0Jx)q0XyzikuKVF?e&S`qHg5hr=$HDv}bn8c#Aq z=hA16QKiOs#k7qseimV2TDG-q-PlXk`arnwI*Sc{h>E&I(ahjVD9a%s4<_0eKKbHH zpS!+~cM{U4gs9htkdC)j9uw1Z>oYowGO$RpjsO+E2<{xRCVu?0FVflZqd5<&6SHLW z1DT9xS584%+|*lOZjzr0O7ugbJrFc)d9h!8Px&=3beIU=p6tH0D`~R{U>gq0jwO1~ zUJ~$cp-TnmMl}J7cZjpIpOb6go5$MDaa#7qq)&!v%zISfA_Bq2b)l^A(Eo#%usRfKcjSa~f@f{(Of+jB9{{8@L7y{BdG<3?SfLdI}>O zGH8xZs7Ae^nxGDK1jWC(meqLt!S@fdF*QDJzDr@xZ}kZPs0$k-F3)4BY(QkQHVQ(2 z+k2|TpJLIA6^u%lvRAkZl&y$It%;8Q#`7*{!nLrTn}P{VoR%H5lkh08p)v#J7kUCb zK`#2o7G3*9>;?dkT5Z;00}KyXo*z`5#t}$rhgES|?1fMn-e74_(1KKNr)@^5-B0`- zf$Q(_RQ+c>Uoz-`Yv8cHDLvJ*3bHWuV@k!6xc&WY`;y&iS0Ef7p(^|o z*CqWB^g6T$2$QhXC4PNc`bZIo)L`g3-}l9V15hSwScCFbh)pqh<8^f<+b5fVdzOi# zO&_5t#2nF?7qA!k;LLIz0T9>hKJagR3Sg9O{)T*-?d>$DgyMd|?`TzV( zZ$YUv2ZDa$?;FY^=uC|aE8R>(bz$)92O1~fyDVUx)+u7C>Hj=iZ+I~eee4FV# zLcj4{^L34P9^@R@aVh8@9`vj7q}{OB;1f?0-p)eP$Z24l*?l#qo#LUo77lL=;*TZ0 zy3bMfL9qj4iYlZzlOtnuE$7y>{oKWho(zwL%en}uEAiD&E?6g_4^SKFnqTec#2m1I z;(^^aC~(9^Asqsx5|ZR7!W5t^$UZNRfQr9U5t%+8jyvK0J8`6_xF zSI8CIwhZL(;)?*9i(T!a*UW%NlU(43{KQC-*Ba=DtCQC*e(yc-^ziM+Q+~j1Lzj&5!LsgfNJC__sM+I?{GuB3C&97SwRW8a_ z<3yNdUq`nDOcoeZU=2hTYLro$VUL{KmIpRJS?LwdZ{yfaww*o)4akEaZmR1zdjF{W za_sBV3a6`(q@v=qMHZmz5_d4kt#1KeoM{6Ur3@S+uB<6RGA9T zO$5CrCn3$`tVOy`RP}JFmnS!U3?9Libn^(cv(BvT?|9MTKs+K34_}z5$fl@e z$d9~z_|m&*Bumf@;Upmy=l}ecU5TG~J^a_H0oblLc9$CzBoKa`$~*>8eh3HBxGxoS`!Mk=P(#-)N4j2O8bc%6!ng84P%Y=J3 zxz^z&kGM&NdNS6kWFz`jJXp$q)g)ZUcz}~b0Rim1jI1FjN+6IwU#Du)r9x304qZRy z<78aLHaD$CVk`P#stHW0vHM1wQ`^RO&pWB=mX{^(1e~GQ z`=~%>K8$U`#9^J)#^i;D5y@Jf%8^GYLlHlwU*QDKE|tIIBi--&gavjW+0=h(i-GD| z9ITuJNTKmvJt@!~r02|wpTcIZ(r#}sJqgyb={7w{3ECMCw>}yv&D*c-mz$4P=-+~A zpggY_r-=&&KTuz1w(FOi!VZW4-zAWYvIMcT^Q5|P1bN4Zssbnvt7Q9h+vYbfzm|^Z z3@>KhMo9={1mE!&^qTdES)sX7bQ*)$hzX51GR<5ve2PtG1zT#$9?0PJ%4fPzl8icJ z0;3MO599zCb;x$K#})uxOu`w3$V(%_)Shu6ACt1KTdB(<7O6i3ESoqF2nUzyu_EFA z>;6=ydNjx(U^jpq19(;Jq=F9Qu5o>%>|@m7lh`s`U$UKhP3D6HIPMoHZn z?^Y;foea>bs_Abz=30LB0}!?vKUxx3WZr03>HDIrK#RyHE=-_y_nGFy>;!`m;tf$f z-0bMa)adrvzGwg;h0jokQ2@x=Z#PdgrBK-1PkP%z-$JQcf_(}+BotI%&ONZ!bEMu! zwP-Kjvi@xV$be2Fmz>5>`E(JEumr17L+z)d#UgsI46&FPC0>}luzbq=6B$Q~8PMAG ztp~ATe-B{zTGZq^kwSLhOzbno`s9^i#OY-%(634*GYn^FnU5C2u#3hJT`JU@*uOeb z(H^9$6IdtoMke2Hh&SLp?E6B()DbSeX^qOT1i81jdX^?@OBK^u4Szur_^kZug`-$1 zp47s8_n$NdNb7FkD?$10R|vvaEB#>9)Me1QJ4}kWe!X|a5fFYx6M+Znwy&LYEE3Bo zy=-vl&;$1$2HsFIlw4>;=OKltpsj+=6D)Iw6l3*;?&jTT@H7(Vy` zmYs44Azy!qm2sRw*UTQ@yP6_lt+uyYCn|7M!yqOwR5wPcJkr$OEl@mlqL#s+>?1z* zy1^8dPu05Ei$n=W_~l&moUP+*E+d@GbG-c?mn*f>c9M8WK^~btcHl+}78}!}MR;JNqe8C)W0K8Z zb0S#6DP1?U;&n%kV=5!9@>+;DsJ6)qR^mqd4+C)qO(9$X&Y-u*K@ra5prb)?zviRP zCj*DhRiT>num70wv0MYm4GALnRNu~EX$R71PTzrW>wtw7tWJ%`HsW}fXP&663f4r` zEV^!4yAITD^K^uuW;Rzq?#`M(3u3%`VIT-jos_;-V9qKYiMjN~7q5*o>U8Oy?!Bm~ z#RmEo!x95=tMWzG7j{l#+mJONls(69pE|WcQAfzrd(u+MVv4IkMtYX=!|zl1?2XL1+4cxkQ3BnY^Ce5RBb{+o?r(??D*tjrajJgr++}b-G8!{A=1F|U|ak0v3<1B zZJD>w*_Ch)jI8sWDc@s!@+b*+58{`T?U~@5K#i?xBaY@A;j#tBe!}Y6+EQ6dUs7M8>sw<=SVpbB`pE z*X05z!=*_ngW@ILHvzXpV8@&Wy#_aKZb(V%40`dZ2%DMfMs>4@LRWe#5HYKmlfq)8 z*v_e*rmJG-Ywx+!R5lMP*z`TODV6MB_*=!jvNZwTlvQ0ghdh7|8zny;gu^c{*)7w`ye?#=>&-?r)Mx*IK0hY6ykvDp_azEe8$a5k`RTXSrh=9a}YBQ#UTtvT$ ziUb8kA~1TSq|+vN)8sP14GaS9eFB4LpK0!ZQNv8bbl!K1TI7Y59+Q*eFY-3f=TnUe z%5Z{COc4*Hp&$BwJun}7RA6!B9=WEvA>1S3>5Onc0Z#`M^<{G3Zuk;|qSn{}U%$=# zUygd+74nsAM?aKz?1k2;c`;&V{7kyh7rLP9q)!e}&)pg~(GexgLvdd8@gK>Uv21yU z?Dmd-8o+W&bJ6=N=J6OD@YAUOz)!nXN;gQe*r&hZkB>|Z>T(&(mi@ANs;uz4d(uDw zwQ)i}5{U>9N-gnkdoV}*6mw4G)Fv=YTCwuN;CHmKZP%;7jPV780A!0DF{u!`5r1`5 zzpPsOzysQ#I}snatvh5lMq(B@B4;8z@W2e_51Tvhp(-k2srdA(Y@QQ#>uy=PFRo< zo~T>c&-y0#;75^S=P<^#`uhx&4b=r%o{~N4wvA~Dz1tW3ZacT0csg}$Q%t*_=48`6 z!c5+ZGw10mrnrkDMPrr(BIt9rN0UZjH4GaR{2Y;`8lE$H$%iA+`ijMa{I2R)yq7qr zt5*Lnsn7qI2K_(%_i4=SNnqS0chPHSw5X&7Q{H)?im7|aFj3|1R{jB0d?rg(Rm`xL znTW&9qYhHTHx9YCi9iCb(jIPBlPOk^n5rzxE>|y~McWHcWu)iz;EYTgAD4%pw z!QFQ6UEi;M(;0|5eA(bqz{`<4lO1c-)iczOGG%?pJ8y%!MptNBJhBx@|y5u+WPu7+=8@;mTnzD5~T&aC*y45?!3+iWj?KWudscOP}@>YH$1aA z4o~i(9-ZwSCF8j`{h}5Jef$Q?hl^YlTh0x>2{27HCy_;#4Ct#nD}?QOwRU1NN#C5f zW3ju!7I+2-MB;t9Ab|^ar6QgqZm-sU{z*ugn!NV~Q{~P1{F@+b;+jwqSB3tJ7(Bc0d+74 z(ZqEwLIx<13;+grRJ(@EBOi$YZ=F5kAEwq`Ol5n8d2wWqKB)On1`Nlzzb~8~YKow; zic?LWV!+Ox%rl05iJi@6wB~hLP?P;ujD>3vMjQ>X_ga}^Zql&|s(V7(PCx_650qeWeYiyiic|HH{)8pJWta}0XdcJz>_hDC|I9xjL@Ny)J9Ot+W)3~(s zj;Q#ucc9*A0UMgM~BRbafx` z_bZkPG-)(rV6I|mdsAp9vG&AYV&-YPUSW(=H0F`A0c^0BF8j>|d1gd3${@P9UT zmV1A~i=q}~MrOd80id&<17`RD_^@fSK(X$W-mx2=27dn%!>QHL(y5kb8R@C!UFIuKfD-q*U!mGvI_9UXc;I2fT?} zAf`}mFi}dlHZt?blJz{Rt_i)Kp*uH4ywaA4mPT~8GEPg!9vm3)Jq}~D`l$ZMygIRq`09Jo(5oL z5@mun>Xw_^+tYYYGxA>CIiEW)KGlw(8mAhdxjEN>X2VF0>t3GcSB;hG{T?g&T`q!Y zp-h!k(5_H%qYyqJi#e)xx=KwX*|^6|t!q>NoP+CTX`JiEuHV;yK#U;;uytBMW+8&2 zN7_S&)s7GvLMGfWNAEgYULHXYRDYSImby-Qt17hw+^ZxU!ki#SMaw&Q>FVgGECD*z z-qyYme;vlRMaZB7*7D{z;s}7>m)p>{?*uF24*+LSe8k3$?)5y_j^(X~BM#~6Pv_N< z(1eYF@11`&hH%f6q@u_5xg2v0d-4T`Wg~ndjSx>0B0h9a#%-J0X-YuD$TJP-eZD@X zu{XN%MHLJV**Ls$*n?Ps1SGWNQ_IHj5!I&e&SdBHb5{*;zKYQVpj)?pUY)nY(tXY< z;|Nnd6+12+MnmP*zw4hX>@%71yyuXvacOrfCoX|hW?j-wvjB(hn_g60+*V=k9f8`< z)2^%lRf2BKYqMEcd=jTf=I4~DZpN|g^pfI`f#ahr)tn1u^lL?- zoh=XBn**;vLoz`lbSV@t4FN1KNY2Sv6LxN3+tdM{_udk_ecl|hF|0DFAF{IYvLx2T z)9=Zt;%`WMcok=`Y6sV>F?nwwIHCRB73BZ=Pr<@XE8eihhkc8$#yPHUUxlpc$DI#iO8?$OoyUGu z{$Sx#25XlLONwA#+>V2eW@6TKx`JR>`$6X(SKAZD4VJ9jCuXt_1@GNx6Es3O0uGd4 z&UJg$b(f7n!wm$|y8RuPiXLL*oK=V$W|?}u3%OSP3#MgTKuksMLAAWUA!WqfY-`XN*42qFL0$=4*KsP)Tt1+(=a9;6{;9Kdbs7c_ zAfyYyl9{oScEPWb44h8CerQ=z{6eey@kDjbAMI`w>Tl^T$fFJki%`6y#|uuW8r|#` ziTv(dYeZgdtogH)3-bo;E%X4Zn z*fs>!4-n9ee@dEwSTkU9N1v%ISn5vSR9V{uvncn(YPA zOpo9P=Q07|`sWho@_s}9x`zHk^r{OT?AZj|ZmKyY9kO$EvH^5bPzaMMe&U?2i_*D?xaJebUOmBO zeiw9JmmKx>w|PEM4c}22Gu>s8$L>s^=?d1_I~v$FiEiRTK4M$mX$oLXsD25Vk7`1; zP%ZMc%91*rtRPC(ky)5_AvxE-hs;X0VT)=3qxsDSK+IY(V9Mg@fLe7jC+&uVA7}!R zp*q5rs&$#{ok!mAtYJ}2h2HUgnX@CUXY0e;ny#0N*P9uP*)EmaACn6)<^^qdCH54iz4_r_ z;{Icq|9A3~>s`1oghsrG4^m4tK858f0Wsrv@Y zy57y5c6P*qS^KX)MaLq;g3k)DJja|E0G0kNiQ`%GGdWdriOSZXb( zAIJ?`b$u77S)6KwJsvL0d~x0-kuJ>!^z}WyWbwVgE92CR9`T`$>w`!IquGF64G2a= z!xMWDBk4Z2a%6aRi}|DGrN(2tYa%Ew;)^Y=_J8|dGgwX72l{{JCI1_u(#;>=45}g= z(!)1>l-uuxd_p~DPChf<&0>6XGN-rd6IC4K&J!a#cD=CEzz1+;9~G1VWXdG_da_@( z)Pb;3D&?HRhFBm;%aWj((@z4J3|Cb_Zrm2kvq{1`dq^RV8MSPzM!=~2eQmD{AQtc5 z97|Tu>3Z-EFpDn==WDqsuC#an@3CN+WP|=RwdAxWeKz0HWgRQHk=e3{!L+z${KE~V z;C7YC*M@y+r>P2;dVrjt-BRjnm2;9!r1nMpwcI4UVWwm~@g67xGQn=Fpy(l%b_u8{ z&pzVfG55bNTtUuhLbLf6uIi}5uOA+2srsTXaJe}kk(X_tb@fD&UU@Mc#QD%L1PuSfn?nIUJ*@#vrX16d6;11tNS(3}_sPZ2zv4#{6 zlyA@dppaS?5CW~x{Zw(^|L&w}k##3pmqFPJkHg$3mPkZc)rB{j5W3EEBO&hUCsu2^ax^hdBriZMq zs9jDL$6?=}hKLW~CkWBjN63X)a^Olg3rnM9NCKa32tO+g3tRMKka~FfRl6wc!ZvEg z94$*o%zOX04`mDitRhn$8?N8 z-)_#YJy#uIb)`vb`^2P3R*OP}QP&5>l|Dht!WizCpeJf)AK2=$xvTUCbm&(zMt1|i zr~|Njd#nI8)=DwS9I$@v!w@3Debss+mpBIm2(3WTu_Po)$KPKp$|kJR4kBu>eI zNMSVzqQ$@BSNIN01K8lSsSCj)UUtYArSuG%4@Vq7Q95+b{?~ZuJCK(?q&x!ydFdQbw6#&T>xG_{?D-9G#Ql;u zkJvnb10VUbx`41?m)gGCs=KAzkH0q6+Jjb`cbm{OVn<@(XwwZ>= z;#nN4G6{O6b%XZkr`7QbW(ntD}6Xy|5_M4M{cHKt`f$#$%hiwjKwC?=M%&%MS# zWfrV?5CMz_xbjC7t9C?LrMFL04o^>Q90=BCX3E?*27LS;584x3ES&?o}q{yrDA!{o_o#PL*Uh?cs>9Dt5xm2}F<7 zvbWI36#d|8)IJn+!tA1D`eQCEs2QkVFSP28?y4c1m{MGDL67x*DIrRzGj`Q*_% zTjIYVe1%n;1>n%A1CAU7Fr!}%)H;G{J}(rDuU!+JqomVh-=LPUnUwGk(lY6u=FD61 zOplcGpQ!On3<&S48?Ll{`t;+KuA$X5sc%ZZA!*p%r+GzLY?65yFi-@237I&Tt{b!O z+pR>{EtuF7x@h_gYTTQq23GlR2>mM9GMY?Pc8n3!tYSKL`UJ>_n*WLkR-5fc>Sp)b zqXx^&!%x2cb?3qZj-R*uok^nj3xL8rLyQ_-KZ~7u^&0}ji(0YRseX(U*l?hKIqZFd zjSK{Cl)koQUkaadcUF!{xS?cf^exOpvICSm0pc-Ty!TIVi!#-+tR_j zc#o4sM5FXY_&wMMSfW!q7Q8ACc-4}>UbW^<3}jlWdhhrS8itCn`H1-O;GNl#WUD7@ z)n!{BnP4BFf)GjIk`U=fM$@)>h~#5HZ@H0v6*9AKC31<3h}124Yaw;M)7;_p;|g(V z2JV47Ett11A5OKx!?CjpUj!#@(akM-LoyavaQ8((FrRmfv8`)4*nWA``u&p0$BWn! zQ^1q??1mXJ!icpJIAhh~1w^SN&!978v{nfB78-EEOFSMMZWwl#wpi@G^YWH{Al9_#XI^Bl}L zv#Jwv%;58ZvnlxMeeE7-mo9r~3f1)GC>2|mZi3Hk{pulTcGu;@-5I;_=cZQLICFEz z8g>Ax-i^61rVxAeVTV-lXE!oo#1j%0GRoI338)P!%Bq$!op#D$%Y_=d>MfJ_Loy454qEX)@=yuSNVC7SiEv6GN9MV}tJcOop z`t;2RtBYG*;?oeamSC^|7m6l{5_FtLqbVERcUOzZ!bpUgrCnKX+RG;V!PbnKGjeEaM*%&Zi&*pNusJ1D?Wqpk=8 zdi6k7^j=5QDrbc%*7r{t8=zxZJc&`>X=z2DPPiQyh^T*>LVDy|3loW8 z&Rzte(=MXgZ=A^e`Lr6M`}_P&b-Rl=fm>Tlb)tciZPm`%7=FN!dtL4muDu%4 zuoucUMFsH22P@4pjm_j-{Ykus`gJlMoZ`WWT#led0WL=Aq}?E}a2YT=fvWNfBUjdY z#s$gsR_EgO!*f4blud`|Oy+eyn!u_M8OIQcc#I(?vv zI`c5RT$sI9*T@-!g%tjwhG?$ zR+FJ>kK=e8mvS9thA;RWk4Rd2#X4;he3MH_v92SF3z(?6{yJ$b1a_=`Vn*OQbzzTj z*RY_& zzbCUd4?a*IL+GjOU$L)S&w`&Plj^aozCLDQ#w9wR-z~LMHM(P3aX;Q4d7xtVVy5ua zR(vg&uTzWpOGoo`%X;r4qBzHKhj|RTO@9&3lsQS~N{L-q|qDxA#;kW-Zm}w?dXvr~6r^D+& zU5EX4Np1F_QA=&-qp6C^Cror3UmTTahoj8qIHWi`>;XqEH#S zV4C2&eAI|Hb-3Z&36GMG9O_D>H-9ACjC9!^j6ja#`K?T=jm|RnqcPLA_WcRZf(;Yl zitTVrf}{@#&yGP&MlUVPKbh8E>icX~&@b|6p*VTp(Zfk3KD9Sh$`a7e#iPL^2j16) z&c5F5j}H5#a41i6rgZGc-2gink!xP=PuuDLYl8WI5!D9vPW_{Juq- z$E8~3+;(c8vQn1aLvEfY@?cm!JdPZsMzXJ+)fi=aE33z%BLN9W-s^{B2oaB=;NU#P zSl*%p)+~4-UB}LP) z9DiDJ>SY)IbAFc~+f%oExOkQhgAT56CU78BBChXqY5|RhJ7NY9p=U4(cWcj9@H;=w z-naNOEGq66`$Ne6cM$imI#}Gj>e{YG6f^()QKZ>hoiynE*N@?-fg25b_-{dw{cKwrX%Q5~g=rH*c& zbn*_CMQTl`iZ?3zY(`f2r+N=I1&oTOszQvJQ`Uu)3LU^YXYH4uu$ig7zXqH6SdJR_ zHbH89@*9$whWMoXYvBYCp+??FmroWq)#L*jR1Iy*j)vtRL8=Eh(KXe=cOj;_>ViJa z@#h)_@DZP=y_1WnGN1C(PPvOd@cvQXCL+R%^hl6J+R-@~V)k`K$I-3NSW3(S)^X+6 zkzyb^1geC*=}(XyPc${4LG5tpxQp{*v4!uq%d^cXPJzSaZFf8}W%bP)K{lujXvyi3 zia=K>>`Fgg9Xo-bJtKvJbO!*i9;0qC^=VQUyPX}Z^g%F_rG;O4m zZ-)Y0Pi|+FYvYIQ=)haxH>73Z4Hbki(Yy=)a=reL38WQB01jYOl+TwRYP|T-z_9W5 zi(7hpdaP%3gh^sJnEd1@IgSR5GF}i(03mAe8xm*gwPS?+s{!OIGy^{e1*=Vy<5N@K zP+eLE8%NB(_nz&YK0m~#uTnIWtS#Q%+w8ZsNXJfmw+{ycNkHh2wpoWtKwid3>`5TJ z8*nf=jCM47U68-uTKldd1imng)dALnm!Ez9o}@DQ414{?8uvM%={4> zh0ko{muPdY&U<*0O%-n#cBccC*7yS&K*29!P&62ra}RSzi%$Y;1O0qKz?S^u}((8A?PZ{KFYtJYQO-`STcjC=3qjwpSYtGGZf391g*bfnz% z&xx?OkU<()ZxMrSy|76PBsbwc)kOZCfzR*YbmATn{p$HxN z1{0&$Oz=~cdj+JIzMC^dNdi-=gA#k@FdT ziF4mLza^@83RT{FOXDQ(c0Am$7=4&|T+O+sJE2s9X|81YNLOIW$gnl{>LmRAUdy{FVe=|Cu=|6=2Qcah%jX<64-8&A zck%8BADjXW84Xo?#55~sI8cs`!5_L$V{&l(ZvO0Z)f+X-MtjR@kI?kXsKI9@b`IPe9@y)1 zai=GdyiZYR$Ml5(tlqTOls|B)H!TUtb5JSa%FykkC}#cwvm=IX6p>Xv?v_AS(+8bVMh@$Lmx&~9# z)PoD!KxdVyl7@g|j{louo`;7ii#HCcEbI`N=daKEgzUMxbsE!}__bT7cGv z&eHW(HWsa}oS+i!DvEdmIGmvMdp63QmnR|B7DAtP4rTqhGP;Navig$riVkpP>xzzO zEO21cVr1<9^rhJVhPBvn+!1TlHxYTwK5ntqqz|1R=AlgZ#@Bv?COij5Jf*qpIyKg^ zqD%hd2eBsZ_{T%o=-_xV=^dYN`Hc7%qTR|b$@ITuPqHQo%^>kk7XcreLEeL^U3aQ} z7UpaT1vP*X&+mBW=zh6Hu2Re!+9<^gp@Vf6LU?GsnqsYT#ZO9PAfUGcRnxC7NF3v(u{`6Mc0 z!jR0@3@W;s+p-&B%kd8p=1f7<%x+f4@dT~N3AtHDo z{*!EAl;U)`bWAORiblooPd591*}nH$?&_+RW7CQd^eks72aAdujBAp}42s*{QGq!I zoE{A1?g{9Bjt?jQ93Q9w<2S6OLb2>lz>Dtnp`r`yU0ep(YNmMEI&V-<*rHW#+Kgod z*LY3!p%Y)yy*6J%xW4*6Bhh)uH4_6)mBr`N*s7Xrtp;7+?a$#`$}IWb*NQ6U0VW}? zbFe=W-o$TeqExLW{^Xku%0mh~*Y{jMo)A$JVhh2$l=Q{`GrSzyBYpONIz0wfs2{M_ zqTnu2ojnRIhN&duXFA=Yv2?2^sgGfhkKq`bEJeO8l5hoDl-@~PHFgDq1-ze68^CfzZ>WF)^3)FyY>b8J!Pr7erf69@~FI)|o z*@>DQFvqDSq8*;~67qqLU!LXhvo?Y$nq0y3!{LA~4qLI#&Ia+~#AkX9fL7l$EVDRJ zEx_f%6U8@|>a865`F^UUMa{eYoo^r#vinHTvfGy7h$2GxM267HhC|ZL!vddqO@!(j zpuhMxwk4n)YNvf&>wPl$Kg2edp?{copE+Kf4lS8%h2CK=NW2&qC;W7h>t|^u2lZ^9 z!8^+1^`}XiZGxxDR1f%Ff{p@;xCHC;z{mHlH$&YqAU`I@v{e&PQ1kft`BFns6VM*J z>7n8c=ziFHF4fz>ocA&sl-|h>0<0|M@(m^h-hg>dO}R_tV=wc&skUhiBpdgY4mVcj zTM7G)(r=lv;fn|nT#Z6nW=91d%Qkn=FA;7xpOM&8nqlkurvHMi?ZL>A5g9>y4X>;+%3Zt`_6tMDYc3hdZbUH#-Aer z=(?b4N2mXRs)bbWSJ5JMut@+u;zfx!@Zi0D@*C~I_#F49-f zR!_}TbIMcv12g~H3e^s=AAEfyuq_dju$0OUTvy9= zg)6yHyK7?Sy8`rivcC7}pjVla0(9=JVB+lEGVsd}uoU@rdN*QK?-*+1U@XuXCD)pP z{yO=t&Km*}uBYv^mvRg!SEEkN`*WHE0Jr}3M!M7)(Ap6!Hqbi79-2Yf%y{WodxTg< zk;~&wKaBa9Hu%#fv2Hu8tI+?}IswF*aMT!amt#9^4xoCcF04I}0g06nH$Y{4q~sLn zucP0<3Hpx-vy`T2R>kgc?7KGV=pf7MWoI+5Zx|BR0=o*n&VhhB?7A$#^P`|~O8V** z)Kt$;Fxs8Ko@r0@^Tel7>E58*DqdrDO z_-}w7u%=Fu_S-@O?_@4{99LRD&4NnGf}4@wWN@U67o5{C6>WBP7QBr!X-Lp@+RPom zg4VCtzgoXS+k?(x&a0^vmnQeFEtYLs&dC(pKAsAmfyFdF8 zrfDooEpOYHV&Sr@>-A|m`IKxE%KIU!2=l5wk!vpF?f*yKdqy?=wOxaucY+k@MFCN1 z(xelLQba&e=~Ymgbdg94ML?+n0*X`x0V$E*dkIJt5F{Wi6ls!B1BBdj_}}+DGw-}> z-u28{@3;BD2Lk*^@;fd-|KlFresc#(zVm0~7bS^%XL_hJ~2pqfBFa9y5+uKt%^p6wb}h!DUR+O`2#c z2826~mo)V{<6}DnQzAx<-Cz*HwXd#q@&mrb<{zUa?CO%GxKgH^9fj!k;-)@?3@q@! z9>)k0h0j?>@2QFRKxe-QRKi14?I*A5(9i19<&8zsgc|&=$ZcpwLVQtH`=#-S1)a#6 ztf!mCZdrGJ{LPncHrW+WM-`L2OG+8BI8c&O=YfWXu)+}?N*_140)PLumVRa~k#Dja z9h~=&F)$^^G9twfhTO}Gm_km_Dttqv zgxhv={Twb4JBfT(XXuzF>cXULwL27L>|-R7`Lx;LKXHhOCr{*wv92fRP?e*01T{f* zp~bpJpS`)MiP~7c(a%#;Pg1WTe0}04jFrHIZF_w%kY!=+xh>L&kanz1B9-AY z|MuNbZ+UOBMJetcRW_V^kt$k+yOhDCXGfy^$DQse!~EMx;SaAT=n6Tm)`KUP&4M?V zj4l5%)vV>6zabMQ+|yDO-jt~PdUwW+FW)f$lbPe&6J&(bU0Z^^9yz-Om?#hw5}4TO zNl&<0gVSil);6e>6?f1$W9scszrmgESNM2&&qF5XV_RwQ4&5iqC(XOI=CfA5(lfeY zoTsgvmgGkrs30e~MHoo~z9#qZ7*GU1q)mUxlC0U#;pGcfIq-}M zVa3}*W5xffz>u@9=y$YZ8WaPeU%U8~62*PGzO7C1I0i-nZ?p9OQjplX0L6JQrtK9U zFYe1XKg)GbafxZo?~}v1`eBh`oJIolj*meAW2nkVXB#_D@8GPW@$Qe0kpMrU_*=mR>Y{`fVj_BOIm2p^1k(mvF{)Be^506n+QTr-^{%jO9N$ z_vF-MJIea6j_dy}UBdZwyb%}Fxc;=NTpV*v^rq;k)im&Ezd1fUMlHy>_9b}pZS`3e zL6V`{#{luw>hiazZ+?^3^S*gR#jnW_$jeF+TMm!7g)Mj`y(#}~{jmG>CuynWuu;as zFtfuP)@C+;?{oTgbU>6`-5;W-!1ESDaQhB(gB{c05p$gXFt@b1(6*vdBrT#3d5*Kd zu#=cc8F1I)ASf@Yy4|k(*vr0Vkbt(*@Igiy|N0)PG5jLocggo>fSCy^|743dD9@kW zxT*X#YAsLAto>+&t>n})c!&N>qU|sh4(8K)f{UG7p+7FkPu*Kb`_=2i{ZpzTH@+&R zv>z>)+(obwE(jI#ga}qiEMM)nlQ|G1ZFa+;fTu3d9G z1C#aSimp)?oadR_#OJw%ur$`;Zhe|Jdi`?9yU8Uink4LCjiY1OI|e(C*9-wSV)WSm zSn^*GZluOp5tLy0UZ*^dofsw@RHM%Cg%`XtR_#e=W{wZ;&hY8wV`pd@WZ1hn(x6!O z9eDq*fjGba!lb}VzZEvNAMDVXUfU{^-ZxID5=x<*Sz%jNP|MxtS^L5OhyCXrZ303f z1papbVw)e}_u3<3Q`b4QdMq8P);reBvgihc3Zr;`qo<8OJRU=N)+Nk;WgdT6Z}L~@ zCBg8PB!eG&VMop=fOGJMB=K@B3}_XFYY_)H7%|%BqdJd1oUV&YzN;yR(P~wdM|*76 zK%FI_LUQD#O(_-kP-|%WTa2M%t_7#+_0sp1#{r*pVEn10}W5}Gp@H}n8Bey1;hQ52~$f{^~E-(Y* zoC_^b6CebPKOa2|VZJ>f(W}wub?a(yQ`_zlk}YLPK91YW{lRGn&g0Dn|1w{P+Fuy$ z3iu=aaiS7_Zg}?AQQFj9nls?^G5>|a2|m7re68~2bNPo-@xr&2Z^B|Om(`O}DXP_U z{!r()BQWD+ZG^DANs=F%gfG@XDukrN!hJVxAPj%bP4&X)2!8$xMoe^lrXyAF$s0re z1>tfk+P9wwd2}!zT{8sh&bZ5!mf|H+^ZtpMA5~-0uY{#g**|~_{f7&XH3_LHHTx6r z44qKolQ#J+uBrjGplX!6qs}wm3uU>zh#+-km(a*wWGJOIl>SRS!WSWeMaJv(_itLa z^&t6Y@jKRg4>_LC7!SBXgY(Z0k6?v&mi}oakO98@3Gl=8lRTwtBgQARenftN{f`gi zk~Sxrp5+8dB8rXt8CF5+ts>&Gh~{e}t0#IWj7?XV3EW}bo|p?1B^-L!je-832YQMKBT^U*KI?1yg+edCUh zfgnT9!xv-lPwS`?lVdvvXh=G&f2S>UOKv7!tFv)7V~B9U?j>@NcA6qQ@*ku(BRA`Y zU{Vpyoo`7fD?`s%3s8I(N^V%sB#SxjI`mb*7u)a9W55BIv7!}=R-Ii>@E!^*00UY^KsWUoNQC9j2ef90 z%y|99-#KrHGmAqZ1`hXY<1?t# zLH379dV)}3;PB3H*uSa5A$-k0RH5y`nIxbJOZK5Wc&BdDc&ATpH;>Y<7YypXozXES z;UTiE&a(oLj9%;UwZ=zxKX5*Y?-WbXVu`5VXVft15O|K6Y)(1%yLBfcHo<`3ttU88 zuG5Zu}{>XJ+OM z-HZ#%_}FbDhuw)P7mTp_S+=#B9-MU2RYFweew#20q8no|pNc zSJyj4IliZ%zNim*&2t1@TcA7hnLF*_!u&zM!fmTrIu4hF(in4d{DE>F^#q+^PZN3Z z@Do>)|Hyw|;!A?J>G@9}xr~_hY+AfU>-7qEk?y^Xx{9`s6s5zgGDUqVmzU$5IJa%u zmTWoTh%V{dd<|bUo(Q#9iY})C7)cd_U+WMdidxeVJ8%BOXI7l$8xgEU+uYy?U?gxN zs0#>IUWa>8T?SL`=C({BEY2Z{6ZUOw*?%WDgmwqh{;K&6t6vJ^ zaok5)9GiC9?%s4JV9r1qH%HA82v4|~cnZVY8cuBQ2sckiUZk2|zO!+mZ$0y>YVc+& zjz4B!lKv%??N5OUnY96CC&`3*GPO^&n=2#e*O(>oA}Ybto04ao!jQn$4>b@br^Z`KM9!TtoJdTyB!iGa`G%L-n>QDZU#+xwQSBjLZy}a1xdXKf z%W=#>B03ZFeA_D^%ZR5ssKT8mxlo^RKr+J~v_|!!Y-%!AU(oP4c+H}6$wQ?B1Ewr( zNkrKc$yZy?{^EgeNROD*wU zLEExz*iO5+Tw=0*`SrbI98!g6o3{!z+1xm_Sl2l%@z@A&q%t&ib^7pidWg|oOw8z6 zX+JaE`31}caBY4zq#)im9)pNN%g65X!tT^FPk(uzC(cJUs0%U9xv9Z%e=3_w)wdUQ zssM*er%%e=goHnQ>7X|MqD8Wu%0H}GZP2&LpcYh}`j(x*GlY{MH%hp_xUH<6Gg2LE zKwF!vdF=cS(iHM6{05Z`y!;yMDX`85pv>(70f2Ve!>?D#;&A?5s?hE^j&Gx1_R8$W zADN8leiUbd(EDbFQ!18=5IMWlLG3wL_%BEh>KyM@|4`=(#_UkwP1f4eGEA!c&r%E4 zKT@=GyeGRr=FI8AsDYAOX~UL>upxeE0#bVvC_CkThWrFVD;Ef#+ALz<(sW3c%eSm1w__1TOfFtAM}C_2|2CGdAPqyba&(v~2a6N%Wrhu9UfT{OT)brVO_ z=r@6X8HB&%36cxsK?g|{m^o)KBxL3D{Icx6cyYd2I@{l4Cv$B)W1?JeA(4>WLPe}^ zBgVOIH{GMK)+UbMtxDUw-w=aFUrJ9iL4Q>p0^BaPvY8ElHSG@|_@T$Ut>)4Uc6XF) z%J?-u;`e~9B=8oqk;G1>U`7~#YFXE2GPp`hwJEN|VFlpnsXx9p-T+SjUId?Ph7H6! z1i`=$R(1Rvn|}MaDiNSRU@#jNrp`fR#-61|2Ep7uug8Fh=vs18lvsCW6~B+3ink?a zL60!xF@B`WL`@uf)*D|O&14kOC=;bkbt!s$t{LQcv;h#i&jp%8R{;mmQW9eb;&MA$ zxhk-U(cAm(GJ`idk}b5-UWkaHHUdpnB!O)fG``wh#tPe-XJ6iyYA0-7*j2Xa1Nur9jf@qxsMfSeV8xmhguE5Yku^)kG( zA&pz#)v>ARf%s-qU|(b{l+nnRi4Hm+eQ->Ekd~|!YIev2QP?k!0~Kvh|LG&JUJm{T z{jMz`(c*v5@BTmJOwWlFxZ%2mA$2PkcK(K^l$Pc+QUfzdXF76&_tp6yz?Cs|Q3vqP zvF1<5Bn}C4PD3nAid~E!R7sG!<9_k-53JFCXJzvw74+Yi$!0_0$XBkGZpGVHE!Df7 zsAi9c#CIe|Bd&QxuILvZBZ_R%Xh&w1^;BspE61s>wi&L%GjdPZ&M6{Z!`ILIc}Mxv z!JQe&|kl=w&nOpA@VkzKHw#la zHQC=6Du_skmn?YW&gpxaA|m{jNAoNSF`nrB))iAg2);xSO#{WRiyxg>Hyt3?k{Od&7E8 z-%nL7R4ePar(@NG+$o*g`vksg!X)obE`SdB0E#HV+b#lGAH!|#p==yVE8L&r*A(kR z5DVI&YBQtF5Axt)%LeR^s@ve965n(=id1R7W)vo>h!@!EJt^8m2iFYhKv`2lzXwwz zv)i6Z9$y0-&ABZ0j~*bGpvT;PIVZ#%05$=T&C7$AXyV9|QJ*$y(?^)-H_5|dB1SXz zKwp?Zh9%aNS-a{L&70RuM42S0mgbF!X)k62mswCTgH7=G`bEGQ=D1XWU2STTm1Hdh zf>+JMi<&EymHqy`GOC&Mp^sGMY>5=3$m46}pQy%1P)P4#uiCH?<+{Dn^`WqKZ*=kF zs>mvN+?oQR1VooXK@F~kkN!Vf@_+bWg-~O!q%JAS@iW3BPJQo%U%n8ue1*+3^`k3B zg~t&qvvJ!WjfxMF|2!v`T~hXIdN!BhQ<@zI*@oz<=k#JCK|Ee`wRbrOj14pdthEa7 zfgZI3@smHR7Ibm6nHPyF?Rfd} zr7!KbS9c#$_j8D>kcp5d1iL~xf}o>8`b%{2_DD~$f=2f}oeRdLXTLnCIQQ3W3IXbf z4iBMq1|z@pN`vz0=_xZ&yJ?T}9=-1U3mGAw6zQHP34%?in0g17!*fpg?=?J1Hd9$% z#*ln#PkKvL$F}_lS9cDVfrAZVA3)o4rt_$apM(G#Cs=yE%){q`NTkNsFHe@2m_~-<1zlaJyx}u-U(Zd>T--2!kf&7uBX5R%MnGh%Yr>Fi?9wpec zRNk_E9q}hW7ix-k$AS`l1sSuAl=WoEdVDg$`M7Q`C5pc%5|SAZ;x~$4Tj-6(FoYO9 zc57-<{*ZdB^D=Fpdb>(QL?{(s>fT7F?SI6$AQmDxpAx7rgM_j2>e#t9_fqbGnSOW6 z!5GCmU!!?Bwjr6ItL+-ylSqnZd4OY@2)eyQ_Q`hk79BD>VuBS%Br>}~c7eJC24-=&V@?!{>6cF-7FE(c)x`*d;PMvEGhafL? zB8lYqK&>fpKbgQ__+heG1?tkHdkZUiXp)7!m~ng<7I6z#TPbH*Qc|M)DNOjr+gtA! z^%ydl6qZ_;V<5YU36QiUQ<~VmXM~85JCT(I{tl8^;zX6g(3yQ6@+qno4#KqLsjoggUqnH(GlMw+qv7^l+OIF zr4gg4kcCsO!*g?z|Bklc|I6=;OxBdiXx3V0*$~ma7v1yL-d;{wPccuMQ^lqZ{^;^t zGLSHTV$XHi`jS}p0z_s4Fn?$iQPYN>yMEV60a#`V!}UO~{(voI@h(6KlKISfSH3gr zZG>o8Opx>t^zknX@x}Ol#I_%Xjtwrd zGJ7e?#pN(H^K7vN-Opz>gq&I+;^F?is26xk?4GaukYoPxf!bZGoZ)7>?9Na%B9)-5 zsT{WFLn|--d4(9FYN1~>WT8AQRG}?ajq^v4{$dLIYd?zdOSP#_61HcrccWI;M97)E zBW&aV;B8x+KVuz`JpC(4yxzEjZcbXX=3$K52j@#IG6Q%p*fIsl{gB%sMZ+H}Ua76A zy0q( zCexK6UKssc*+9h5)Y9$YudoEYHKCLZy(={o!r~xF9)^vKj<2SXjn~!_w7p@#T59D3vekX0{`_$#rHPE-kHlIWg&;Q%bvc(z0d`h{G>hw z;+XdIsS16C$an@4^wL>6a`t7{`SBNXFjk)1N_PkfudfM)wFE=0M-ld3v`^kK@LJOPn3RrgVX z0^X1d1-;km(x?w-`5t)}ZA`Nc<1qu%aesf0bCkmHW+4oqzW=NXd?bL$1{Y5L1z=Il zwdyh3?|TD-b8+Vx+5ywQH3Hq(e&+Y9uv~>N$47`p%wCvyc(977igjA_`(pTF){yG# z$mRpU%97ZXoEUNxA|^C6DyCOR3SLMGAl1`Vos6K<4$I_ouhzds?Vs4msS^ z5GxWjZdj2@cs*dGvX|-ML%F8<&W=$DqV^?)cu^z*_Qz!mh82hPRuI)1Y+s#Vt_g%u zV@5|f9J#LOYv~-_m+>zFsDej}H`@1B! zSxvGhxecg(!O4&RozmMEv-C$M2@qu5hew(|o zn|KYcj6sET1xJJ^MTDHdNEOoJFykuOa4Tn!$aoM08+`Zw(l{SdNY zFGaOfpcP$o3N`JPZ}p7d-v7X5z3n8Fl=dnqS$Yr}6gM@RiVdmVxl$D{tS?m`l+q8A z0wfKQ0ngrY=ktWBd?xAJGd?(3+`NRgC;!m)-#PGEM)jn5|P=WtuPunb&F z(^qtitG+ugwb8zi@)la=^DjshC#u_jt?bn_P;e*LLpgZo#3$tuBm1BZp3%;QehPuY zsX8qrYP^g8*qr~5m>W5bN#2lW%Ww0Sfn)nzOF*mP*~jU&MQ1dI7`!^tHehQ8T8>a0 z)nZQAQ=Gxd&z(5C9}*J3W)0kgUhBS46q9Zb)f2Ar}a0*pSpElZky>mM)}?MehqC=_{9JY11z04QuPD(4S!V`oZx(Qf|65 zoIoOQBa=y)xTIxkGfHBHM#ZYYK3UUQTUvaptiR6xJ$vzfZFV&IsmV}~CC=qNK_ADs z1$rJ^5m+ivu{Hi6nC80qGkE5^U6dcc{?~aS%R2O+U9KHqnyA#J5vEx;(XUp&^nD}5 zT*GfmD9lQ0OGB2LVGFi^yrlbgSl1~#X{bs``#ia98x0uacv7Pud+c8MSVx1aI;+pBEyXd%_~;EeNRw7R!o=*myLD$=3CDe@Dlz}1lKX!0Whx!XM5uwA zX+M9p#z>F*JtqMjN|~7>y|GZWk7Gd&i$jmG7A^t5BY*c(yt+4B+RfNZ_Q1_X_=l{> z8@V!*5hIsM2X>b07s-k_)edlNU90w(5h&Z^!qYpmj)C7lHIAUA0Q6U05qc{SO*Xy^ zOvzKnRh}%Cnc$x75BVE5H3Yqj;f{Rzj6M_MHbRtw({)FUPEK zzQ?FQeBf+Nwp4#gP0cDCh0ToksJHiMPdh_thb9lUMKlu><+AQfb_fgKFBg7DuX9gY z+wD%P{aNvJV&WESO0`SUTU8mcYLcB3L_9&V=r_v69=Tp8FP&A)>VI``Z4}~`iwwoQ zi2wN`rZO{}ky`HPzrPp%cN+BfejWtN>qI*JJfO3rHm{AY|KMO8fDu#QHlLi6!`4jT zX3+S=JJ~K~mvwlTpADjNAv`HIyr(8j0Fmi@)*hTQtA0wCEp4@TfMhkfs&%bn3)rJtUu0)>nx!KQve9Nv&;Wy#Z0O#E|y$vy~tcm$P#%=lJ8vTXR`^7?w5A7I(BhCJ4e?_SC zQ1wbu{Rz4L!#+6hkpcgfp#}FeucpKnr7=gSZ&-qF63Q#+)A*uDm}7mUPInWHzfyVM z9AqeEGz7aF61{GjQ2@7C4v)aKg?Dc9XD*M zPoC5jX6}+^nBnG79LaV zv*LV5EL%)T<#9%gDC8HtN&_%Yr3mU#=MU<+{5=Nu&C&jC`|^cN;}_-71&8J~+UFOO zrbp5RgcA(Ohao4B8>%JExr~-ew$abqSn-CdD9eVMCO?P->x;AkPpBAu)CEX=pq^Uc zD#}DQSQzY2(R$m_1dQO*0zJ(1w~eO0F#QO*L{G99HKm~TSpc}#07H^*!g%*QSAGU} z!Zq?;Zea~EdFRvjeLizedE^xe>k+*Qa$SfnIdJHX4#9||pcBt#owIc&*pDsI+vCk) zP>M$>kUBwvMMrxeUj8|Z)ylR}l8gGWby1xhgNgovk=F#2RwKW(zpsTGJM>4xnJIHXO z-nys2Wb`r@u5C!Q^JnP;bBZHCJ^pd|fxxN(Jl?ELQ@~$2ff@`7E*UsQ{XNDAu5a52 z1Kg;EaJiY?_{#rY%SWBnH(lY8Qdu*N4!oP(M3#AK#ORMth=m|qj1A}K**mZ&+jcL9 zZ_d4*T2r}}ELL>5yd0Q;a|L8pHft!tNZUf;}g@TPxOx;k@0ME3o7tMfWolF@g9{N_NZf0jdGMl zcRWAMYxrq~i&Fn3$VHU;4G1K_Ur}!C2VgUIPEA~-87y@sHN;up%H>&kMVfsRI^8)F z?JU_wzP4el#id97t&UBpnDq=dI$jevEnNR~%3{ldPf?#xkt;FyvN5?s(XB%z7{&X+ z$Sc^HOyWPOeCHjF|MxFZqpkqT&r8-8;_|w6E`NnpAPV)OFFWdu_&P)Ap9BJoczFjmUs)DNlMf^PBQ`8O$Rl^EV@M4@n#UJw_zD)^?E~ zgjL5efVzZt+J$jvRW7T$qN-cBpFEw4XW7w-ujM?!Nz3v@ie>9do+i%OWRy@A3Mg4b zv7YUGT%&UOWky;!S+2A1I?HKcDbHw8BA3i|UmWd!4Y_odBfD*C+0s@sxmua9Ve+y6 zR3XLQ!;s^fLciSFd=*P2K|4vF3F#oA4TniTZY|7(N&^Zf&=9LuiO!u6o{$LVSQO_^ z6C9aSpa)wRjEFP<`<-Y*ZieUED1`fu>r`qT1an0&~=2 z9cF8S0!|4nhEnM`x<&tp@@8|uoMDu$nFD)IZ`D@yb1MHz9+X!QU;z+Rfe&%2qKxcu z7r#I4k5c+Z#U1?)MKvS9UsN8r^eh1|mOBL{dgX*fvm5USC8R1E}Sy!WC3 zdv~>8i?N@Su2htm{Za|76d&sBwPLI%kDEfx z)Baw<$1hImIEvhh^eLpG2o?OJ(Q#PThNd;=UTQ5bAHL-Vxi|EdDmj{L)G-A=N;RQm z8q*9bwL1HFXL5gYCcL1zBrrb-dk!>V-JTIj{_#PYa$&_og|h=3<~WWd05pwB?CT(Q zhbsQVA^vzbK@@0BN8NOED7GxV?%k23!LLa}g>L-?Aa!7;E#x`SCRF|O@O!fpnfb{v zy6*z%hEM)mBS;*k#f6}QS1g3jSaW@w5E=iQEyeT8NXoIDM3+21pOH}kTt8SX27+s& z3mG|i8jGCXFjX2n>UR@(ueJQTOM17#t{dy+X1iq6aR%!>LA$o0rPq(t%n}|KuhKwH z3(4b{6fnrWee_kb-XP^um`kH!olB9m+k-jb>hSx}x0h$X`?TG7?423x=D+0B$pAwI zRC9gYka0QEV}G~8q$_mKrMwV*Mx*a%{Lrnx}Wd0PA!IIkH6m85JkD}pr;^-mZ0zbq}VN6AXdHM z_Nnxca*^IW<_@nxN)4f9KEfetP|316AgiQzE3WDiNTn+jd>hDhV2jSs_T>9@yZPAV zOCC)&iFAK5RV&qsI#&q)d6IX$>(~|CO4?UCP(fufcO%sl(bPUKcf!DdXK`|+l`2Lj z>UOe-xurNqjqiVv9wg2`9(VLa&Cz56_V|;VVL@`-z#se z@ESgPw-B+Z&TmC{fVXwRk(7x9uFIY_-Me>3aE}c%V`+?a6xS39r`|UaRn{5Sx29}_ zGT>|-$#PW}(sMB5 zNVzKDMEcbd-qvL*lYfzTY3yl+33U<*JWnYF2*k&z29Dfz5R3)=W>iaa+w~VS*)s3e z_-Yofck@IfYJst7SEbanbkD;q!^64Z`Ab35D`r!wQF^3Ri@3z7D<3XJbXz>E?CZF| ze0b%l&;o>{UlB=pmiPBcde}j}wcR_jYW=XpCu-sh2OP^CRw? z%|Vk^unDn(P0B5C^us9OH}QHxM{<={$==}eu)70Gd>`EzdS=s1FM15o|7mJxh;RR* z?He}Bq%*;<6np3#dMC<=_4|)-`LELyLIGsW3#SWHEkD#b@0EXCjHgA@NIb3@-@2^J ztp7&y>(|h)bjg$fi~$+t*|ON?xC<(JpR4#{B$vQ^BIf4`e@)!jmDF7AN`?5<4iba>Q^T)TL)8vjTWiM4Y&P#TL{0vdYBbNMj!g+mhO?!qxGX;QQqlj+900Am z4bX^b1i_&p+vrsY+1{1ZNoTf|+2tL3=7pRG{Ydsr;Nj8YiFAK{YTDQeE<}DhHY9M% zW;Uh06p1%b0Sz>*EAfEW!y#~w7IWCXq!KCMLe0ay8W$I=vVOhBsMRc40r#l%^xE2+ zL%xB&3^k4P)l~|&?*BC+t!!JA!y?b<(egwpAPwy?eMQi0$O48^NNUdv?L86NX&--x zaJyQrox?cW(tJE5xDdzQkrtwg-8r;g-g#!Mp~52YyP{oyxq&2#1DDg=Tu0>mBzeLG zdUy~3Bzcgx@mF>vJAacbzj(3B@dN6 zw$=Gvf^@NS=@=-Dk;7M;;Dl+!m@)PS9orBxcv?U1jUje{ zPJ*uxAHMqHEWMgxyw88`{YQzAC(H&lMn&A(R2pIHHsXn%lc8#8Y)Il4xK`)Iw43R! z&%`fD%S}`=lrmc9izq;rbJVW`qiYpWa1(C+*G=Fm=w3Ut8LN`bkz0>%_1(LgY<2CB zgM(LrZK)ZNqR#&ezo|7wa99{95uN!N^&Q?l@FIa0m0)srjY8+aF!f)hsVGoOe#Azf zu`!75MuW)Aha=uFg7g?v5iGjRfz!3W$7?Gmfu?VWWI)u0EN$iaGZrLeMAHR7x+tT4 z#j;yq=WSN!Z3u?5gG>R%xnspnkhx{MFAI93p=4nE)YRcrsR`D(DZVvS>+;TV4WhUZ zXj*WOip&!`qWul;);0+TVUC3$oCz7)sOkQJ-AMIHnC%8^=2>#w&N)T#PUr^C14Fe>E#N zYG>kPCp{3ZZbcGGbCQx`{ph96R=;3dSFu*pHvq-8cwTYeTL^SaIk?hd6M7L~Ve(QV zR{Vq8IP0A0ngNc#@5n0px(XZX?pwZlN3z6)+?p>K@ov(eDu1@vd(!~&p=z^U`d^Ui zg+R0MgZ+#FJl}u6X7CB;qX7?&fCoMQ^Wgpe$M>eK_tp8p0{Q>@FY)IShtO8+$~6W7 ztGhhGeRfPh>(v4bdIOM=1mRD3lkqJyZ=6YycT4C%!@<)HH;)(yq=)rC+6{PA!>RHw z+l?tx6E4E!Tcb-!c7e9CUtS8nz=5$oUe$o9I&d$ZVA~cMa>C@^)W{U~7g?)lv#J@r zE6NX_^-w&I82@;i^`AUJ({Ma!<%&dl1epf<%f~<4H}{yGRn6*;t88M{XBfNIp%RwZ z+p^IrgpU>+!pt)@50A+o#&@nHzyZkLWhDXS3^kDx@2i31-Z=4$DI;k3xp7`7Xiz^V zXYIZ2VTn!BE$XHOBzeWBnVyFK4o(#04`d@IbeA z1Pgnt{Yq&e7lXABSpMv59q9zv&aAUkEmo+N#;*-#V2|BAAY`30)Ur5rlM8 z^66*t1FxV7+LPT-THFp#5KRS6@{LDLto2hj$|g@~vp7DlJ*WwJC2)K43a&@me+pGe zY=@C;s|YTc$rbw**U-2}aD2YFB)}2pn1xbdL9uPV1NZ33h6ORP;BJL$Mos*?1nFXL zpQJRtTq(}7JNO+;^@wDTsyhCpR}WE zg6;?HA~CydF>UlJ^5yWX8q4{M=s)tN_luK7lcNW(-;A~%&ZmbcCy4g6GV9_9y4Yh7 zT2Qle>AEh+E#lX*u;nlC$Cs4mCk(B;f28s6g5bOWKQ9TUIuq%B!M{!tXL?OCwkCD9 zFQC!yJLdB3Ke|<1hdyKUPDx`ciUnMw{1j6WcnuL|w2*3ZYlXv7FFi!EIRAEX;LMoC`! zb$hk+HO=)KW_IC5A-=Zae~kMX>+FRj`Y+FFKT3Tq@Ryf*-S$NoFms7^p06s1{8H@h zjaZ`bbkFnJp|v>HzUxDIw#IYNKCG%V31%d0qcfl}9;FAWmfbg;*{`-au~@NAUne!Y zN6(Oa+Lj@pNn9Lj=OY{@zVX9kly1beREc>esEbkb-9x)uMwU{n5A zOw0fLGpH1P1iNzw_p)ljk0C&uG0=NiY&=q`uTYGgB7JpOS73jHsxD`ppFBuTqQE0L zNPT=Kwcwt6*`$=vXPBSvyM>&*qBhqL1!^K=?r81Zw86$NA@}aa(V&VUzS}l3bj{59 z-*j<(ucRw8nRGN6Kr9rOnD=#o&LUc>8oftbziQsmcPHQ16KP|!8>RY4c#5S=$I$7E zX6akTY9)`p(|=R@{+GP4u2?fJX{79BL39T{qkbT{&eD~v7eYx7yGXV9?&dTW4yk0% z@&$6WoSFj>fjgF<=5QQhHB<$Y@cFE8fTT8Yyp;Od&W9RcDytx%?{>ggi|SV=oERus zi{JIqUpf9fAV6B+PoMM7H)GN6EMxR;6oQrg^$oG&Cp9r^Z)toZ67aA)hdK1RyLeyy zG!v&}eccZq67-ovlMP%+)H#cugPOsGNlUKV8ZP}Fdwd5tISTF>HbE9IL-n8-u z!S>39-&&c!to-W}gktK7dUgPlT0Y6Kz-a=)9uboRb#E1LF_|2jYl-j4k6e5&^8T{| zJ*TuxCL@LlM>X`|(D|~uZI4EZN|-(1IX{d3Qse6vB9dYEt8{n!uVi^_{q2cm;Y!w1 zNwKDYygZ5zVRvc0g3V6P)AE%|JT!h)o#Xi-5<<%9BlA{O8@dcL#1 z2_!0lb6~F*#!zj!6a6BaFa4go(u_VDYjd~#m3>lrKV;1tK+III$)$nFG}hmO#52@6 zj;lT^7EY5SGt*9PEX@dI%w4##JG-mAOM?9H@?Vh4p=ucH-&FfWDE*Af52KZ7v)d7} ze<3L2K_fDul=XAC?gUWlAG@(O>`fS8d-+kO{sutTe6MD(Y<0HOGaV*Pa`UHJt~&?s zH&xM|8^O1M#1ALmnSqFF77>ps2tMR^Z10nPE51THob0A9g%?UCvFseM8!?{ipT}T3 zufZ(bfx*&DQ`*^wpqmEW-2?E;K@G}D7QtVG)zS65lvKG$7T`ArENxE2QJsH+#60KF zz5PLdcC5pu1;l!_`yt`xmC}?@ayuYj!5fG00deeye8fE9gz*PPfPYInd;eT)b}(q5 zi|)zDaIDbG!;>QP4JCT$9h?dn8{fq&MkNJfd*?fu=I)4NNS!^V7(Vz|4)%IIOoK@T z@IeC>fOdhK7*zxE5)l7_JS*QjM0{Aqo9D|8kFm)BH;DxrE0TS(P|?vpWZ@}`FET?o zp%k(G&AIZir9pEZ+owS4?eC9WE94xJTWiA(0j~vsw8Mc(+q4Z}|_JV=x> zg<@RgMMr+xk~%Axq;7#6j*ztlG@RdrXxKmZKpNbG21zutiyhvwSXNr)Nj9snSzK|F z1{LpXWHKARv4Ed zx}2A^A&@{nk&GX}PNJ?0v46t_hUetRPs!t!TrS}sls8MOJTqbao~&l_f#jS-o8U1; zbsqwW&CW-+*B-fg+XZ@gZ$0z`?Y?(STri$W3K?Y46Y1J~^^$W^T>G{<>XPX|+(H0- za!CGEIiQ2NiOeGmpcB$jfLM5jAUv`sIA@rtak!0m3hIcwW%tSCVZW!d?7feS@82gF zK!SJNd_7-!q+d+w@urI_O;UJbzokQ21&vivV1&MwMH1)}32vROoYu1_<1M zzrOc<-4RbiHeNgg4+G{#E$*J;J7vbJ-{Iu~LEFh9jAg?Lf)VEP*fhAeA-C;V7_Ub2 z`9(sQXAN`6f;^00vVS*!Vc$3XKFWJN1IJeg>;Mm{TWVWt^WnUY;^diC9|E`Yaqtw3`3f&EAuobp% z4iphN;e;+5_f+2$Q@a_e8LQeECt<-Ab1! z!%{6FLm;EBp6X=Q-R&FG?a4|oPZY{2g9QJ!FEV$%_o4c9Ah15dU6MTZa>NuTdED;x zGSr)DQS-UEO^b26Y?%jmM+f1=B#}6eInVnO`C96-Z&}G{C4Ad z&LYCVQ>R;6ILne`LvkuMas#JUL7miXVBeDB|J_VCmnR_9l4^D;!OBRudqljexk^!N za7&+MHaQ>za*8yVDD_i7TPvNQ59O52%T~-GYOlgwSAu?=ijG{xeJP~vTe>nnAnh0_ zq|X7;6zJ?ub1Y8&T}1!WP^#Q%zWwQ!6?fqF$EZa#1{D#v9$C>O89SZCBZQ;?{-!eObOUx_= zAy*Xt8sCKMFC>9nlc6eo{_bCw6LfARqwOzKF1B06CE!)2crgw6IlU(s!yUo1Mla4` zL$bG&M!6iomRI5DqpjbXlY0ZbKu9!L`E1xbD<7i(ONAFEszKo)J3Z{_Ll{v5 zE`5|d)XnGXAmKiw9*tWQ30xme%^wJz1vTd3T3f_8=; zA#jN@LnkTfv)9M>$zGK=$N-`s*;ePnVPh9PqI2Pq2Oo`CEjN#DR;0#@*M9A^V$!#t zSL7ti-JGhnk;YTFBjGWpCRJ0}-L`j};5Ji3-EltMH*p<8nGP{~lGA8&L40xHW!*oO zJ<|15B&c`YWE;{XC!ubenpesCiChHcTCC?AhsnQkQ4>$YIMic3m%qwfGZ9&JpJkRp zl?4m|#UR_qBDY4vtQ*nyeu|Z@2q@_NWxhGH86`M6nHpq^d*N~gv~4IeOq0@fZ&AEa zxaS2qB>N|0XiB#1j&`Eq#1@iQ`_9a)&?~4h38*Xhg6Pt8iP!%;mUo;Nit+NUf9c+F zi2U~F+;kxts|3A>&vtj6u?SZEt1hEGN%VS3#vL|Szrd)tZqsxd0-p*al65R1SuEVx zEifDW4xZ8q#xwnA3#a*6+iz7BM#>eWf*#>b^W3tprht`g-5RaBbS+slw``S-TT5ci zm=eOVRuK3oC<1rl@)TcITADC;`Nk*G?rmFPMylL?5nL`*7w?OW?waJgUOmCmdoyDq z?XHAiO$~Kfi!S<~`s#iHe2s^fKNdzOD~{+!nKj}b)kbPuQSk6T`$29FHZ|uxE6scS9@IW<^ zjV3Z6`%u8BQLDi0mzu;iRGeH&`yH1S-Q6Ftraee~d@Ih2k%nV!vZc^?Qg-M@ubis( zSa*L`j`IhH`Sa$+rY$!?DqC0WGTd)_+4ro8sNRuJ zn!cPsar?2Z#>%z!!+wzsaM6HgN7G&e^h)wPDw{v>C7(QTG|c~+z(QYcf-;k?+RvZFA1Qhw zJ#^j4rj9Yxw_FW1NkcOOeDrdmg;K66j>ph&M;)sGL7;VBgkLa+;$be>8Tyb64nO=-RtHX};pCYx$$UEWZOVC9`ljfLPx4R zGp-`}MU=EI4cWwk<0&mgG&poO2!aw0Ff@|V5<_=)gVfM4r1T6q={5tuATksd!Dup+Hs6j3ta3X^B95-p@@~(%GtwK_!TiMm?mlV2@T{3^w-t zA5~BPe@pED-~Ns;$=4F=l8%M*tlv}i23^ewQ@$uiEXq?`jeUqW8jjGFA5t}Y0Ef7Qm&-HT zVSb=)GuEVh9{w2qB*UyGYOb3H>KRz>P%s&h@0D%RPMNtT{k_o?B!)T5kZcOi<9df% z$9aG_q!{uhr;zz>cvH-gxZi-srhF9X(lXp@zn3{81MSH22hjwlV<(I!Ij=HnFT2 zi*8!c(JI*}O30cAiThjrMTy7#fVfNB{Nq5k4rB1bTS8#Iaj%6|7hBostsd*(#}{k; z2N0+uhww#zMXyDsvaVAOJHGQDwg*Fmy87O;d+M{1%T(MzXPYRU_>jS_5?k?`35K$Z zOUe>fz~ZZ(KCbzLE80QALiR_rCe$rxpo3^dmou7_JFuu8M&Ru)+`ejeH;HSyYIVpF z)S#F#4XBt))6IXMaA|1kSfpEecKVh+FTKlziM>FMG>s81S7}S2=e#)41fQjkn#R>k zaHSe)Elq>LvHc>y$MCeZpUufn7z{HCuntPYXp|?@;{i;0R}?_C3e93big`95`94~n zOZQ?&hbBK5*k!DpaeW^+qr}eM>|-mLYlodWWcC>1sK1t?gDWa5D{eO8)9hKdWs?;|9UyA0B-D_fMMb%&~e87Yk~1Y z*#~-9!|Eq|tP?~j59^5@8QAwbwap*bGSHu{0t^$ieJp^6C{zHA(tUukr}{%$o%2`26$H0DgIovBjb|>@+mRO=Bw8HI)t)T zL#h^QtQX&b{zaE=ufuDhm%x<@1pK{FK>B2id%#(bHOw4z;dyoYA*>#zJ{3QuJO%=t z(Ja0tOxq106)tR{o5w0&DXBrBjH68JIliSN0+x(q_3mrzxUDoB0qE?ij7zQt!9E39yzQaLxicDTro0g*swv z&cu4(>ZUFTWCN=)llO>)b|FM;$ipDPPMAgOd01Du-PCGWhY zrH#vBX)t>obsb@Z!pPd#-7;f?bikfDY7DO$81K2KpJLQ-;X3Q-CqNcTAw?o$i8iVOuG(v?6J5g&BPGtr$v9x>Bg5tD<8ge`S@;oXKHG?fBYsg0Jkcs zbTi`i{=TFjtPjxBZU_Hv^^{=3GEUrrmJJnFo-$u}2q~XIM!^6{`imiBpxr7r56`kSsJQ-GF}qW!QxuWk3AU^LeGsDy0Bg>0={G#R zsC{*nv~17)#}*di7LV@YF?VTq3icgINk{4_Nk!a;LjYo>(X_67$~Kp__U)nqtAJ1^ zt5e^)xw#cVi|=F$fi-5?;3Z2GFW+ybxR;WT;IjU^{=hP#W#jyZ5`nzbTq^AkY9Hb? zRoenGHgTt$w3OkxMyhw+T@uXtIgx+`AJV=Ydg<_Gt);PMdTrXgky%lV;P->fcAmiA z%~6Tbe42ja+u>j5z&J8Yy2#zx45t5P4=9)>$C1U-BwukGyp~od*1v1qCtCC<%4xn% zoT2yi%9_Z@w{3Z5DEbHLg)B~eQ&XY_^r|TCNRaL5w^<)&BwStD;AG#xDC_mTUF6Y^K-9K1ZN6r$tK5nOM=BY4v(b9Qlj#GihN*+C`uMFB)wFa~`bvQXFEG#nJPqhsG8u}W@*M;* z3Iu8Tgw4j+x7Dlj+ib7v&W~Tjx**x z%GJQU_B$tht9!01cHpSIImzA(F7GUP!-e}t?h6Zva4XsFIP{q(d|5A@{<=#4ZI;;r zxthrj2_{L8T^(6r?9&_r!0Utd>=}F`rct#yxACDt=(;y;El8CemR{X=J6t))(p6^? zuC0<+6Q>fsAWQeRNJ*sE^L7&&^Qk{IYNt!e8nU9^3=}8Fb zo7DUSmayp%eEG4exqtk5Yp1dSR9eoLQrS!PtDuvzmM_%) znO{A^9uXyrH^^&Dee#YP7NiQ+CI$ewtz!W975RSzlg8lzcdJT#y5BdZ3BDzI(ly{j%aVqyTz;qW&NBtc3MLyQoYwX<8Kq zbm-d@iNr>Hsj1c^HB^~XC12)}@x1;7&;|itE{(rQzrLJY;;Q+*)vQUS>{b=Zm8D=% z5&eunSsEF3&0Uv1zbf{1ZcaNa<&tYAo3dUvklXLuO8DYU7H5KSc*?Ig!mw!GCsYZ2 zFP~-KBQ$|S*5rY5kIsKU!ICe(hVQviU|;izXqCslWUT%6RkSEvhA!K}Ml{n*VDp2#I|>Hy-bk2|M3FI_Kh1VJ7=!0Mw8Rno zGTrmKRxLBvd)7+>l`nIVld98<|12e%~`~9QSfl?Is z*Yv;luiu!t`&wBQ`Xy+l>g$D&@3lVL@>*k;k<@PZ^dJqEPPdP&Icq$w9f^PMF1f~; zfi&|+B6I%ZE`v|I3bWwK)~MPD(}aunJh7kWIRVPR zenNj7@%WzJrv&Z$qK+}@uwFDl6LO8ElS!;wueqkgWtGd-rU}6j(x(B(U$-0NC+Z*N ztbKK{-2T4bVRfHrf88^Ot}L+6QON+;@O)oN_&bJ*K1JCa)*~3M{|I1p$!9ak4oR=? z{Z?Vl%7=9_( zLR6iuulDVLFW1v5EVvhJs~HXZLOF(9I{BBt1Bh7uKm8YoBBs5ip>?M@YKFy-;nf_V+Wv@+>;O=2#a(*rW2a>JJl-t9U~$;>n~7&B^=bRpd=E$V;QG?A5Euzc)>OtzWYwwhC0qafiiT8R z{!a)Dm=V}QbjL)uw`>gYr{&rFSBiKVuW{KQy?y4zc%7Yki81nkUdbsT1$eMM?Qv!J zW)YjxCoE!mkU6&79S1Tjw}d^1Yx>YAmlfxbV~lU_rQ)g~koX`DXjUZ6A z5*v&DHQ#+n9&2V*AQRUh?f<4xrNy+#M^nZ2sH2vEA_gnX6(dAjU(2gI#pmkd!UW! zSC$e4aVOXCRd*8ilD-f#=sy1&&)R(x7eSj_<{H%;9ZNVW{n?BbH~XB*fzn!3AtD_I zxRrQ-ZRm`m8}YReL-M-nv%~lJ;UAS<8)8{xfo(7flQCp+)NJXwoLHD0W|U%tMN^m+j6z^ zQTNKeDA$G?47ymsDo%b!fPv`(kz6j%;*2#@u14pF7M~R4KVBMm#PUN3C*6y)tY5_S zQv%EJl^qa@k$4T=YW=1czt>v19P&WFFs;<`LtJHQU#4o67@$U!4Qf)81*fRk-lO6r2=X7q%22gRX&9!I( z$ZQTR_SLS51;r!7_AoI45o4Z&(xrC3?N_*qHRz7)m9EkKdB4&I6!Zx$6S1#~{! z&fkB(sa9#f<<<+5UXuhf}?$4ahJ!4*)y+FS=#Mk;ixC794{9j z#9(pU8RCK#&17N)ML~uS}g&h#>&fX5y-Z$_Sv#3kn(0Q60&N`eH zR!#o3cQz=JC;doT@OPO zmuT(Y9caJj10&yYfh6W|-i_j#q9M{Jqs+bmmPOZ?Ref8Zx!S+BGRR)Fi|`UoBh1F= zW$;_iH7#JMZeaKMkD$)2$nFVH;=qUI^~V`wfzVkV*=!08@-JrAfN+#e0wvR{XMqGG zOKg;CgwfbxRZ*h#YV+q6OQT=(W^7G3tyZTC%GZxmtlN79%>GJ`ZLvS3YnCZaFG|*} zb74IirC;&YmwH;bfQ_;$XQ2!b<3RDn|4uDhG{TA6JACK8(Eu234th-Y=y_zu`*d%l z*-b7W{v186Z9UZf`@IU93ptUy>+7&16g&-|V~72fidRXePlBdmYK&wGq; z(YqwKwDqUqjP#FvhfMgA^7l~pGVU4KrW7_Jq1$CVtJrU>D)x&w1Cqt{{V5>+Ig6hRRvB8$fEvCxQT|MIpyP zT-CT%Pq|)w!zOog3t)M#rLS?gwcJ0ir{y0Z;iS649ojnR$)%kgG`)awpEEgeF z#9USBM+LkH2D56NM7+-vV4Mr>F@V|=!D^%HeJSh;IeKy&tS0Zh=)Q0Ii}ZwnQ%(RO z-E@<&3fnP{=stUwcU;X8>3}OuaPd{-g!$J#bD9eqQ)yW}sbmli;)@krb;E|k^hknt zq!$=ig3mK4ezj2e3I(^{Hv%4ZXm26J`6pvXmf1@@QAxPI>#R@)pNfZYQ8J z4*p3vpN(0 zB~${4UDosyi1J>oJ`B{_(rplJ;i;|-Nv%+Hp%-M8Mtw6$Z*~+iR@834oLV?;b%XGVEWEm+{JZN1ZQ2(ZWuzLDc(X)Rp8nYHsdw(%E&m|2tUPZY+kSP0FUa zsNPOm+YU-vL8roRM(|=(oYQgCh@6ln;);J^C|#zpMps9HFQTzGBR<(s6fUC#*)pFx7uUO3MunDaU-DKL!!Ww>&dQeoPwr0C+(@_sXRN!+6v2B(<) zl*@0#pre40RszDHrss3ROC@Ks@W(J}7+-i}9Y=+#v}+F!MYmk#?#>cx>!hvQdTr=| z<&S}cJA1{wyh3&6=BZBO&C|d-LqeAEdxNEwZ>qhDBDT%G!>M6p;UstHYg9)GBTbu? zp!51(q7WBSyGYbJae!X6F_o`MLtQ=QtmRxtm8UeziJreJx`>^NMIOZR3UsBhbTqe; zQ8`LIv%67e>;GXE!Iv3pelDPd9YH#h^K8h?j&FMUKbcXa9)0kJdXW1`n*@Jys?6x?!Rd42XohJzS{#dF+g2S0y5#8Bcus4SXB$mimEw;`b<`;4JeXNnBIK3r4G}Jh&%tTn?If}47H|V~Ty+)6MU?(*` ziR4ie+;g;6h8qZqTn_r$Bg^?izhbI8c7gluS_0FWbHUpWLC-`#_adg70~p5vVW_9r z%A>I+HIrXE4`v!*0~U2US%Fzr8pP{x&pw9JZ6l@k z$a#6wK+C)l)6q zQa$BE@ZQZQbI)=<28r*cB8%5j0X;hM2^3u2HQqzyBm1RcjYLtBqk6tVdL3kcv9N zH(Cxy{^2bP_O2aywGAIKe81ErTz;Rd3P==l2~=Zr-3{*cIqjaL?GzfOmOl{`H@I~} z_kOjvtU}syR>z}~`Pq2@v=s*kbrI?}1*MN;dlM4IU-i%zQ;rMzYg&4c%Ae2uB}X*) zo{ylq92eUTyt!W$zwxT=VF{_Z6`8biGu}@+sYiX&7fbydGf8XF%Z^7Y+vLZyDf3_x z%BMB5Ic^nXod@I`*$PH0vm%T9Cy_$6->Y`D5)>VnQ{lWX(z51Mai1~gaNz+Q>u(^h zYu84Ei}tWPA@SM4V7G0c%8n%PL4XpNZQ~cnc2N%@UBj1dR>IK+&)e4$M7jGqqZOFQ z{PzE^Ir8wSEhEPWlYLFGhEJmocoDV;_{hQ3Yw+v4-`BwDosTN9rcJk_XHHYMNV>Vx z!Kal6%vNzQeS5DSC7~$2OToWcdVns0rROZgdg5?;+)v^)&sJo17H;Y9)F8rYuhZJS z#iE;^k6cP;y&ir|-pD?fPj`xmT$^tBJ`6PG$kDXWBEnA$nU_X2)FfQL4N;2pE?A=p zhvY~6HMjDOct-33tOon}*>rv13LS7K0N5{ERpJ%mJIH?w9yW-2~{lXvuh*&B4oxSzWeXo*V2G77j=MYWVz;< z@xQmYuzW2xR_gHBYtttn1(*(t(!*4D+h}HhCnMm#FW1-iSSu3%zbL89zcCTM-tCx+~~T9@kS6lb#zay|^> zNV+18{XFA+T4G!a-1^ZWmUFar((OcTqG&5QO5bKZ%>F5y;kl@Emq4F;2H+7v8S@4J z=;Q2b*FPXa1k9I*KmIJCD&G8l`(r`rZah$DDG_JB%uUqyfKD-J>j@(O6vE^>nvGZN zHipkT_Nk!#>vf5?g_|nfNg>HoN`7%5nGlcQT##4ER!5z^ERDj-WQ$wE%mrqFhF-`b zY2EAq-sSxn)_gsG%g|^5Bsv}d0LfPlt3B=t7!829fzBr@%XjsxJJ$Be>`By~tk9Y2 zmPvu$*!wli-}^Mc#52vleu*cWE6e?=Y?_Z{g2oyk<0;2uH&K=}Yauu$&o+ zXOZTBl*ct(Lvx)#i!^`1oEYe7%`fnxzRf7Oq4P|pS9k|=IO}}0x(1Mn!$N)0MsZ;}>q@!Q(J}<8 zB74F(KUUwc$@nO=j$6gAhMy6BP6G{u(vOO)kX?yElP}yB#iLvU(1;wM%s~_zfG&|1 zTNyTfG3hYeH8&vaK_%a)B{KKHwr|AIC3d+Mk*s+_Xb>PdU?JI^g1R9V!bd~WpnBpSM^ z=8N}Xu20n5t&>Xiut$7rl;h^dX@)>kiF;R`zsB!6u-5rrzK4@&OsT$_bd&>LSyHy; zK#z{Bqm&iy5yI&&{!u`0x3Jip56Y}GG`6@3QqzCe6tg2q5BRp8u^qeUS30YcZSaEL zQNbxjw?(K9j_i0a)!p=+@wbkFw0(ZO$-{ffbt35N3hC1Ep`meseoG1PC9txHcQv(B zRYgCP5}z5qKsPEWh<{XQKizEcth-4+OxV#3?rLy|D}5e@OW5Pt$Ar=FAN9`NGor#& zymS-fON&llAQXo^hrk`>C5U-KK|i)Ood{p$5|@?rqS1Inu+>J$>|H35%KO9?e@ z(o5l&CRVF5GJKsGypU*=55az_hX3GsBG0eggpO56Wl2WbhW&+ND6YGt71M6dLFwa` zhJ?)n%am0uK~?q|HGy@w53ov6E2F^P46AT}aC?}h0qAii_ICLG0Zsih7Z~y4iM#jo)u1DF?yfwc@Al3~bbK*yWIff)5Lmd2I%Hggc&y%7`qUfQ_|I}5#6&O>vXcAY z^a4?13!$EQqw(CTutt6HLY@ud*_xwGmTwsSZs{5T7UE z_gg$jAvXOV(7TD#U2(SNA-}=4k6=dI^qZmG zbeE-x#R}A76C$0;j*+_NrfMK%Jaf!)ZL?!QWyu2i`fYh_ZTvV-Ql9QxmIV2Kp&@pW z(-=T4{{WZ==&f}aJ&DktJXNtbnxa=^YKSHgjOPg3qfRFb$d?_Ir_cSLZmpjQtMpD= zuVS|HHt*yjV*KS67v5mhw8CxDU(`@4QwfcZ1FK5 z{=UJ>d(5_B%-;4Ng)Wdi0YnD}wzurod^Xb2RkbnCHy%FxokZ|{hiHe#;p}Tu-H+9T zeA0=2u+|{4;=^*D2TAX~y_@G%l?4P8uG(+==FJi$D1O#GZi-#4ZI6he_e|aOHp-=` zTwp84EIeU%4$LfkH}-k#oXM*VeHa3~rvoU3@A6r}X%lXV(qhW%AH388&Ls}CUdc0) z03we-u@p#{@D1d{G%NfeL&6G2!!s+lM{(wnX6zZC&VK>kvuwEa>OUZTHs$U5z+qKm z?%VOiM8Rt%__Xdi)RS*j;Kk6Zyp6$+?!eeITdfXkSIBF-6uy#jgotP*vX^!#RV=cZ zi*v6mW@BKl)A$gmiti}2aEeH8B5{$)h;+5F%k?zBvgN6#4-Q(PJYhXHcH~|IQYB=q zSt^@P^AJ#{Ur_g9D0PsszN_69W8htS#`DsmHO`I%Odi6nNOz}9XC%fi{bl`CBo3Go z_76y46lGK$ei3n&-B1_6I6Ie|I^Syw2kTyFCNBs8B1``dIJud(qsOI{)^lIK6`NOU zlX2_CZk92koCQWC&vu91GZ_47SsnsuA|-i6WZ%2qMrhNq?9Ad=Y6$e%mX8*k^vVhS z(e|Ky(4E#Dcceec_)AM?rs%26H-zR*;lY7%kGEfPUG!XT(5rHLDcoc*e)$9#1SA8{ zo@C7Kpia5y-ePDX<`RY?ps`Qh^%E2IKoItIGCY4Sv5z~Bw$z)#4|=@#4op5`2LDPs z>)2Y({^yhU|C!44|MUv}_XH<`#$QoMpHK6`-k!K!?`|2-{W{xdQplOP$+{h=$qV3= zdzxgJ=z+v#xveyMYT@N%=0&!cI*Q*#4i0}IZVq_yfZy{H8nRd+z2_s&!w=wo>fE0| z&<4cPBmb)3V5^*ni*U5uT*Hx*XozK{3g03}%um7%OMH2-ci$$Ao6=Yce z&@s%8Ap*2Atgsb8vZzZeA(tjL3^_z>@@z##rPO4}b&leO*{_=v=y{z(qwz-Azl7Sl zwVV100=b)%O)--F_if!Iw2XkoI$iF0`nAGW{&$IKb+f*H;}eF}Veh096fGZb~}9W~Nqc9z%DSc~3_hmsB@oD21DDV2PFJVv}V zi95oxxxt~1>dgiDg<)LUqSlrvIxQSLYidO&ynZv#arNTen^|{+ur);i+vqNqlLzDf zfQ~qUU{NC!di=oW5M(W;?OZjXX7y02eo&xS0}4oINCOD}yz{i`Opp}5FT8EVk^r^< zwE~v;{KqxcKLa1WIR=L4>0$qX{D_aD=DcrrCfaDXp;8^SV%wzc~^xVZv%)g z-2d`PMJt_a2ofef{_Y&i>)LxN+B{7J24cSVdh=OVj>oXbYoUN|t$##vfmR>L?c?Tv zmFCmwT=d|J`j+IaMlj;dvA-p_0c&%_aNcL5Dp35LBR1D))t zeyB`Gu$ViC>5mNDaTb)3aWY~DxQ^vjxl7XRfD1tW8HRX|#qn|RLHEA#sZY21o*Sk+ zqN3?c?T;IN!as?#S?#(ts9Xbd z-YRtJR@P`?=K9$bM@8~V%#ahUVvuH<=GU>{@C%Al*}w1#*o_cT;CX5=ag@Fs>K+>J zBcSuaiEhU9GVCH@!N2Y+{{xb_e|t%DJo3Hdli8X16o>xymuLeLl^MCAat1bhoRiLH zXM{AU;L^XY)kERx4IrfFX7R8yu=c(5pq&?((q7_djra@K8Gh7+$W9gLgTJfX@s!+Q zmVrkPbiPCil~?O#AvHfz&K7nL6=*}LPgsi=j$QomFF_md`|ae}sqnR%`9bUN{Nxqb zkxcq0&@09uatb5)z5^MaHj2I7(yd#?26b5kFv6Sq2lVxFI+t$ma8=i|IT>7$mRak# z(DmhIbbi6rKA<*7<)p$@`+>ege@ahA?ETIt3z4}+1B2IA@!3~_Dj=FuL{(!LvpC|TCsQoL+W`f3IlYTj z$n3m6`Saa5Ri?@&mO(q8-Y%Y^2o~JkT6c{qv3oiYu=7*Rk6(g#RwbBnOoxVs)K#V7 zK)Bv6A~=8|qfJk9-9xO`5}MdvliO%fEgP!k@`inW zUXA1>gM`lD*TvciaR!#C5})s&_tV1IQ^Uu{>d9$rjUg-UukDEk6nbrsjin)1;=4bs z?m;D;z6s2XfJv2Y1BqCY5joq|xPvXU*W9v{W7S1W%5Se;Uv~Mw=vgpfe^W{@uH@mn zz8>kih8(q*vtqI~c*W<|ER#j*TgmF!?PCs-7e9I25(}7lTTzgXLSL3#DD7q15EF+$7d=dhslj*xnBFoz1?EI$s(Ilo9`g!dxOme2)njBIK2iBE=js#2klV% zuT~es-_R77MoK+6na~eljid83k16 zazw;ds|%M|U{7l+V~PTh8g)Zm%Gs)ZM7~#Ed_)s$mKOpvO#2uqo>^7zaXfS(MDl_X*c#Ck!+pYxFV=Fx2t908PTSwt=W6RaQPvlBKM|$ zx;lbF;w&O4rdq4U3o zc?f-wUg+SAQ8EkXG1%t_y=&U$$^`lcbb5s=iCFq5_u#_#>{C-i@G96ndO=cup`A00 z*~{A>r9dp%f3#!4UY?fnjQNd*W8fXSf7Ih(XE_1AiTB7wMr$#2u& zhjbw?VLyszd+|>Woho)6T`f7jt=vCa4!3qC@tGu#FYPek{SH3ruO{JF zF8>qIh2+Bs9vuKDnLA0WY#L@dL1($76~LcqGPjWe5tN5tmI)57*;nJIPi3^`HcEac z(3dzXSZUToow=}e1!&V6z)AFnlmY>BK_g^^w%Kn27^2;nO`FmHYk05)8K5ljxMfIR1E7-%T z6p1mGgqM_3AmvIB^eVg28q;0dSpQq( zg)cHd*3=Qv{nk+jQFH|Kysc2?L2JbsHAa zs;;H`l&5o0AzD#j99JNHkI?7>kp9KATJy~RK!oe%h~00B(Ifg9au-G26)DehC;(6w z-h_d&_{P>P++|ZDZ%oH^Y|ZINm}*u>b`;(^gGkbwuRQu%G5Rar$nb0J$Mt!iYNq$y z3m%8>vP0QI@Kp#Sae5KRsE62>UM^-Bb_G!v>BrEz%;>_N6HA=9E6Q6JeYvWaH&dhC zOiFV$i>N9U4Lr_`@2^$5a1OdsKnK1g=*L&e7^95BPu|_B(K7?J+zIm$jam2#eQgYk zS5C|9ONLX*{6(j%+C4194yCrTY=6k0LeDK*LJ4P_>X|w!GEB)_1FGycx<|X_=e;&# zP}MMwAVGhfPNm`*=JoY4!l_R?%Wj>1wqko)I$jV`Z~s`)Cs#S&%;+xq@@%uW_W^H>OB0pIo>a zI|QJEnJ(_mG}-b?Gw6q*JV1he5cR)c2~%40byi0}^Z(glKK1V%Gv{YUgr&0nt+btb5gp2x5G*ku=vt7ve=Peq_-g_HdM zfNHDKqzwl6@DUm7!68eAp{r7?L{{&Z!52Q+1wpLLVl>XgwAaadfR14G3gUZfT9(c<2TQiD>J^4b*Z@& z+o;}k1Y6H3Sr{D2bK}T%MFH{gc_KWUmFVV1L)8rkE(H8>ML6&=eUvSbdfByq$j@hQ zR#%&@vlSMc6W%3QCV|HS?86YRE8j>#sw=`GII5lym+w3e#F2~FD_$mBP;*1=^RJ=? zhedKUq?q^qLY?tU3UTZNdULJ!EG1y(DSLHenbpi=!a+B`#tL~bWtAD`5}D9>CE*#} z_tQ}S)d#*~!DRZ7Q{0dJXMLB*iN}#|2@`$QvF`zs08iGow|ZvT=+7?JFAGud4|Cxj zGz?^4@IIOq^hz+h(CuxlDzfo5)Wnrh6PFq%5%rxxn1aIQ^0jl-pv9dI zuu0GilapTjT5C1a%@iWo_EAlp=W0XatYBeV%yU}MWn>@#MlyzCZ@tB~wi0%aehKriN?7caC0g?uNtsP569N*7$NrJzRz0RCY4{5P;KmF4r~xb{MQ&QtK@ z<7Z8?H??AT-mdF7vqf*#cewkn7z@;D)FtsY%lSg<^-CM$XJV-omSh3N0}G&h;`n4XJkDrXBD<;M7V`8hob9q|Mn1qA=Fm4*~JfY%Ev7a=pyZhqT&M zKz>41km*kbOhI< zee_-5?x^CbF?xiV3m{o)q5xP2$kDpA(n}DZO0I;qCu*`JQoM#!qZ&7@gZr}Xp3G(X zz<4^P`vbPJ{ata+GCHG3SqMFqMwOsZRnk%^sse$!VPKr?*v~0DJX^KXr*c?Jyt*sb zTNkyn_m3QY^dG<48#OSC%4g!~AcgrKmjl6)ZwcozD5alC1GLKiJ;<3y5)b%?Gwu`8 z`m;WUZcnRgATL4g4`22_pk<&21VgivQF*#Ql7$}WKD6?hdjbx7{T)uJPb{=2&OG%8 z*v$5HqEu?I%5E#$ZugL4R-@3sR<_r~WgxdXVvtWdgo!XEpi>;1eH#S0=FR~uOlj1N znZDdo#~K%nT1d4&J;+}AN(fc?)rr9izaSirz1jyB1rSsi6E{6rB1HePabAc>UXL$* z>}J5~4!YNjz5|1BBA5t`jr6ZXcj!Ep$;&;QcvqJWR2~U3?nQFn%e*Ab$X8E7XaJd% zj94#eZIqp&qSyDjrbwdy_pw5ogyTFWI zmi`knb<1Qeq_9#=c&t=I>_UEy2=8;bOX~g6SI0^>slJeO5j*zVtHggm-w>a$t$rSP zzLL|WCl^a|tKtN+X5tou1>!PwoJ%dj$6(GIvw-CfIHwLlx3o1O=(YFg?%V7JJ8iEN zYb6af`FBE%nj`S-_1+(HJ zBX6Kv?l-ATYE56JPT)FnKj`_<6XMTrf^Ca8tw#jK~;fW7W|SemLaum9z8<`P=mu!JR_9I+%lyEJ=s z6Z_Ivnw+vPLM6g@qJ1*Ow__$^jW}h7ySs*YCse^OH6bZ@*CiZ4s!NmF!Ttl@Aq!^> zH*x0_9M$EYSHGoxu{su`+)n%1ycx*-Ny{c6e^GZpMJ*})G0!9c9+jNr#rW2lGv;1h zoZjvOefi=Sc8_9o@;rI(M3YP1f&MY3Tu=j=3SO-e%<_s>^!*nY8!Q_9(U{E7p9i8fA}@YeN;DxOR_~dn${yjO6 zIBq5*G3Y8Up~dnh@#!JqcL&=qM}Ba9x|r3`0Yk$(83m-vX^<9o}0u1VU3X&Y;Olnpf&4PIU?FI4UctZkxa_ zsU_3%BROV>c`X%*O$ivTQ+ZVR#4w*ZoAbC7w^#ez`)j0|*TI2#igES8kHrf2qWE_w zARKw-V|2vIX4c9fRT@-#(k{<>%^DSsbRu+Y=hamb|3kRdE6)5BIQMr**BmS>XQze) z>LsOK3!eK zTC@8Eolmxmap3qywMb*|E2<4R^BOvKWg0m1{WPf7WQnCGn|TnAVVA&1MLOPWdM410 zPozuK8YIxWrD)YoS>yMqKBa@7)Pi08Qfcv?4vc!;91V@TNfjZflLaf1A3l7kE(CwX&pYy5a`O>Xb{k*%OAt1he zI*>yd+rA5H$%oyfIUJf`e^^1uh9drjHLW(Hd2I({c8Es2Z!PN&!&AO5o_EQ3A^5>@ z-G0J%>u&mf5B&N(1Cj$~U*_2NX#Ef9#0b07VY7Et(Rw`J%&K|klj8~(bd^A)-fnV; z8sZC~Gq1^~d@Woy(_;pG(S|wYqs*R;Z0-g(^ti@)0L~!85UywyAv`Otw8q`kM8c00 z1=K2b`nC!lD&YH35Z2mec;&FCfPk8HIlO9PQf$YB-qfj-n3~Kmqx*cAJGVAo89hB` z9(2LR`rinlNpUr?{f%0;(bKx=lke)|9F0U4uq{Wffh>QGU(Q7Dkg1!^E#V-v9L_b- z)Cq)k`?3`AYxai^gBD5y=_A#US|Ak%R16;Z{6(GGD=oRJqqLAx>$&)x0O$v*Znt`O z!2*S#%=LTO2*}2M^^w&+Nx|ZRulgjPRej7#rHTeo|LQYSC0h!2Fwie7&y?}m|IW^w zT!io^Y7Gu7YoJmYQ^3?xwIES2>B9uUDo;Ko9W{q@E{Wpe+g7}rnh(ps{} zU(|No-(tw=D&&>rVi zU}n}^Pxb;C3YT=5^p+1d*{2U@Ti6Zs23^?a=M?V+Nne*A$PWWHYyV~$e2^RSJuFV~ zb~?wzDVerrITWfp?OfA6J5#ujY5!J&)oNbkgu_=Ay{pkYaqaYT)W!v@eqR1!sANhP zkbZXEH$?1n6aes&Y;V0jdTw6fp&~7y-mW(#ER=Zz@_X~rS8>Jg`9W`wr1W&6pyHFJ zFtJDNb3=c@Yp}5c5Gg_fl+dXLxZjFam5EXLCGb$kvn?KdwQ}rb&f&iOfO9fMgGPKk z<=Ge0t7s}~fRiLyXu#Q>C3-htM1PbCT6X@g;mE(35+KHr=-RiK#nbrPC_e|X?j|L| z@Ga*ogMVFWDiC+ae9XB5y=$H4<_xmWsTuGBmaxF{|;*Ed%K6>C@3lj zB1JkVAWHAOD@{ZYl@3v=5Fr$S0HFwibOZzhfuMkZlt}NrOO+OS2?){?YJ`x_v;ExP z@BMq`dH;FmeO_lW%s6w-+1c6WoNMj1uCev0&(_~ zT=EYJk7QdTKG07I@o@msMog1L#mJ+0e>nMxyQG4!+NBNEHU7)w&g;?sK!Dfmpntux zLw)n?0hUJ$a-t;txk}v0c7GK9eBVGK*LTvVGL8=Ekt6X#%xBe})JM zMqi1a^#EOCL+2xx_6t?fwvl7oRzjzbol+*O*hjWs?W}~c*1y}2XJtJKdP;|Z?8iZKk=SaClef@V zOYFOTMc{7$Wmcs0SRSIj=a4t20r!NdWN>DngvzeG?>Mgo5IF{LzwL5_dQz~w%oz#P zwlNcHo$zZ;WyI^aoZUc`Px;}Uqak6RXp{ehZ}w0uG$NogF3oFL=;;>N0&Wr}JP|I$ zb?f4qPyvM=x$?dA3UA_`;3ZsM z`V=8`x&L@Cyd-BXEcL0}x$xu10K!>u9&Muj5I&JkCC?p-L@LuO=i$ora2c6j7}p-Y zkbLssqYiX!_7d~WM@L=aTI{g?z@>DeC9pbSzd`y3q6=IkHsRe?JQKWUnINE2__JJ1 za}DFM_)dEt({*CbA?d=9N32Jp73)zS>d&8)zgIaLdZQ@YM32iveeutlt<15N%=s_z z<+g2JxxW@g)GBJ;TFRPN&Q`FnnvF7#h(hjlP_+oiScTUrJ(3%IgcRAXR@ukPoE-u0 zQFs)`)s(JzxFTe z#i;Ge5;SuaQ}+Cb9*a`QvJy4TgMAT#g9zx~8rIST9an&t#MjM?6E%uBrwa9JNk216 z_|m6(Md2A=Xl`u@VRrHCtm<)$C%cacc3%fT4WZ3q(ym~;ZG2PHKd969 zQWmxT5-OAj=Mb_j>F9EyqsL4q=W*zKH;)JsWWD?1N9sy7=+6xh@8d8;-ll6~k{ape zjUxp*mwKp+m>eeGpF2X6gLU-!?>dtF&pJZe5!Ui89Z^)CexEK+U&gcfjfPa_JbRHj zMULr#zN!U6yol!ArN5gDbOdQA89`67@KbJWjgJ}DUhOS)3ze`B*9A7zXs(y%{z4d1 zt0-@4rr7Fswrp)hE#t5rDpR(v?Mm3@&q=Z|hhR~$rD7jepGXG88SF> zi97CLKSVEZ!RXkORLlbN6WLBd}=1)ailKG^-`WOlDRfxaT4fV-6YMe9*7I!n>n zTk2g%W#5b(m9g{$T_1f2v$4r!$WRSB0)U#_)RpADC7^5&d!Nv8tT;>oES;#78T6L| zDL3n^it`0iSXS&W>s39t|He|yP?fjI{gI|T4f@m2sXQXr-ilWkn$jnviet5Kki5Mt=>PsdJcq=AocTQz$ z^2Qa&0ZR5Mk%8dhxyY(;Jhroxxkt>h3*n`G;w7q0o>;RMdGHykKpINh$ydC&%p+4) z<~UL4=2YbEV@UrYq4w}j9=lSl6n1n&1|!icd7RiQ7;8C~!vi|Ybh2n_4;Ah=kM6w6 zwJz|WYwPq4Y6$^GW$;??Gd!vmkFwO&Nq|gh#{V+18zRqFKiB;VRs51P#4`UC1jxUJ zzDmk2ue>38QQ@s2&=N{)Rw95$Sl!s}&Q4BE<`LHPs|`_^!M}R9T=YjrWBnkUhfkCH4E+p+rHKNzkS8yp;8NANpqV|fvuE7y}R4q zs5||80w0E0gTTl?7oy5CAxV`I=gfXp|7^P;J^Y0<1%RFt-5aosv>L zI-od`?BJldxac+vkp-z;4U!4NFDA12 z+N*&_KA5!$xcx|_lH4}WhhExRpX(1fTvgR&6>T}d1M?fHUp|+BFa8x`sXdWsDmg?a zt>$TWW%hteY~9Kkn*n<|)^IP-)8AimUq|6r>X54IMG6SyBIGxS)+JFRdB%tg*vp6h z_M{OVs;lH~W{l6hujyF-5R0aUlt4QNqwsC7<`aySpVp6(;4&;0G<*6@{$S`7p`YGm^GEhe~HKr zQ&8_``rgj?FYw&lj`jHma)U^Q@f5kfA#cQUGHvQyd z$M4PftOas3=wCW$9H&gS>DwG7CGL_Fzy5A&V){1Q73{So;y zwYvQ7lNtb-nKC63Pfq=js8i*QY8+92v_WtpJ54sk1G6s`hld-D z!JD{YVXH^pjK}WgU5fqWF-)Nb6l!NaN}xiC6j(tAnH3+X&{g!k+{xW5d0YB0caQ!4 zs}{~qHFWVy$d|}F|NB8-Bb4Hx#(3i>hlvAA%>j++ybSg!JN_S^HRk|Qh3rRjj?QfU zqM5#7Ja(Ia%AZ!+`Z_;gt$k}=y^Dp%zJ;SmX9(J3Kw-KV_=aUZ20I}0bV7=irrcyO z<)*Xg+}zI)e&P=ZIZ&4bcpfky9dP9)V?|9jf2&U)nKYbEK7SAAkyi+{Nb2ee87+D`ioww*dRaKn5VAd(F zD)cM%cUj3fUTyvyV37rK@BDF1pGvo1EhkwrTDEzbN-MVF6ceh#xo% z`XAT9lQr>kD@XD*=0`4s!tYPOzBQ6)hH*>2g z<4e%3>Zso8Siv>x&>>)_xxc%uRkR^}QWBr1<|AnoNA~D3>q~JLF1px97ZAl?YrmOU zbi2Vp!m;Edc4qrmVH8|Im|1`4+q7-5^e33$I}x5c{r)-zdZt+y{&PQ(4K&Fhl^XF! zpI)4$c#_K)U6;G8tlopJ;QV-AjTN!D+VGWgYN4}pOxHh$$95?^O_N{A?YqN%N%K+e zcqJvf!2R;_`UFb9+S`sJ5*0lLTID<*Z)yN5sB{5&#)vLZ59s7oHqPn$0+@C<{kHiwmTNf3kyfZ?)YnPvGxgL94$4&+Ea1%bJUi?n%jI`E_VvEV1nt*`HF87sfdCq3JzI0EfcMA9ta&?bP_ zCgdapN_gh!k4tE8W1Nmw-_&<=O_YD1&}7T2Z+PSQ9YtabwxOHEywIhx|K~69_D6*< z=jYuz_h8?c0MEAC@D}lSjjxkLAAb~#&gQFai}lUSOWOu*$H_3xD=xxK*QOBiSM`*q zY=O(E&eWw?Ey1m)hc^Qenm&qTvE#qM1L6Pq)i;_etP1>di3%QhvpTOZGCFYXF4qSP z*2YSjUeU|z!)brur}_q9wl-0xCkxA}oR1cW{B@re51T`d1KO}-=8=nim0wwE!c`y^*iv4#lgsrMjl z1nC>fA4)C#1DOWTtNk+%FthrEVTwtx02@SPLXhkZUuGYr(5YLlytWWtweFxg1ir+` z*9;R^aEy44A{G1BO{AZwZB6~M)M_NjINjJ~r`bFDuoGc?lmzDfAISes{^?-k{z8y^ z%zPehunYEQr6xg+C)Da*Vksao7l5jiAM%UDgK#FkSlqsMKg$# zs#FMUE;AZ{vQ#Bag+#9NcROKjyn6ooDFvrfT&<{0c47`MHV0X*Uo8DbHy*I>?$fAAaTDB~2pw~G?Peo&3CfTll z=q3dm1fKo_0URl7NmP5l?TM5l*9o|0w%bv?!W$TQ$FJq^hI=nv8rg%Cw5$OFZJthh z2fnCf;C~j`>C%nh9mT6lDqDRs`8zK586|dNWThtGO2+vTAZmjYBlQpVnn8KfG#AkepJq|1upy9y?6$hFNMYrEIQJy)OuZvHZ9Mn~ zRRklICv=knCI358bpG!wYRbj6Hzf^}O9e%hlpoh>Ytsj~q7<$z-hpK5lgYJ|>?KD+ z?f{A2-_IbP@uO4*+2fJ^uQ&ajd23z8jeU~_6%Ntqc7VsXT&;;b)qdG})AVb+E{(-2 zS@dT`n7?wy;+f0IK)*L*72N>cB6~?`=@Wnoqxi-T@2>dRjS2s2>z5kAa}3~_E>W0Z z>H}<7VJBY2fpiv|u79YVTkS&C>w+&sN)>v4%Nu_hI8{KDI=EdW#q+!fH*&N!)UwuW zkL$-kPlcRL!m_`@l4YvhXU(S?uAc9isk*T*^E}hl3(c+~VKon;U-aA1p(&XR!%{O! z_D7606E98`{67hn-UitNZxZ(tqp6ct_X7q=f;t&OyA`RosJ!ZRZzVG?#(!T#Jxuq- zj810LpIceDOk#v0^mQ;ohklbR%SP|E2-SUpj$y22s=a@Pn6|Av-A)w|1ui`1u(P{M zRO$*pHu`J-p5xT^3l3tafdTyl~f zgttbeb?N?cpCbzw1DKqYsoohoTkp;5R9@=fuli&6jQLMBn{E0*w@c-kabS6OWN3e( zqkpc>l~Ry2$P+2cf*qc`saVuFezVCv&Hjl#?Fa~Kl50uY) z`XQWG4n@cZ3M@B{t48#FXr?9FR?e)%Z3OS}O6_&%ghlayo z8yz=@#kw-+E)0FxJZfL*L#f3x zqUfR~_vgc12uVt2tFdT9oY4Gul()GiVNjQ`MzrTNrQbN_9@T-Ywe03X7Fq;P5$@@) zYu?bWmDjOJD(8zC|sUL!et{_=*dKAYQmXQ`es5A<2A9QWo2c#Ep^ zB)Yb1ZWtNlWxk{GHBLulcd(S?VkuAS2Q*i8=Dn!e)MWuw10k(I_qnrhv59trbQRBY z(p2vEvO{%Pi=kY?WmZ#%hsuUsZop3zof>E#V`B(s(|^IcHDa!3zbE;q^NpR|w9ju% zJ=XwvOr`lQ6O7KnNk*e-il1iw{rSRcS?7Wv5I~t)HF@CQwW!cKaoiq59~7R+6}yyh zc%I&?lNIg^=eo;A7rmC&1A00K42Wu$N@xd|?nfSp`-7$?-xBgN-*RAUfD%IfsL*fO z(q1=4bLq#t?)9Y~K>(mZWETMn?85~vu9h#UFvK{RH)T_70u%@|=#3`9u}ZyLq&8i@_4&0M)W3fZc7A+*7vL^AqCnbN zX63*ml?dr%^^>JyGy` zAV2om({o*-Dja#m5Z~@LcnAw7l=uQ(0yCcQdo@n1DNarAF=eLKdDe2SeBpLEF%T!x z!O|U7$^JyE>AN3nJ#E>!y}>2ABcbMsJB3Xes3IH&;7{YQ_9*-6{ZFvYB!>u;dyPp( zO317zIqlG*oGGmZJAg3H|+EBJv)LzD0UY=ra_)+fhn=r+Ft8Hx!q#r)S zV%!CwySr`$77Ud&FvJJ3$81gr2(?PbzAER7pHLno<%Fkf(``qi^+30kIf-sbyI#{9 zHf+~CX33!D;I0D7$-f^fR=mSvS0xs8V;1Hsw4FKAsV^>&Y%5lFE35U2`z4E`R-G>OtqW;u^Ixlr5(wSyoP`EJ33#dbn zs<~+`FHNc&7gQnfpvTjwxpOGQ3=^ejE?xU&!F0PehEco3^nEse=pXGT?^TCnR~u56 zyc!Fq2>(FT_oP^p=oaq5x#mq2UH(O66u1pJbeSg5aR!nTFJcaM>DQ-Y(Sa}6D?hBe zYt+}*i;F(5;r|OE1FxLi2GAAFK{EexK?79%9U7~wiIzf$`EPd_k1w`N*&pD&M z&Xb2#CowLbOGZSF;_CfD3Aam8D%ZHpCd++7YA{)bKzd#B=R6G<+qb<6>Ky{xlA6I~9-G8&sMD6RB=PomgCp8(V_NFhw>nj! zmDpdYs#k#Ml|r#}`FsOi+x*Q5$)Rf|b5k2KVuOiaC-yHdre9NA48F{yTzQ1cqDiZO zPi=M-7R)qd2Y%IXD!UlJ6hGI(hRapu+kmY*39Rl;hnS6XYRlSW2JlG$oJ6G^`h&9Hq!|=aB>Z;R@p+6em%?SZ!(da&gsX zsp^^Srct*QPQhL-6Pyl{?4LMxm77*_G?7R(@}C2Y)%iu?_wJrP!Kn=uL;MFc>=4#_ z{`cC=p8Xni$y^;_wtZzI*mHT&RZgl9iGIYiWB=0T*VwcXi+KWzHV*NEYb-VH@Ca(;ILbDcFP|-dH;0)M&YSQ{-;`SF6_MJ?`lD7bc;4rtkeKL(cX1u9)Z z${Syr0tunmf!D;#xQQ$&xrE)vNj9}ftgxPJAGTO6eu>z|%})IY&#iwTJ#a&CRNlV` zt9h9(xTL{j32|^r`Ejwfy2kt?aoDT&N?%3%Xc(U?un7lc!7@llEC$>c?q)L~?HKj8 zE_bICx34iKWg62t`~Cf1wQ+k{us`mien92KFogo{w7qx1m~tMgd;j^~xgcFJ zo46PCWYcwGBMtRO(G#BRtV<`#N#49UDKZ6c?hda~_1KQ{a?JelUdx}+sm)6~n84ps z`5-LeDGHz{Ga?k{JQPFZIaqYJn}D~ZDs)=#S(z&^X7k>?wkp{ zz@Jy;>g&RRN9#K-G^xzV_mcSp!&g5(s_c7n2K_~D_`ZwP{l>_?k!`7WngsUg2o zWp<}BYqsk-Lw(>xi3Kq75&*v5fR_Fa%s9OP1uqWWmPk-&O|H{e*;Hx~63nIeQPj<= zRifmFF$WA^AMzm%aK<>7&tJ?3zw5d(#829~Xi}X!;;~UGY*AT4DLR8zG!Wf(2~N7* zln=z2C=G(CpCc~N02ey=`TBy>b^oj%kq_N^t}r~rX`fA!pJvMbyF=iIM-vY~b|EkL zp-%wpSZbm{h;O!#u9NzkYa;y$N?2B*ci8hypLqrQDBf8kEB2lL$towLpS${ZA{|5`rT*|Z_kk!LuOPP5r2a(v>flf?DHLCULN8dQ#;7%4rotL{TjnlpD;?~%3LeqXCj zvfrW`r2e_^2UFvfbtSDbYwUGj{jF6o56U(Zs_oevheLGQ?X%1VtJ_I0P!AKN+-ax1 z4ErXR9lJ-G;_+AelYObPJT;)#Q}kvCE=a>+#TV7vRk^adCfu>?$5A48P_2CQyP2p?W` z`f+TKxjL_)U!hqp_dX{mw1 z;P8GRI}oWHfa*7m2@4ko^sT+k=-YPvQA@rjtE50;Sn-}0#j_u-V2oMj{v zMuIwIOw$(y-c2+?5Cw<2$)hDjd{vI7*$Fz#Oa*ex7HphdO=;+e%7q&Qpw|HHY&8?; zhACcaWbG9F^F>Hj5QOdd709tlu*wxr)I~xVSd%5rO)wicz1I%ZYn41fo2lz3usUN$ zBO&k~_o)ajgqOywkh6Kr1YI46^U46REP)CkrUM$*gwN`}zc@ZzQ7Vb%zA-&pWZXPjj>tp+JW>w+4Ce6d;V$O1S zxYQ>U+pLM@hOsf@$W%iN{m2d0q!dTyL1p~9g-A?;G4?XivQRQ@04Lzd^PFcZlEEYh zLVgaYqA`Hf;+!DzV$s_fE~}%qk0sr@T{`=cndAUa!Vf%0v@gm;z#H@ntk%7au7f66 z#ozWx@m+f+!P1#;mx~{Ry$Ic+S){6-^4gQSn#!8$_?$?`he1iqh7!Xe&_}=u56MYT zDgn$)Z!yeU`VCjah-{Yis(MR7FV}O3|Gr746oCP&cdt`EiIn7N!&|)Fks`3B-LqjC z<@_&_S_KJIu}$0rv=yqGWzyf8a0zZ7EUA;qK+E8zv`3WOd2dUfR`70hXpNrxmGx;%J2_ePzrw6cF&fdHY zcj=2+a-2HuoO`64R|||U8qp}_TSOW>NA>bmt!E>`udL>e?kV$munKS#23?Xp9B^Ma zPt+?>=_nQ+v^3m-`Ju&b$C{>&f6(lgwRUySPCF?HQlwdex5BR>yt}I8yGq@xzni+e z7ZkS4h)g1TFDf?(TL4}4SML1hgNutoQAiEZBL?@|qDNmqVbO^6N-Ej1cE%vryuS{yQK=Dq^{SdvW%1^=L?$I*fPk(0@;D=#lJ`5dJ zY94j5(ECDej+>y^y}L1*zsEmj)b#Qksyqq~QvUL#NtWP&9lEBroN?`TDRNV4%b>yi z;fMftjnM_2?t27JbSa4Tqa}3XLd@_Ek^exdUYmb1OuS#f<4tAo`SF|Jb3H0y0yBlH zoYUML(*xCU3;LB~CB@rZ)iK$z%nzS4GF!Wip?o2gOYoq1z6v}e%Co@I5jQt z!H6{dP7AA+g)e|Bs3qyjWs&Qhg}+l6KZ**9Ybbo+f0}TKi)~GL63vX$ic(aghqQ3dn-5DS2wGB4$JyV(r~3${hVE9I}^w~%V~IAyndXprf z8h{hfDfFv3xD>Gy0S=9D8$9yK&Pen=Lm@1UWUHeC3-Av`swk%w5hGEp}X+$eaR($O-(lp2)_l+ zb0{Kw{VOQ%_5Xp`K%d#90ThL_!J!|Ikr-aivyAR?`OV$!2?HxEB)p6Bq7`Df z4LUWA#J74}ZJX`lJuSOdRIkG>>r$f_*VUjvqNj*yuK&;A%^Eks_Jw~5QsL(zyJ293 zr5@|M579SfxbN^SKawAD>P8;s)qIdX>F@qG&PLyt+{gC^I= zxE$g@=^qw=ul|YxFhJ$Z>4hKf2g$U?$lp z1>e5gTtS7hJAD-BQ$8So!N6JTjt70vwEvDI@PKn%1t)=8JLMU~ zSCS`gefd?J*tf5Kwo_k~?y|Wcx7u)zbiElIIUM*5{E)qW(d*im21*@#7~nanHVd5M z3bc=p%A>S*^u;elbv64H$a=BXovt>RgX69T4!3>-!PY3^v%i2I!S@bnhdp!2&=x;PFg8 z8XcHt;h#3Y)Z}0?^g%u|$0sJ(ht1bGl9S=z#gV6S@aNwdIWSHJox-cR#RQI}O5I+U z>FLA8NF8&Jt;v|+?!-P0J>U2LOHxC=d~a~ew^&!Eo~Wec+uIR(^)-!entI|X4;x2A zBw-bL1CgL5I87={a1R^>!^7s2ZPQ#|cQC^p<>p2p6a8UA)v3|j^PwJbuP_55II^x_ z%}bJN2HIDTg2k2Gs_KS9tVA&&DRY^5$Mdp_{m*SPKRLd$Wz8-*)&zGG7Xw!hD;d6M zMc^4ISVzjMoh)~*cfG8HxEQ1yN_d8AHpH#HC2HisWL!HvO4OZu-mP6L={A^M<~x47 zJcCyB`OsYc4CBC?+3X$ORy2Ntyo9%^^<2_tJVP6%{a*L_;%A@H(4}?v?uNVe9}0>{ z{1nj!>$sZWgH$WnjgOL^$$OmOjvzmG0NfqE7C0WAiSP6`Ckwwofco3}E^~K4`+rC0FCfb+DBTZkAZ1@>W4KNbzWX?^@6$h#x>EyTK^RL-@s6CvV@C zBdl&sz+k-k3{E1U1AoxzGq<*NhFz&m60#p%ePa>6;ux7?fzxhnJu3NhWQP|n|K>DZ z0(=i-ZY1|YGK{?UuQV;zQu%Z#I56yH=Ry$RUfc~m=?;+s1}zh-)uzH+r}FnG;mbFp z7?;__;`Wfo24^UwIm5xvDP0>kmm*}XnPDiVR3Ic|I}vKo;~KMd6{(v~SnfDJ9<|g* zJKZuhDZjL1N$+>T5W>-7K+#CNO0X;NU$?8Hqi%w=@uA*UaPF*`l#c;aM~{2;8_rbDVdCaHX?5%svYwyNh^&Z)I54;xUFBN+&fiwXBS_MJ|)CcYKAyoi;xsI~66uG7-O8pwv> z!=m4C@YmxxvOV+kUMN*|>`J=qeXwRqZna>eO@F#j9v5*~zsshVH@{Ks?UgXC7{lK2 zRX_E?V)UMTW`-YzaygKR5F5z2QRLaEE>vx(SwO$d@(mDHcVt0}-yu2#ddYL)GT}SS zY-=L_eOoV^L9NHl7a@sVpnLF`7AipkEG))_=$q!eTIlKN=s{KyKXfzkgW=QQDQ?^* z^x+i<2m&aMD%fYe3; zofqyWA1BOov(Z&Jg~vXH+yL3)W5X1=NG^g38UgJR-Si!si0_86hA&6-$8d`$9WX)I z)^Oc!Da%7|NW5c2Xu*cr)1xP53l>U0QhCJ6cC9{`t;4P z=dLP86fSOYwRs7}G6VZNkapX$SK1b}@u|#87ca8P5yjR~c(TQ~2u~=JlW%6C)Q1Vo zs8ox%wvC1~M0?+u3w81*@6js9fsf27hgJH#^fl-qcI% zcgNxiwU*SOGlc#z^e)i_?;ZXGtDNU>vD63d{L)a?CfGhked}ruMPh;vD0}P}_O#ld zOo)hpn=gl@%l#B(yeZ*=9{m7dacDBVr}@klS&zqbrX8rz9G4v);02CTn!kaH0o}Z?c>+53YU#_L*7;8RfdJ(~Vprr8%iNrgE z-y*~Z=9z6Adrc(kUe};qfUd)<=Tx5^YkUsOggw{A|?(M*$d z`W|r7x*Ti*Y&|jZlbcoxE}(f40Lyd^o!dc@NLoNP9&rebiX562y{Ia$iTxGre#3sU zHTcaN47*1+5Fs0PqpmjCVYLnhJGQwJQP8#^jY>0ACJl8*u1K`;}SvS^t%pfZHqF!v{80{Y=u-9?eY4OuIAf zuW48jncb!pH6d1G9QTu4d24(a%3Rfqc&@4K2#hv6Lg`>;-jNk&;_Xjr%gY&I9%U3_ zJ6=BY34OgwTI?4f*5J)tz7}QI6e^PUy{g)Q!?y75`)|iLUB&&&1UC2yiI4C@5eJ(D zxRB?zYTxDAFXmzK`lUuZv|F(4y8ji-{J&wy{vL}Tic`5Ng=X3S{gqiC^Aaw_R8;MW zs$bNlAjkPGv-^6kaX8xGSi45&H5kS#D~qUG6uUhAqh_}$_|~DuKw2k*?_Nr-#9~I! zlD8v$UM-zUwBNj>y}>3XOH|45$;fL7WbN~0^O!bQqZ7S)w?^}lLONL@!FU4f|HmQW z1XwZR>!@a;y6BK_2AwLt{!-t0ivG*8B#z9(Rq2KEif%&vj!J-TEr;w?{&*jBC`%3w z9zQU+Aar}^R6(b_Ok~wRjs9JLSiRGm^ZiLSHB6fjCTs zzzN6`09agqT2U?o3JMV#a0%h@R8LbI?Rl3`Ar3b7rn=*^DZU{1zLCWd~uYxJ0QVCGSU(5ghCy5W>Sq_4!~7#n0fm?Dh_i^iU&M*Ed_&$qa|jcvjI;>3MX1bqUkr*I-= z91+$qj)Y+^oMj41Ar2|@)O`kuQUp4}ME69lj!Dxa=ll-;;w(B9dVtS*ivU7LHvdIh zQ~;StJ;5m=bhobsI))sj2VOioB{nX6-AO${-v+%Wbjw306y|}8hJi7DL#@ET0He(A zh)Js)wY1ntkl^-Ted-P*m@S+0^*_9r}H(PosQSZE7p${_O^9oT1N#4_cG`4p~oyNa%D%b*ulqwiFoyt^AGa z{(0lKTz`I#j>nvtTzK~oM=iG(NO-Ia>{GKm(WDDnB&h?=E_Q3MW$_P$S}I2O!Ka@3 z2pf}MT@T<%*W!1>WR+r&0PbH#MK=Gooe0D!LrMGqn&GEz7ez zNbv%bsaUtXs1<9SI-;Op`dH^#yo&+F0XGka|K{cu3j>N+A_w6`Ap+i>d9xD38#%vh z_ST&Iq0UOa=|!ws>mVs)6fL#-gm?wtW}(Ao()PdC9mM4Zu80T z&hTt5*NXHUFt!|*oO@ze+f-!^ueei_lw;@mL)M<>O~|M$Ixvfdi9n0%Gsk(M1HWx{ zFJ)+?1(Mbf+7M3$9WtF@55WZKP~T$?Vq`x1gqCTieB zx>ROT-aQJN-y8qs5F03GGkbZ6|B>1n!yzy5a)7cEzU_9%jP_!$YTmMc&PbUOK~ENR zz5w$2;ACHwqY)>wEAyp*_knPIzInH^ zpCoN3-1X-(SdVxn=U1{E&QEi3a+DqD6&?5V?uvE&1eAWMyUc zFTPAoGm!4;zp}$e!Cn0rs`sxY2Z*49UI!G~#PodKd$U&CG6szg+9T!Mx0RoC$vE(> z$LVL?K_@ibB`kCdEN?r_N%ft+bQaF3judd5=6!0!<(hNe|74hAVtgOffezu|A0s*f zpGto7x#iTBuA=c)(MuzMt~L)9@q7RZTqSUD26qnC{D+~IiTjG}wDhr$CUa(kxPN7Sk- z9?)kX`A-RHMo_@|dv{^#n!?^&&dhJW4@H_iES47{#G0(Tv6&0naE~XuYH{IV}3nE(> z!%?ifZW1Nl!i$6}I(roVhQU3rZgiQlJZ8QBBl6>)IPPDATB96Ipdx)}Krw)#X}Urv z>F)B?BNek(W)vrNc)MWj-dA-|(ce+(>GGv+>V_?=v_WYRaa|rT`5W<`S65zg$hfiI z@A>T3yK+tZ(lOJH{~D*X<4dyDI5H$X-ZCZXb>W!2_he!CIV@FG7++3so`;5pljsP^sOurJew$Yrc#$Y-7XVH(!R>}1?+Y}AC`RD zITr0>=Ln;>m)-vQveu4DhhNPGW%U8FaFIxhcW#b+JyUG>_gb*G8NcWR->uyIPS3Uy zALq0lAcee(r-&e$NM(?#d9eKygtPW=zx)wR)8MLhv~K0FsKQFf6k+SiP6TR z2XF0@gRbB?V;88Tb{P?o7^C6)GGtqA^CmfN%z8x~(mJga-b-=5M;mv@eic(J>PP2{ zZ!?kvU&iXjFQM>DGe4;#lL-r8I9_gE!T;&lWs@x0Ii_1>ou(s{(7 zAK^t~*!1As>}5WQ!apzo?s!gU#yrvA3bFn&-6WyW-Ou&!I?O)A(Ya7c_4T})EWCc{ zB=Xey|1jnMWz7G7{Cfw+QiaMf{ZwppL@D4YE3U_-cCgmW(9zuW59I%1?YpCz`r0mo zpr~}Ex2T|0L7H>|A|)b%^p1*x5CH+{fuKk)5fD&RP!Rzs5$U}r6e&`rLxNO+1StVR zoWt*Z-*47@|IDnJ`GduRb;~*To_p`JpJzXN(+IKp2J+GK*jnpTc1HVVxYRs-2-0W! zF7)<%wyD*7z};d0PLVKNk{O7lcbhv(82yDX^fke@I01Bk9O0CQAdXy|h3+$S11An| zplzYB3D{-ZjTC7ZP+RVIaHP6=FBiHhW$Z~iboUKV2Mb3cD1(NBh&o%+B;BTZD zB9nCf=dif`Plko+w{fJ<9gV8Eu{BfV2h#AN#}jp3hK^Cb=k9+l>1sY$VHs)QDaxWJ zr`#rfu4c~9x%I<|T2`&u>usTYWlE!}|w1 z&ef)p8-+Z}SfemF*5e;gF<<~?X3Z`cpJ@T#iXJ4mLH`=38yKg`KTsr#JUYkl7s5l9 z`^{^B+o_V`{3Yb`REpzeagf+vY07eH$@Rak$c7D2wX{Q?9i)hPs-1E3 z1K5iGc~YD{_6ja{|NF53VLy7b7+9-3gpGaLc2LB70oJPdlEXRDXfz-z=OExg_lBi& z4}g1fLb0)0!3#az^C$Foh3Ip^m2U|I@+!OvnEzxDkc}YjHYDl}wv_ap8d`H)(=j^P zQ~eWHJG%G}V4e@uqlorFQT>;sDU4wMSj_td##PIG0OX3Kjfb7(rmiF_zSs^)>^QZp z#GhremPeaJzCHH_b1Fa(2OkpPT~XhJm%hk(RWZ4X^~zWUfgNo!xoEB+i<5leK))pE z%!2(loyKfHwr?22%8fTX0W%W-sgQq7?eWpnwyQyhWh;e`n7SKY$HDyW3!Kj$E@7u1 z(-Hp_dMP+5QJB`E#vare2$(0v6xQ>wW-5R8m}kfcR)e+Eox4e4B7|2 zUxHE?{+YcysB|zHwK*IE(zs7XO(&+*zrNn{GybAWpy(}NgR(FR%VsnLDmU4_zy`@P zjFbj>Xy%;!4v%N(*B3me)~>Y{BOCN*JqSvRodA~U1(37$=#Flp7cl+aZf6JkvVz-h zMG+jPD4^8qcoXv_ZqZL$8Fg@2WVds+2E0 zoxSX6I(VPWUhAYxHP5)g@m>}rw70=PL!A`Zi!?1_4GKp|gK9RQjUxH-$Z{>E6RXEL z*VpHJe+Zq}jD*lW78ZO>7^&y1E8X!WapvQpC+!99t!-Q^tCbNRC~@VvQGjgQ47^lt zR1RUcgb}80t?CgS%JZ$h+P*P>UyONm{{(HZ#JnD9H{R+G5R4$!zd!*kWv=!hTSO@D zu>7agyTPm0mq&DYPFw4DLKBdUB262D5-)1(r08{RtG=SH7VpkM6V0&L! zC%a{H!qEF>;;DoQMtCF30YTr1=;L&Lvf|CM9iikbX~VkdVcj zl`-3o?_W&p#@$ZogYeV*7NuPal4x&q&f-L<92S?m6wdS@CBI8Erc?)l1kqEcPN+EW zw;fP1KCXVR??4Y;_l@P(n^z8(fA&rRq)#60=5nM}^XK?pqMfVd#Vd2_!jvvuxEkvz zIv3Dmb9=SY)8(V1eKT5?A@HJMtB`lT(4HlZ3&pDD=;I?f0DP!*lj2enH?JGRm)HUH zJAxo2BFo%*WkmRyB_{KZNkmhA3di$%npE${?%mp*HA zWNninU-gg+m4P1*)Qp8Aik@Ejb*2a(6QEb>bVhxB2&X*U)4DBnTa(~ zkNd6y{IVEExYD^z6_>%cdlosMsHPGzKPrvCY{Hou$30scK)AVMPJh&jb}M%8VCNAj zw7!rWWiqfGVzNM;w0ZOL;O1vNJ?6O05@kr_^5AygE4LXowYwqtcJ`Ig+oFt#M(Mz9 z0o(A@m>&o~JOm_RYEJ_o{CKiEy4p14`sUg4=~kQiN&p__QZ_LaF}oOx%k}f1rjHl@21s$R#H-ZoV$1%e>|aodnf;hCdf-p-o+7@Ga^g;LtOpYBlXvF zTpydmj~kpZTO7<=o!}pBGl~|JK=G}@>7%9B03keWTB*pxM%YYOyixpx+|$mLhqSe1 z8De(ZG(V|KrMI5$>SLShbH+Em$rpB+(z+_qDhnUVOa>D%uN#h$C)&~*S&QU*^la)H z%IadZF4%t`nEfJmtQOq`G!<`;R$OVg6mZb4hpU<7++REV#F_3r(aurS+LjmnOAmlb z{*+EwDv0PD6)14BA|8Bmc-=B0(e51EIa_Pq-vT>%OxltotV@$tl!USXtVZ#XlQ-~} z6W`>mDpro9=Zkj=4E0F;3s$>!tPNSf+F^p^!hl_?XEXK z=B~sLadbOMARq@BQZQkQNZ+y8Nhzlt|a1YzhboLl0{2`0xn#$MSa{jcc{$kI8x)iR>BE4{iUcZ0~#SAUZid0BlTR`{2h|1yIl zBSL@98F5zLtz&3f&94+WGxT%e0Scb&dxr1A$IgiafZDJ*wCYkL<#U zW+#M`XqEGy(^8bl}-7zh?a{ zY#Oz~paDf{{vT~8SH~kJx%`uC4LF9oyW$h)j2LgRs0m^lD&8Nf<03e=WStF&!x|PY zUC|C<`u?ym(mdhg1LL~&bF4wn)SCt5Hq8GRtZ)1!v)+-BIgw-|b>TTH{^O=^-`;D;!n{Dz zf-sGvmB4h)0MB%7MXVSPuBeBD)tLRW3bV|rqhU1wDHe%Eqj3qW!-WCLgA;FZRz@v2 ze~f>sb${?MPL-1``IF0g@ZILpLAuXnMLS59j}|&RvaTpXZoO~!dHhEg^cQxug*Q`F z5)r>MAQEj2>PT4tt*WN@+chsezV20s5g!c~DkTBLo- zt&&6NFWpES;+`j4ZCvMf|7G}#2o+PHKK z5F+V;(3Yda4^8NKRLcu;1b{q%FWJ-qBiH1Ap$L;2QgVAjfXaz7knJ?O6&!P zxTbIzu$|q(fGQoBI4w0y`#+Zr=*T_HI^#CYPb`1)aMatn)7STxS_!|Ban4s3kJLYl z6iFiIoHtlY7>!n@lRQW~WjvEq!&ja6{4fEUS z6Eyf|VXz!RK)&GLtEfwq7FXUE$=fzVyS2e!+fA2|^E`6Z`SCXyS8gmA&&HKgv#GzC z^^yQ^OeTYMq6vtq|E!@6C{#@+Kftre-8b8g5BONTtZ;paTq!JsoBpI!^?6LrqTj&g z?vT5wk?+8jJO&^OP_QYTbBtW4h|RjI>H}!Fz}k22R_ym*6^ji=wA_lS#_)_a(ET4O zu$+-uAd(d@hYyr_b|CQb?8ej1bwt^J={hkR;d7%r>da^D4fF=5&Mf%qp;6a5R_1&r zRJ}5X|DY&h&}i5e?Z1~crWlBeu*_nfV<>#HIVHp6u=2jgyVCqFkK-O2vsYfzbkHZf zW!zR@^8%|{pw=_q`S? z(Gvs9=|6KJk~sbWm8O5(bf)z-i`v=t0L zqrCocJbrJY>dM`$ZXV1lT(fjE{paT_hxK5sA3b+vG>fofbprVTiYzK>rDm1o;@>nbU3==5=xWl@$Zm;`dt8_|G~@S2jbV8QwmO z^_sMA?xVsSZ;^LRtAEsS6|PuZv{)DzfZvmpr9DoF-Q#IEPi~KK!iQL$9pt(ND}n@P zwL&9gr@cz;UCi3r*~*5m%z;ivrw}CKVq8#XR&ER^-z%B? zCfaxBsGev{Uq$Wv3t=grq1VXw$Db4`PyQ`@yG7XYk(h9axPEgV#%+gfpiX2bko38+ zV1oRN$?sF{I!Wm7++ZRQC+=ROO4QXMDt*Ah2=(D*`Hqb{x-E7W zzv~MN)>=P>MiGl1n{ zbhIxw<99n8D0N{oyWY=&mO<$-M<$Ba++~ly5DOBW%y?khjB_m8g^s>7i_59PkgHAt zMit6`>K$iMiSFB~(Z9ErHr_M)*w(j_tqMXwPJ0k<@n2b1|tf}8*33C zs;i#^`g2Jq|+?dMvNL$#FipH)f(q z>!C8gP+#{X2Q-T9nYKackdJECmP!Wk^`H%tP-Pq4uac5g^PQWmpEUXz&=c+1Y388E zK=SBK%d~iw#ps$-X@dJWyOHvJ7fC%KfKCKflSom`C|(16!VP;>!^HiO;HV7cWV|q) z94B_*&FB12eZ3`Lb7 zKjOQ3z2w>WC38mwVOQ&y#V4>zwD}?v0;E3j!7MJ`L+$RDsbvec8JlUlPVeMTq|dY^ z?w{mnlimjL?gur%$q^*3_9BA2Gebzw{s04_6NsCRJ1215?nv*|mvyH*a$4%!>A!psv~zQMx`a^N^8@`xr-h=OuEgVH!BFo!qtr`AduAtMv53oH=Gb>@8VFF*fQNI zEUq@6l;f;>lc~@vVXSjMM6N-YB1rPxjo&uZ)+>qKAK3S+*0UzW7vte3#ZB`;iJ;ud z)ifg*kO6`|fyDHDw_U{@{{nISbXgvmimQ*!QkuJ{LPV@%yL7aMgrLUoT2Xm-w?wc( zdPOXsb%yZCcuis2PIWk}8v=PULr*UPI(nZqO zlR5>y7m0G~-mw%3PhDNk$R#=ASz@zEJ4LRDqG_v%vEC7q4nP+l%!vB*$-yakA&GWqb|HArQoK; zD#%g!KLIBt?P^8hg+vK!oAU|p=VvzqS5T=C1Q12l!%vCeEO*?DFh>Q-E9Pk;r7?T?KcH{wiimUY2V5;pMCiD zQ!VQaCI{j`b|RwMYy1<+x(}UuB^YeQB3hL*l^NF5L{GNO?`P64g(f?sZsxY2qaDOi zP}i%KK~ulh>gQKIB`rJp-JO8N-}o8(D>MBABu;{PR_O`_4Jm07{>*B1|=oa zbsp7ep9_4Kdsj^tqS1KGgcq{+W^S<=!)+5V2yYmE^s%I@q&jf{ZWAysEOcW0Sc$R{ z?)~cT(ATu=KrYLHmQ)FzEQ%gMaYUZ)A?8DMjQMDf{`e&whVZKR@F6zxPG2L)1wqw( z@%AvB_i~U&kzfba@|>l#x`SA>$n&(YX2;_cS5JJs)S}rSp`@&$Ix+AP zBKlJkD1UOq2opHAIgoL)u;^(?Bktu>8nwaxjFn!R#L4diLK0t1o7DlsEg{5L^LT(I z4i)JjOwx-zH(bW>aN`2PH=@5Qsq6t7o34(AvlMsRYwa; zoCXj0pz_%VVNHRWR>WCR8M|8py0b)WF(viT?7W2rEI{7cgvC}zR&u3d>2RGoo&Vj- zI)yJ@TU<2}_<7YTOlt=10F(Co7^ZP^u;B!GVS&mm{p4ri9lv7+QPnYRpp0rEdOR0Hs!w|3c224sk+BbD-#Hm%ev8Gfdft6{$zeijwY0D=E@G z-hc3eE|4d*mVNes-@>0Fg#svY>q;(_)(Av`mYw5U19phY%}M=%8@p%ZRQb~`qA%qc z)Bl7LtEo@`Z(5=M+VVE2sb zhQ!`J$EUe3*EC6;+#-WMqC6A?0q|=#RwTHZ{&aiI)}Kba=C#flT$|Q&O8)L-0;d?d z8`HO;&cNnB1fZ!c{;++8f_KGncq7V7X|}(RpSKqOLUhZ0%4l{PTW0n|1o{6$zCMEP zLyF%%DR!Fkq@FRlvChR#$mqZy=O+u^+x#2WgT}7QeVxUv}wB@p|Or{j~1-zm0Pnv zx9s40pc#;EMr?d`Fa3J;)ln}0IFCV=hP>N9*VNG+Cqm?AGWI5@oJI+-C6}Qi`5Dk6 zcSGVO*}Qm~jBc{IRgnJ@QBAljbYYFre9YfzXsr{+^IOHzT9cmz+jrVc;|lR+8m}&{ zHu6ce{v@GioSTCVAWm!mf!`OC32IR{k(z%YAAB2$m!MRshGyCmX<^DNhnM9fq9 zDG_6FkB`iobn{~Vmn#7m*tur^&rD*d&=5stRv9B7*v57CW*XH)_O=y&>XzE$;E+HJ z0D$+&qtwU{Qvd*Y!!(9JR-vDb?|i@;Mb(667j!S$rwAKfx?(4hN_Q~pji?0p4j(Fu z*roCjPvqn+o1838zwdgUN20zZS)CZ5QT~U8BH74?>hA+@=2@-xEajpY4Kf$r(4Z}o zCUV2_%^KI0-W{qdR6h2@W2;?{K=p$^DGpCH`5W7zEOz9Arkc+QcRJD)MI(hoPFveM z((Uw4x=c5?z)pmMoJxPq4EgLod5t@_HTmhAW=^>|un=#58!;EEt*#0F9Al;U^7O|D z;m1aunMw<_``}?s14?p1!;4W!mIAjLp9@pA*Lg3jR*6Y+DQ(0rW~w88!N}Gca`aT) z1WVX9afoIohXe1(j10yzpu>Zxm_R=%&$29;JDKK_J)0+v_mNm_(T`jd2uvg)?Ayh* z{a1ju89D^4I1`?{F5ft{Qe#;9(I6NhEZWyE!_9+9bDV8N4}%tpJ2K5HQg^`=2-_<# zMzvtf6jF$EDL*7|r(jJOzT^6t$FsW1gSvByu!-RVDUo!7#b3zlEK`aU=<7z1ZHc3{ z0}TRXw803Yg@4AR5xZ9!%P(a7`)bofcrT4wFi|bT=ou9T=h1y;MVrvFzz?N_*2Cr$ z(REsZ#EEvr@rZ$G`-flaMh5MezQgq%$@G1fRoa+Pmmv%w;iQ6JpiSs}AF)@H5&;R` zXkwv52r>`&ij00RK*TMx7F9j|9s4vAPM7HKx3=B1?M4Jf6dI!&R4BQ4)wr5#R7H|W zy=?H=cX*=i_+mm6JNHJfT)b1q1M+Kv^8G-*wwh=lD+rH$xI|))UgPb}qfg!+i)12^z zI=p(4*S%A3XEy5{^(7wA+m^cP>DPbLJvn*>e$t6@@nt-*0}`oMQ{y;dO=7FnAp-Q}kYHF7Itm1ck(alteaR;68+h9QywtZVSZ|!G5LEHz zXxbDguS{~8v~$MokMpin7e@d4 z9$T|s4sd^xHn!5z#}3Li)4ovco^<23rO1)r0642ilVg+$IIEPe?FQ?$v`Y&trFy4c zs0wNUj72k19QuyZaxj~fShT(nIisiOm7NMt4oJPvGZ!X#lA;qN@_U1j#ftE^X^$)o z-6c&-9DY{Jl3W?1HQOSn$;PIhCo1g z%Xnr^e!#QgM|DdYJ^UAk$G$bCbtOXxqau5I*leN!&LX{33-PIFUbIb^G1kQx9O7hrp7Cr@}DeLq!B4% zx;zlP`_jG)RQz=RCB_SRd@OHCh72T{AqQt-_jW-!9vAJ4=9pRz!scpx@YpF*I?(32 z|KI_w>u=_DAW?WCjI+UZAY=B~HL0r-0)l4}ZR_?C?W_Zn`HX4)`ZSv+o}2}Grz zakIbhDW5Yh%bB?i3j09{}Rn}sE z+KfqLWt#cDEPE6tdM(JK^HOQ3FnEDRY$TN1t_c|$UK`l)tA?9A9Hfa+)pw>B+JwDN zpY?2GIqOKd_HCft&;h?cuqSNI`D=Ggf=@}@NIMlbNW>bovqV!b8wtAYRAl@bPOX2} zI-$c+`f5mA2J+Syl*k0L4OXaT?wR|{^I~ZFW$VVEJ z;rN5U5PncLOvx=e%=wL-yARL4R*M$bzM?ER3GG*$jY3myqey334Ts8ui>?ij?kDQ6 z^H&`Kvi@Hv$zdb#fncjM=RzwW4Ah-hy2g8*D`F*FWQvE?Z>gkAX8n4q$=i6cfg_+& z4^-(23SIHok&e<*xU7t~S#dvmW?-NEOdRY;Ac?$dJhbJm?pY*lec#eL`&u2uEb?v# z&O^qmff1=i(g9wHaz;btaRtB!nbaxJn$CUFifzeTWps$0=8sE@XN2J8fjZyZm7w-# zKW(h#ZVbr(sCIgGEYCvi?Jj{sqe4 zjL9ZBUZJ>=!|?^u(Y%RSxd<+ct7#8}5>@?0nayNGhJK+nUcEmR$_?rdzEKHV-G`31 zcteU_e)LO*XNMdFiJr!#Y~VIApXqPxInL>|p*Rf*J>mm@YyjK6?zQ`T?62?P2*GT1 zmJiVG3mA$A`6)h5I@%`k&F7WftDF_rlzv=(`}sE(lZG=*!ws_20Ixj&$~FL2NypWw z7fo0C273lRP8(?V{xwu^g)S_JZ3w!YWRt}odM+TX6)!NI0uIEkEJRudnN1wU>&3AomLU-D+*a17ch)6b?^VC($Ps8smg|q7XQOc7_bo1>eNxajLzN->x(!G&fmqwlyPM!>-Cr2_!PEDQ z#PL+N4-bs1RA0HMd&8iiu(`!H3@4iJA<+(@XqmQad3(ZusV(A1>QAxREg@z4(aqu% zLLa(LFNeHfC}J>t>1$b8?A6wx&|^4LTh7sGI@Gb=EN&|e8Ued) zHI@mD-^vn95Dc~t*}^LCMZAuL-%~m81JZAZ=1?_?B1t3$X?~*Uy$u7|X6&x7H5TglQNP7n`&A;Kf#l zl?Jw|4^nNc=QFQbH7Tn}BpY!z352MOjim|`9>Y*lCMimA+Z}%8) zzkB^k09Vz52KMt$KQ^fLYlxDugI3?(u8yW(Q?`_`yWyZrGaKnZpkDzM${(P*)W;tX zb&Yg6GBtZe_NVP(g2$^Szgkt*;!|5RN`i~Z1c=~)4ib?=F(u_hY;kEj)>UoV`louG z51904WVyY+&x-i{<-a-;|I?xPfBTz!;>f14z7R%enW0uoZ*r(>-Tey@1f{g?PSlJ1 zCED3FN2)egXoJ=H=O?6fR(g*O2?EkP6P}0c z<+WB0$AH1-+18mIri#Ci9|pE%G$d$S)}E+?5P)0n`ltzRi-?b8aGZ+_ZK$2I)nKC{ zyERA%hFD338getIi`4m!uCU9HIPs_v~8_ZH+cP(xXdN%;1e2F z`}Ya_PT0mdmw*X?b_}T049I@LT;fwe)IR1Kr19PfQE(q6*R5=9J@%Ca>Cx`Xfp-ui zM`5&yLi!}SvwF<=dEYNT$dqq}@Mt{{poK~Xdq1YyKPfunQ>@6St(lfq!gG5SLRr8Wf9~ticd{Ck6hXG$IA6I+LyiiaY?EB zpJU;h;e%?s_y#{PG1$?>oc}d3^DRXj?2MZOCy{@2TNt0iA(yw7E_Rm92|)*K zjV!+v1T3^Jj!E-XaZi=U0xeXD^7qVg_>Cw}r0J}^w!uIPU+$Q&8;-B*ihK38Qd1wt z9~X+)h9E#;wZJbj?uceuk}pd8j4Ux1V$kAnBDU4a%pl)6I5NT3KaHE^W#(&8`rNQz zDu&^y^}%zEQ8l0QbE*ugo?TGpnW!H=B}nkot4G#@tb;0cW=n1bw!0ao@#ABiQR@ur z_MXPEmCy^B0rSI>mkuONzukXfb44KPT9ba@(qmZ`<$o^w)kUg!h#r;NPe0Bsn7Rm~ zsWbdS&TU#)w0YB4RZ$y!SBBe_UHpp35anlId5{9c$MKB3D&|apkok|_yz6`9+(S2T-a_xb9NCDDH3B%m-8-X^k{LQxkI#J#-I_b8blQ~mnJ>DrF zjMbf$m6e!p1^A#1JmsfAnn@$sY5z#gLz3);am`|;7=Ct(V|uq<$)Ll2Yoe|(=_MCd z&-CcC8O6JvG7Dq3TIm)@9jT_ZZRNX4fOf3#>?}TWtO&q}r_9cvg#uY0o>8)p zsCGs(t!sFsZd=AFoO*(0SlNH~RX3xn7xA2B*WdytMf8Ko| z(=I`dtew?~i}pW|0{A%fyBEGykF52S$;hqC%n94~#mApHjG48336u3h zX-ksk>akW{4z0i=5NAWueO&+;QHB8{ENroXuo1RPlt}fa30!FCs~tvT&^^LM_Q5QL z@{;6LhHn4tE7ZJ=NsCm-Vdk9T&cHrU1c zt!BAx9&Ch%s+8AdaBu0>=udv>X74O%T9<92-mx4VGNz9X?L)C3wdN9RjfWLhZ{NQd z{(JeXl8aNdRb`hxZM-kW0hk^;{z)O59caX*~MjyjR1myfzY!b$w|J8e+R|+ zWnjziNV-2tyLLTULOz0UpXOT1pkHA70|0}J2n-m$mC+jK^qp0MiKyyC{ZE<@XAxIM zExJ(i;937R;9nQ2UOG^2Z-M~oKdJUE?(L_Alq8mSy_UnbFrP{_p-M9tfFF|$W4 z5#tlli}9pPCR4IH>1?}yBkPkXn8}Eg^kt99c45xboA?;;*NPM0;1%+osEv_=D;AIZXEBBVUL@y4-Kh5zE_?os!=^aO*Oa9T%P_&{h_?Q{2IAO7Ouc z@?vA|Nv{?EP)gLXi2ow~qB(l21B-Y=_9Usc_YvM*82MwJxjzn|h4tMk)u)zsK0W;z zPXtQ+9!OsxmhP^ID_vHx$d$@+b>R=Tn5uZq@UcWPIP)=x_un&SK`26`mx3|_#h9(^ z2kx%E0^gH+F0h*O%Rr9Zx+ODE!;2M20I!G~gn zMQiI$ned#XlQdTRcj3xP#RY_{R>!le(;#!v|6Avc1j3Fh_b z)I|qAay~)AJ+uqHUHhivdsh)tt7pQ{TUNdP(a|BA&8sm)PweK(NWNEg`O8bj4uLs_ z(e%Ra3XOg_#2jcM)j-!GMaQM!Atxdz&aL9x^>5-eSNz>^UbOUnDm$1bpkkym*uX$u zSl{OhEJKyxgzn~M-2WLqv?ffw)=>K?=fC(+$3U3>|MJ7~zbzMOFc1HQ%*zA=qbQJ! z=}$1-uv9?pF*^K(j0VECgv<{5|D$|LKdJHGph0=W5qMDhpWs0g%0__$hF=68c5rG6 zwKP&3R0EBHZ5r3<{e|3B#T@bu_ZicV&oH3o-v;o5bpFS8DMTvBLv{{`+vpkY7!NB099sIP?9#*(3Ux^NV#lN{38_@Rx{XA1u4RGa@ zefM(7qhn^q^sxbN=CF;hrXpx-1xe>>ey-t8{&~HFrq^&Cbq1EB{hHNWI$(3A0jt!A z+Qx%raKe2k0T)|tbc%f5V+(E}Q4p6?@#jXQXpVghgp`%SA3o9$1mbv*dfVq-hiy!v zD29*_1!A^lJ+UuLzDUIEWaVRtve<+wu|OVD)}5b91ci~&i^N>VI+9-4R=usMs7J2e z8Fu>*vHG30g1Mf9>Jml3eTxtk=?mou;Iw5D;Iz$KFnG$QBzwHqOz`z$J#rCH2jAdO zTbHL$GjJf~;g6j;>!!g@l&suWEwnVbnYMbKN0d+b+><_m)kPz+?KHUAA7TmALmVg{ z0^=yh6LqkVxh#m4Yfa%jiE?R)_sRe^K)kSz5#<;zRCEoIOs8hBsH<@AFU0u|r3C2p zU)`7(^iwa%9G-^~E9*i42I0UR9-u+1BQW1yDi)gE06lfLXC>72%wHJz@yrDtTbn7H zJwwlf%kcx`P_Mrb&Mk(GGh|w`fwCry?-jiSZi1Jd<;1q?W4U%@H<(Zgn2^*YFvc%@dzL~j-)-vf2ffL=!0!gi9M?cy^S>JU$4`f4Y7m|c7=Ri zkkqT2J;QxfZX-TaVH5c883CD{e?1W7(S9g|V)-SYviXnQs_Ch9_u`D1o{31`@j?ct zc*@UN=Ho$zkie`a=&6-ycH$=z;srzC`g(keK+`v-4}mynYi7N~pacW1rfi=pyxiU7 z`}wM}ia@7n+1jvm)zPk8{4QFFw#^^9yAGp*FZdVIbc#mx9Fwg6H+WkoNMTV+) z#*96E@M-y}q`_YU(=`HZlN&oIl5;7(kI?~Md`n8Cym~Y3-c#$Bc^+Ok9zyIENmKCl zfqH9>t~j+--~$S zqITkm_$kWjuM=cFLYbcO+j+;X9;PF}Ya%-h^Y#!QIl$Pl?W&e2bH(i4a`(awg)ZPXpyPGNkWIY8q=4K$F=g4tw zl{V#xl>yQb^^N0BN&OO$9ekn2Gy?n1buE7g&_oZ9g$#9XgS$d$Z0)@6nyBXw;7uTD zzjK^puCa6mP0_*|+L{ddPP7K|Uj?#5iMpBsw`M=xhn!qg+r`K>l5vDLwVf_#n_#n~ z7^}N6$8^6R?+$$%NF+OGo+J0qJb2Cs4= zM!EeYY3QDv?3Gw?13Cn~C^{-{K!HB#Ftey&`7?H)%;UZ{vveWs=h$>PaX{(jUH{ zquOcQ9&_$3W#*PB?Xrr*0!t*6L(M*r@J_tdWY}=6==UmJQaA7H33V;wlOSpBLVky@ z7s2h;SR~}X;j_J%aI7uXKlwwqK+~T;PH5l}uG`=R+-yhNRT|M73hvNbiaY5sY$q<+ zeK0c;H;@v;t)Y$TL-oENov)gV>L{ zkibt%HRzx2kCM;P>3{05QSkn*uSWSvh(8VK1VL*7_9|8B$A$vaMG(oaXICd%zw;{R zzIx&m;1>Ob*i=xJC<-Lq5<+c)t?r=VcG0BQY}+h%*T;NDZuHG~FEnxl+KP$OkjcW1 z>wNxDz&8N|pw@C?AExlxKbvQzp>q++!fm;l|A zMjlw)lRQsfzuL;o6{Y);R)dVi%|@Ecx&aF{=){>bbw(e^KbLtg@0FBSKIPtfnDfb* z=VBb~;Cn1kE4LxCfUgq^(g4rGt@Y($MzEu8{kN7DMZTn$DILPTeQtz0A(AH+*Uo$2 zKd5zTqQ^U_ldL zz7YU=5fH({1pllu`Zm~^0MGWT85R-2JKQ=SCsi+qxi~v>Uwk_2z6R7`c6E?(A1QZ9 zb-eYTQdVW{aSO#u53Y}c7M#a4l!PGY+Hn$n8*q0MNK5%Ja~ONpt&({u)_&~WDBV{z zNPT_anx^1}4l+C!=|pOO_gk*v+pZV3sqC!o8)1RwCi=|_|8xWWzXhuQ33C4r0#*Z3 zUyBjPa;8u{Z)mDlzO{i^+NoLlgO_g;nx5PRA^MJkCLpNR7bzRq><-n zzvURa@o^^lTfDkaxyy0qUs~JZJopo>E=2S#TP}khcs%UC1-zEpBoXQjuIRsz-y$He z$hN6ofgITWH@=dk%>R-;|12O%^AICT-oqa{HdDFE(zR31Rn=B+-u(VFmMN#IS2qB6 zZuB{-WuA0I$&y9Qs=+9LjTNKglf|M?i#|h^GZ>LJKZ9Qv7?8XZ(INc!lt$_g<6}QS zJJKRluudVLoYnMkLMLp>ZhWffM}*P$6^@~ZZP-<>8G8O%%U%?*NDToh1=t)wRACDF zbb{$J#2b403Bv|c0PT%|a)s+PPw%^OFkeegddrf>6h5I*J_-^mf+$j7YfyR&g;qT? zfi-i1Cz;UI%hMA6qM@jdwsE8Z95TWMTw+cI*uf@ZIV-_IYzQed8|cf#|IxlvR`Z+6 z`sOa}ADTfS0rC#!9f*LuL5n^$k_SZ;l%`$?Q@1120$>suhn?FZ7r-_ z*a91(Z$jT_XW5M+79J(u|8;E*L&S)B?KbE*3cGZ9BwXr4Rj`xz=b0;_Cftdy_iDZD z$p8uo&B3BFD6nI`3C9+u&JUIIBn(~M)Hq4ob>8-?)2~d``}Y&Q2#(;e?%=QuN4Lx{ zBv%K7cfa@M-kG)vGNcJOPfi&5`t33>gv{ILWk3EMYT~sVyVWK7o*9K_PW34cP_!JB zy!PfzflJ~Q9HfMwakMiF91tVp+ zBxE-X_#r7~!wwAHJ!d#G#H_Er4%NNGFU`-E2m$+D^o$SHaJlHa$0ee~s*OH87N*hi zu`YWjl!PrMFiDuA?O#hd18t6!N2k9-z2=#fCa@5UCBWA`q)R!MQs&l-ZbvF48>qrP zIIM{6tY7IjF)uHYdkD+UfoB~ahL^a$>} ztXGuAmZ$3<8Pms8d#KE#YKnp-!Nt~{_oOI!_*e)2wW&0ruX|M##MrVv$hcV!okzrp zeRN>JcCifIYfz~r+Y$_H^WSR-Hl%mmtHsB8SFjid#~y%077;zR*wk>Yf4w~T(7E&X z8T`!eA2=9u&kLW*gY41G4F}6WA_iOGpE7}Jfd#@|{!;ttB#BO30eegRv-d>P^tpZo zcT7Dw zj8KrDjf|(Xle}9tvM{`t8hi~2Td>HmgP$xYi?`vTgiH%qxPb_<;EFNq8jKU3Pr?>%j+^yGK z>rsI$cdoQbJ=f;t#`im}t5=-;F!72O6v>>LWVKx)WtkhGtUt8{{5)z23K(5adM;~> z95>0^+HvRGxJI(8A?+ZZ33w}5O`PLZ-v)Hp;yirc|K3(oWNP+|iN3LLf(TEdXXg-+ zWXOXm|JzquX#3*jhFg5PqcSIm&G%Dm!BnMG-+&ME+)v|Zx$DpAiIhjrW#?|v1N0ZY zZxPzUF=1C32@gM~98FW<$Sv%*wNOv_N&%Mh(z10xE^EeJVaVGWk@LnoB`I!MuC0Y? z-uL+^m`UhWZF6Y{R(L4QhwOebf)=Decp_kyEO)8I1glbUw@pL4p>id3J8#*1=eRQgJ%T`vz1UH zN}?m8`t!CEcOs{%oyL%N+$8jM3%X@-KXe~^Zyw-q#W_K3yjfj+-1v}01zJtyz3G`$ zgCAM$`kFwOBc7;?fgiS1HKy9FMCz(J)m|@X;>Mi&XzhomQ;BP3V@}WHf4Sl0qo(lw z*iUrpQ6nk;WXj>BH$iO}6Ch8H!R)`PZ~V1q3#71=YkKyYS-Y}?xT9$>sAAF>z_U1O zM}@SLG#R`e&Ku=%P=6GGnDA1MDZ1TO-m^Z!63KN1#vqqT1{tiL(dXsxAsp-}r}BP$ysxAaOiOoL@f zz;#ZX?g8(KF-Q+gQue^1jgM9cew>#q-B1M=`?BJdA7%QWn1C(4ElR_vY?pY!fnwX3 zKS=Y}@y{}Z@z{OI7kd^K+{%m7`)*~KPVxY{j@t$$X|!-Do0NVO>|w)_QgURN`D$6! zS%D>g$@}Jh%lmX(&kzH&RvseT>Tv6}MA3I`oVu9!FNYFD_RWBG$M@V0kgrDu(Bn*< zE4Rem5Yp~BEPYoSp5p{_mY4j(qA}!R9Caz7HSK&V^B&sozds1EWvfjE^aW7 zdchL3J0LvR3`m?AHd}5sT0x<=%1-gekV&nINOtw7Oufu)C&zdbQ-8|Gf6+G!=$HDO zfs%y>7%^%`bs#3kX3MV?&`O9dD8StYjPMK(YRVTcfiy^Y^ z^!bs&{6V=dpfr}21-h{TR#-4v#rieq(hPf-FA(tCdOr+3;DB^SVRV~Gfb=#SfV{rv z{4vx>17rgKx;L2s9~T7Ku=>ZR6>hUoT`}ctRvP^VIZV#dCUQ|XX6dm>z|^+4hupyE zTprMSOq?cm8cmj6^yP!>#hOA8t;lp!m>DF(a#-zuAOvsF5j&Whvrz%Pzk4Q7Ud4*{TXK$Z_!&0SOX`tqTv z2jPw6dD}whEF(j%PfxZH{m41y(MI_NI>b{?$zM*Sn@+2^N1_EH zH^tICSrUb*k4&z(%IKg&<;BniE+Fsp6G10-2w}+&6fY9uzZr=aJ22FCM>#_HnTTl@ zm?d0>|H6_d0DFL-b-+Xq=)x=kwJbCc#q=8#;?H7r;g6t+bIo0OUl|+lRxO)aUgoJBt?9L0t^1!CagW|CM~b6PtwCRNpw2ZN3D@$?>6)_BF3h{@xIFEtxFM3~&B>%HY!AQ4$FgF{B*m!g!mkW<17#k6FytHhz2ST>C0yr75#&` zm?D)@J#gZ*c~lSFnC%AvUi^-r=iuWqMazkTEZ7rqjkmmoi>W#)HJpzcE0bnPQf>_d z%R=v%u=E~GcRIa7v)r<_$TrO>A^o0iD$F{gGYP0m3|xv;jYtjgJ_#6x-GyhD7(YwR zH8w5+D9_~l>W&Q7ap73%!}y8LdFFl>?s6M0`^b(2w(1W>q}M~Q;{x`86x2h;v+H}= zC-1Y+-RgpqbJIo}q6E(s_VV%pe|0LHsKlV~KTLdk^lnFA#q*MfRkrOVYN#LD0#na9 z<#A_#ns5z{Hi4y60@eSW8S4b&`$=MLcI2oB$)=rc(Kn;B@jM2eOq4kYG-KwM8^WgY zs>eEVlvi?y?MS%IDgwLZy9xnHb_ewm6oh5-4C?TX%+2=NS zQ4F|@`kWpa$t^=8OC9o(rnL-&jY1=dc9$$c60m8ZPgg>2U&!B!|5SHR{8WvmguqHSsqE!T6 zm+U#qf}_oj_c_D>GrRm1Y=f*AqwJaQci^1m$#M)!!KsUm+mqkklwxw&*7^oe0OWiN&OP#v=~hl8LVyLHwc7yV7_Z zRc%wOba(G!?$E`Fv8MbhjSVx-Jx4i5Xd<}f0GMM6KPh9L+N57S1Zo-X&>&K$FWoN| z17zqfYXRHFtb#vNB!VPy&@$=mN(Zo!Lz&7%O&N#b`;TO?`efMoXH8AbIX#k+*f*N`>17vg5ocS;XereLm6a5?^VX$ z!&Z^?8UlzYs1GBtKu)cH^{y|J!9ezjJWsnUxO13aP=qZl=v*_MUXlfqwZC*X z8yMsv(|=vP_tVVheIE>z`O02cgh>KW?EG*DGv*z;a?7{U@4xamO)N1pxA7dxY`q^K zL&(Z>C~!XU>lo*-l45b%!^g#ds-wV+XuQB2r6qMAw&4@m?k_xeK;EfBH{;o+ zP&wv?-(1~T7df@;$*Sn^rr}Rv19`pS{|pFxxsWTXM^PC@kJ9n0Ug@=Su)ZG1SlQPI zcLn)NerFU4kYx0%SE04ykqq{+A{A0o0R~`Hy)O!nR)001 z_r+{Y9mD|92c3y>t=_t`Y#C`fwo8Ac5qUb_cSFIWCKN9$g`!TA|McDoV9pqTK3f8o zKdvPbp2uwy6jR01Bwybhj?0?redeXT4Vp^VNCKT+aIGMoEJsBGkF;gu=>emy1Ke5_vy7~l81LXRU93~ z)*7`{K$vDB_PM*`VYrdp=Bx+zTukhN)cJP$4bNJZbL#4rE1G^FEggpbAOW0T|NZ|H z)5m~{mgOK2(|`@O1CU1iBPjam{|Rq`{O5B5Z$fWk3ATigXlr8u*pzNZh{22brY|Qr zU3MpLBo16Oo(Oe)G07gWK6nTcV-tNkpmRK1FjFt`_^LA5=?lS2H zwgn94`p*9b5%GlqwUOooG{n0NTLROD#7r0nMQIC^l_bKLwQ(BNaP}nM?W4 z@v4$Xn+$Lg%8-D*7qUne=C`;XQm_2Au>F30DAOFj zOQmn*cNSm%!6vukDpkTXU(W+iKmKYmu4UdZ zzp^XQG1qHe7Rk-P*D;ZZ3K?g@!u!gEE+$-mZY=;o|8-y`ARzuaaI!CG2&_WpNo26C zU1lZG(L3`gXYto7RUz_42(QzqN9$74qgX%&41uG-Yb`*bq%-ogyB+Bwi=e*~(P5+; zezCylv(&7_jE9CoZ*Hgm$HgG$yG|1qEAsSd70fHMd6+Wc5hdCx81Jg|Dcd8Hwbv6(8BK)if@ZzR_(y!;OsS`j& zG2=&zXW=~ds{vO6#bUA@Br+DPnXR2#pKr_6E;UbO!NeI(J%H&KdHUOD^rfkiX~=Ip zja;q~4CUt)?lCFOB4zjMF@8&zTtDq{4#p9z?W+nhmTaFUg?ql?QS5Q;db8sKjVntC z;r4~rTDf1bRov!*3c$qe7`3}oxxyICDkil*G9teG(*Y3m{^&fk(K(na=6cyd8m;$} z+hMPy=sDqd^EhxCgr{}~{w+D%^rgAQR*9l+jS2IXD%G;T#Of?;gIR^YZ;yzR9z}7C z0(HTUPOOdP!Cs+AaLswbX{-W+Pccp)*Po6VP&5K5H~neE5|f-3K(T_h+zJhh|y6vtYIUh6f~tr%R1z?LfO#+{ki? z1fvpi!WI44^kH>%?E9HJ(OR(9g=;zKe!qC&SnHQ!o?`9v4&i%X2@UziZ#D3-to~6R z3U|}mo3uB)8DqYeW&iP`KPT+M;-JkXpN#d166AU?PN*x!qEJ7%ZA&{o(&^Bx$4mmG zK4889r1C7VQQl%1Q!ODU+Xw)|_nlbhqz?ADb3mD}8JEo=x7{?$B_Wu&4oxIDF+^(A zezCSOVT}WUNHaJ0;BFBNd=k{X#kJi7%v~^n`QJo8Ol)Vc(@^_W#?8Z>9oOemtIyQ2 zY=I+fPg(^2jPIpibpMGt_%0VLsoD+N0=jmjwa*4>LvRJVBSPY?TppwAXK z9yoCcjAUacw}2cl(7&9q+dY!C#i#Z zvXFkK6@5pcv2o~xgu&(+kizXvEgChv`p!+D{A#H=AE19z!ht~fvuT!n#X>x}+7r`n z+gD47$ucxm1J3NP9)jcKhT5dTi570No_%nGDb~t0^Wn+zS)hgkrJ+9Dq zbv2%9YK(V|_;H1qMB|M3c7av{#k}XK5`aeVfk_MsR9W@^94mwWP4=qf*X`+M$#~!- zr4Gnp;(Czqsvy3Q6NXod4REhV4b`#iV`@Q+m86!q0dvhQ|28^~YaNObYQ^3g6F0Cd zvJ%yr%eFoZBfQ{N;$kfp5YfVeNs}^PP5hz)2&v)60NtFgX}n}Xg=|ava@DZc#fD9- z6Xz%QPAx9zH%Kv!YZz+9LS%z#2`vE|vA(WrseTq_>)(6l_14zjykJ2$9)IiRh2@4Q z(4yXbvN#wHX25Wdv?Zn7dV+t%%fkj|JF|QPVp*}w^~;r4_?ID)|0-nj@8kUIP~v~h zwN(GB%m3dowEoG|`up`iGuQrqz8(+%!I1l3X>n+OJS4V^rOnljg*1L$(MswWbIo)U zG@KTSas6QWe8wA4H;fgj6ue9d)aQo^OmI3KrgvtJ@%XM#0{Qy(ZLuCk+>??BF?pYj z<_R|s7y6YdvGg^P?YLo>Xc5;PkDYNqn(34nBy>$goV?AXGf+ZVDV(o2>y3tk0#yDL4$(B$0(YD$)D#>tD zjqQ1S>9-f(T2bUDyHfNc*6s(bq7Nn<>bPW3E!xEm>cm@`5QS{2meq-cn!vVOB=`tdskS_CUc`SDq^408@(9l0ud5| zQ*Tv=qpHROe=tR7JUl&06D}y_K`f)G!}+BdeWb1;na z?GI*lTxIyW{jr*Z{b6sRk(~_Nk+v^qoL@k0lB^S#g@*tec_$2<8~?y)Sg(@gRmT3Uw;KDl(ZAHMzPVzuau;gz@;*4`Tf@09I9C6jC2LILdN% zpiNzx{O;mJ ze;iYTN#MVo25bao;z-`}d}Ve1`bJI#Lk+UsqAAxkI3KZ}j+RtQ`oi>`q8r@1U1^PY zUq07mU*5fN>+4U6hNQ;W?X4pGrbK2SbA@Nzs@Lxx29q>|O^4Y`F3Wu&uiM8Yjc4FJ zb};^2)cR3#MH}+T((6`DIx%WOr8@c7^R+U=-n;3h12h!hQwfpJrS5K&+7Buw>Vz9x z(@^q#?E@(7peq-RX#?ZU#9v*+v1O;$3m7&xCisO zGpMXO7iI-wQicdZPOC$%u+jjh{3fK@7P5ZGa=BG}ohjV|6zJI2YDaXENz=R~RC;{i$eF3{%q zWIAPdQ)32YjmVv;OMS7Y$55s?L~yNcr~H%6)u$kcqZPlNzQOP`#>&CXub{eJ{?YVD zT<>+pB+w{!tQ-i4TIhcH>m*>He0lDu#dOB4@#O26{Pc5|5bSwLlllN^LTea1c=M&c zbZRzTt3GJMim9g1;dzq&`kF$wZb|(Wds~5H2KMC;K}Yb8(2&u-v@kNc(HdQqR$Cf#_wQpU;%?;A&4CD;_YaeZNB!(lW(+5A4ZtfiwAIlLw2HoBMP z12Z(^BtBb5fb8c@WX$Nr&)aIB2c#+KmD*?rx+besew23OcmMoVWv+`={CHa>S#>4Nz{d>>Jo*I%S%O4~eIQAK9oIo`VD#9ZQV8yq9U!gnK$f`E2v%srszc-a zY`#*z*S_{%-{ksH28mtKB%i?~gczqF*(0PmaH=w~srA7iUT==?hK0 zsdhUe7p!3rX1->}^&ix!YD#It3r?oH%po5y)8?GDp8C;dI`=~b+ho{Wb!nF&?-7FQ zJ~{vX@rdMS&}mDk8+GNIC0V1MSLd%T#_HE>T~j4byN$%-G8I4Gx+g|-*0ro)WgC_? zYy3E=$MxnmR|S^?`q=uw1giMR8;xh{b4}+D1m}I zJOD5od^`=Vrm~_84yC4YSA&DXjlQ2fnzGOk43FQ3r&U(l@f#N;JUT4RUS(tSr!rzv zCF&?dn$oOW;m|p}mAY%oXWASz5ad4F;r})$M(JA<{6Z*}Xpg+f+FiJPrBmTgKIW^c&>Wux}YLdBu*KU%+RdRf&9}+*i=_N*x-nqU5S~ zI~&&HdGA8?#&ba>`bJwiU2}@LoKhc^_@}e)j6_V%D1CngU6Fcqou8I|aQy@7a*9o9 zXeSLX%8p0%1;aY!9Q^wcN;b>JjPUr!DWHUwZGOBK@L(Awe2yhO^JDGfN-7YF(fa?sq=b zem0R*W%rgLOqWdmg-V~?y_=g3nSr_rhA(43wZ5UXOag^n8nSAZjV2b@pYw;T9~4a_Mq4EeTIQ5}(a(#DKBezDswwq2qz%}k^(V%{TvQD?R8T2&X8XzH$h2o#ObBU`FRi) z3zwX?`3-{bL+5`<-L>ZW;)`LH=nyJ2YAfiM`}g-m*CtWEabt^$|47siav{$xn|?cz zRh#tEB+U@nlU)ir0c;{Ebw6-9N5l?yQN3}M!s)*1P`VpAz9jE(@*wPfUozQj*KCwY z9;d{6DHKzY)%uyq`~We#pnM)-2e5+kf9)G*Tpkw2Z+cH2JACNO`-sdivbB3fl6rsBWyD&!=2IBjL$ z98-3fTVJbS;E|+KAM^+&a56=Iae7Pe&ROKB+Pu`vCK(7)Z&>J|dFVT)X#jE1L}H z@SMRv@zQ$dfr%U}#pg+RB?&dQ**mZXq3lzZZhyDToGlaES-cI?`mhk``5Da%<5cE! zyVbIR^+dC=i04ICook+@h#U&TOk9tmOCaa41_c4=c1)DU#p6Rn=5V>|{5c(%?@Z%d zduUUNRuFsE@rzH5O7EH+Guq5$SFganH2@@~qHvR0&mT`vx-FRi`>?50zj`j2+bO)Z zjs1i*3DjSuq@aqFb`Y+p(IRH)O>iU-gkHM>6Cho8Ux+EmwEt2%%xV4&S}(Qk3Mt!N z8Ced^(Mq^q{W(ppNqziXlHP=xtTo?+BLJvY-hvq>CtDs+j@W?K+O1O(MtZ2QFU1&&ccD*2BJ%7bo z54}2axZD}LPZFRwQB8`M=|a?%ftSCXQA zHh(B=1f8I`N+{b_utm9Mp#wW*pUf~%o)rN-jYHwtzkU|iNwjN051>H< zbI0bc!|hOgA8$vcb^)I8>)}I$3WgnFTg1>psHHSj@#)9eHO4n9mvF%AwXFqxUId-^ ziG2qnhnN62Qp{xVH>jdW$ie@jH2FG{RL#^Ru2;g_Qas&yi|dXdU{q8Z52%q1&JiFx z9UlMF&?SW+ABq_9>hC0Jj$DQNhC3CrGD`*tl}Np*EY;`Hyo9~|AdR|&A4<|Hm$xck zF1h`j3J;I+p7e0Q$PY_&^^qw&0P`nfd&86Wj6tD{>VYd#*CvGs$&DuK*$r|5dK5OtuZcF-y;Cd@PXlv9H>g7P9s> z|Kt)kZ=e9jU!d;^CC7|0Jz`%$K2qXU$X;WaBkUAr)Jm_K2JVf48jxzJV6-G2>Bdfd zNJKg^b*+Xfi<0?Q;rRbxi)wfLQ28uuB|Rq6Wg=;EY^gc{|I)nk;jQS_@_zFvrFTgm zG?I&pL!~C0%`ID6mJLLUJE+4eROq`4a$w&n(q{cOa1$GY6yb*`F&`wqh@{hOinlw0 zywa*%cMcrU);%X3NU{R*D_0XIemD?)Xz-jaMZo;kca0H7KaL|qIpzp|W}>&XvWH(@ z1~?Nh9}lid5hW=qWRX}Dvq)(dv;b2>9s5Q4#@vgBmqN@G0m z^j2#n672J5^LwfU?sX1c_>E`sg|CWeDd@xB+-0qRCb+{$~*N((Uy>UZysuDveT$Ei$!Z(Zmjj*V~l0jl<*Jr?U>|nlIm0;c) zZlz6YtRt+2m!7L&c$zI{jg(d?cbEzKy2>Q5iS z@R45BVfR!qJ=5Ons|6ki^2Ht^ph zB@??j!(I|hbgn|1LFV!j*Yd5RA63${T{!yvms~xT@sF#6>{h*TURRQm%jcIi!!M4AjW>{6e7I9 zYJz}$uX&=ZJ&Kd424rSy8F}TS=`N}-UpzAn?r)6*i{mNZ0c_i>$5D#q{<3AuJwO0vfu#pRsYs-`JZ*cn88c z+rXg*w$VZvpc@c`^)D$}=Zz;yEQ!4Nj$5P4)30hj>P~KXP(HZr&iujK4PmH0 zMBrbU&m>EmHAk&3wLTvxa52JtY~aJST3hpw>b`nP%H>MZNEVFKn#KAMGNfp#c(mr) zVevEHx;}{8JGh+-bgx2g6q`Pd+{hpZ2#8YVWSD;C@ZhlYj<==oPnMn%H7SZV`VPv@ zARJlF*Z5R8(wdQnuCI2?Um+RA(lUJ1Hs_hZ_?W=qZAY=0D6ZL1FdLv66*Sxe@=4Kn(~`k09bZ2ypp zvTzGTkS+rp6vn{-XUw&emY7tZyzDw z-WoM=>N=Dh1JsFHFVIuC?pjkCXTgMok)B2Lx4s~KLe+5{7~5?>t=}VCmw1vEUnv8^ z&HdA%csDCuSltG$?o(@bg7wAlyEa=TnSNWW-l`5lHkuaF5s2Q~CRf5tIT3(YT2qq-cVQ^UaR6LF_E58Cdv zJy;m4XUFBcQ!ZGCNhBgdLbE06p$O&6l9R9Ss~i6 zMHh4-*I+}I?W?WT#Ay^AP|GY9IWax2+~IU zU)Z+$FWcXLFxvhpegFIQ?`!gR4E!Aff5*VzG4OW`{2c@Tuf+iQ@2THSxI`e}>sRW$ S6&**H&@EdY3!^d>>;DF|h1&rD From 804867c63485d2b019af023386389a5d9f6d56f1 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Fri, 12 Jun 2026 16:23:51 +0800 Subject: [PATCH 029/156] chore: remove uppercase discussion QR image --- docs/images/discussion-group-qr.JPG | Bin 289068 -> 0 bytes 1 file changed, 0 insertions(+), 0 deletions(-) delete mode 100644 docs/images/discussion-group-qr.JPG diff --git a/docs/images/discussion-group-qr.JPG b/docs/images/discussion-group-qr.JPG deleted file mode 100644 index a35169e9791d4c52f922965f6dc80011bbfdd7a2..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 289068 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

+ + @@ -1978,6 +2009,7 @@ function RelayScreen({ 决定由谁写入 ~/.codex/config.toml 与 auth.json。auto 在开启联动且检测到 CC Switch 时交由 CC Switch 管理。 { - if (event.currentTarget.checked) { - void actions.importCcsProviders(); - return; - } - const next = { ...normalized, ccsLinkEnabled: false }; - void saveRelaySettings(next); - }} - type="checkbox" - /> - - 联动 cc-switch - 开启后读取 cc-switch Codex 供应商并保存时回写;建议配合“配置所有权”避免与 CC Switch 互相覆盖。 - - - -
+ +
+ + + onFormChange({ + ...form, + codexAppImageOverlayOpacity: clampNumber(Number(event.currentTarget.value), 1, 100), + }) + } + /> + +

=-Uizm8Gz-|!DhL! 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 H|K9`v1IIp{ From c4e236097f041baac53878e30392cfcd76c5f64c Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Fri, 12 Jun 2026 18:43:51 +0800 Subject: [PATCH 030/156] chore: update manager release --- Cargo.lock | 8 +- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/tauri.conf.json | 2 +- apps/codex-plus-manager/src/App.tsx | 32 ++++++ apps/codex-plus-manager/src/presets.ts | 12 ++- apps/codex-plus-manager/src/styles.css | 102 ++++++++++++++++-- crates/codex-plus-core/src/version.rs | 4 +- docs/images/discussion-group-qr.jpg | Bin 187546 -> 188926 bytes 10 files changed, 145 insertions(+), 23 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 4bcb67e91..55de8a450 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.4" +version = "1.2.6" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.4" +version = "1.2.6" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.4" +version = "1.2.6" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.4" +version = "1.2.6" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 07e3b4037..16ccc7a46 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.4" +version = "1.2.6" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 4355e4535..d6a9152b3 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.4", + "version": "1.2.6", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.4", + "version": "1.2.6", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index ae9c5ec38..b857623a9 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.4", + "version": "1.2.6", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 0bb3cb3a1..925534879 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.4", + "version": "1.2.6", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 66b912035..6bf090551 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -1810,6 +1810,37 @@ function OverviewScreen({ const health = healthItems(overview); return ( <> + + +

{isNew ? null : ( )} @@ -3367,14 +3263,6 @@ function RelayProfileEditor({ {relayProfileModeHelp(profile)} - {profile.linkedCcsProviderId ? ( -
- - - 此供应商联动自 cc-switch:{profile.linkedCcsProviderId}。开启“保存时回写 cc-switch”后,本页保存会同步修改 cc-switch 数据库中的同一供应商。 - -
- ) : null} ); } @@ -4012,8 +3900,8 @@ function withLiveEntryState(entry: CodexContextEntry, live?: CodexContextEntry): return live ? { ...entry, enabled: live.enabled } : { ...entry, enabled: false }; } -function contextEntriesForProfile(settings: BackendSettings, _profile: RelayProfile): CodexContextEntries { - return contextEntriesFromSettings(settings); +function contextEntriesForProfile(settings: BackendSettings, profile: RelayProfile): CodexContextEntries { + return filterContextEntriesBySelection(contextEntriesFromSettings(settings), profile.contextSelection); } function contextEntriesFromConfig(configContents: string): CodexContextEntries { @@ -4178,6 +4066,19 @@ function contextEntriesByKind(entries: CodexContextEntries, kind: ContextKind): return dedupeContextEntryList(entries.plugins); } +function filterContextEntriesBySelection(entries: CodexContextEntries, selection: RelayContextSelection): CodexContextEntries { + const selected = { + mcp: new Set(selection.mcpServers.map((id) => id.trim()).filter(Boolean)), + skill: new Set(selection.skills.map((id) => id.trim()).filter(Boolean)), + plugin: new Set(selection.plugins.map((id) => id.trim()).filter(Boolean)), + }; + return { + mcpServers: entries.mcpServers.filter((entry) => selected.mcp.has(entry.id)), + skills: entries.skills.filter((entry) => selected.skill.has(entry.id)), + plugins: entries.plugins.filter((entry) => selected.plugin.has(entry.id)), + }; +} + function configHasCodexGoalsFeature(configContents: string): boolean { let inFeatures = false; for (const line of configContents.split(/\r?\n/)) { @@ -4291,8 +4192,8 @@ function relativeContextSubtableToAbsolute(line: string, tableName: string, id: function syncLiveConfigContextState(liveConfigContents: string, settings: BackendSettings): string { const entries = contextEntriesFromSettings(settings); - const withoutContext = stripAllContextEntriesFromConfig(liveConfigContents); - return joinTomlSectionsRootFirst([withoutContext, selectedContextConfigToml(entries)]); + const withoutManaged = stripContextEntriesFromConfig(liveConfigContents, entries); + return joinTomlSectionsRootFirst([withoutManaged, selectedContextConfigToml(entries)]); } function relayCombinedCommonConfig(settings: BackendSettings): string { @@ -4330,24 +4231,6 @@ function stripContextEntriesFromConfig(configContents: string, entries: CodexCon return ensureTrailingNewline(kept.join("\n").trimEnd()); } -function stripAllContextEntriesFromConfig(configContents: string): string { - const lines = configContents.split(/\r?\n/); - const kept: string[] = []; - let skipping = false; - - for (const line of lines) { - const contextHeader = contextHeaderFromLine(line); - if (contextHeader) { - skipping = true; - } else if (/^\s*\[[^\]]+\]\s*$/.test(line)) { - skipping = false; - } - if (!skipping) kept.push(line); - } - - return ensureTrailingNewline(kept.join("\n").trimEnd()); -} - function stripCommonConfigTextFallback(configContents: string, commonConfig: string): string { const anchors = commonConfigAnchors(commonConfig); if (!anchors.rootKeys.size && !anchors.tableHeaders.size) return ensureTrailingNewline(configContents.trimEnd()); @@ -4560,58 +4443,9 @@ function contextSelectionForAllEntries(settings: BackendSettings): RelayContextS }; } -function normalizeConfigOwnership(value: ConfigOwnership | undefined): ConfigOwnership { - if (value === "codexPlusPlus" || value === "ccSwitch" || value === "auto") return value; - return "auto"; -} - -function configOwnershipLabel(value: ConfigOwnership): string { - if (value === "codexPlusPlus") return "Codex++"; - if (value === "ccSwitch") return "CC Switch"; - return "自动"; -} - -function CoordinationStatusBanner({ - form, - actions, -}: { - form: BackendSettings; - actions: Actions; -}) { - const [status, setStatus] = useState(null); - useEffect(() => { - void actions.refreshCoordinationStatus().then(setStatus); - }, [actions, form.ccsLinkEnabled, form.configOwnership, form.relayProfilesEnabled, form.activeRelayId]); - if (!status) return null; - const tone = status.conflictDetected ? "failed" : status.effectiveOwnership === "ccSwitch" ? "success" : "info"; - return ( -
- 配置协调状态 -

{status.guidance}

- {status.ccswitchDetected ? ( - - 有效所有权:{configOwnershipLabel(status.effectiveOwnership)};live model_provider:{status.liveModelProvider || "(空)"} - {status.ccswitchCurrentProviderName ? `;CC Switch 当前:${status.ccswitchCurrentProviderName}` : ""} - {status.lastWriter ? `;上次写入方:${status.lastWriter}` : ""} - - ) : null} - {status.conflictDetected ? {status.conflictMessage} : null} -
- ); -} - -function relayProfileSourceLabel(profile: RelayProfile) { - return profile.linkedCcsProviderId ? "cc-switch 联动" : "本地"; -} - function relayProfileEditorStatus(profile: RelayProfile, form: BackendSettings, isNew: boolean) { if (isNew) return "新建供应商需要先保存到列表"; if (!form.relayProfilesEnabled) return "供应商配置总开关已关闭;当前只保存配置,不写入 Codex live 文件"; - if (profile.linkedCcsProviderId && form.ccsLinkEnabled && form.configOwnership !== "codexPlusPlus") { - return "联动 cc-switch;切换时从 cc-switch 数据库应用配置,避免覆盖冲突"; - } - if (profile.linkedCcsProviderId && form.ccsLinkEnabled) return "联动 cc-switch;保存后会回写外部供应商数据库"; - if (profile.linkedCcsProviderId) return "联动 cc-switch;当前未开启保存回写"; return profile.id === form.activeRelayId ? "当前正在使用" : "编辑后保存列表,再切换模式时会使用新配置"; } @@ -4689,7 +4523,6 @@ function normalizeSettings(settings: BackendSettings): BackendSettings { : [ { id: settings.activeRelayId || "default", - linkedCcsProviderId: "", name: "默认中转", model: "", baseUrl: settings.relayBaseUrl || defaultSettings.relayBaseUrl, @@ -4717,8 +4550,7 @@ function normalizeSettings(settings: BackendSettings): BackendSettings { ...defaultSettings, ...settings, relayProfilesEnabled: settings.relayProfilesEnabled !== false, - ccsLinkEnabled: settings.ccsLinkEnabled === true, - configOwnership: normalizeConfigOwnership(settings.configOwnership), + codexAppImageOverlayOpacity: clampNumber(settings.codexAppImageOverlayOpacity || 35, 1, 100), relayCommonConfigContents, relayContextConfigContents, relayProfiles: profiles, @@ -4726,6 +4558,11 @@ function normalizeSettings(settings: BackendSettings): BackendSettings { }); } +function clampNumber(value: number, min: number, max: number): number { + if (!Number.isFinite(value)) return min; + return Math.min(max, Math.max(min, Math.round(value))); +} + function codexExtraArgsToInput(args: string[] | undefined) { return (args ?? []).join("\n"); } @@ -4738,7 +4575,6 @@ function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = const legacyMixedApi = profile.relayMode === "mixedApi"; let normalized: RelayProfile = { ...profile, - linkedCcsProviderId: profile.linkedCcsProviderId || "", model: profile.model || "", baseUrl: profile.baseUrl || defaultSettings.relayBaseUrl, upstreamBaseUrl: profile.upstreamBaseUrl || profile.baseUrl || "", @@ -4820,32 +4656,6 @@ function relayProfileModeHelp(profile: RelayProfile): string { return "此供应商会保留官方登录模式,并把请求混入当前 API Key;页面增强仍使用兼容模式。"; } -function relayProfileReadinessText(profile: RelayProfile, relay: RelayResult | null): string { - if (profile.relayMode === "official") { - if (profile.officialMixApiKey) { - const hasApiFields = profile.baseUrl.trim() && profile.apiKey.trim(); - if (!relay?.authenticated && !hasApiFields) return "当前未登录官方账号,也未配置混入 API 的 Base URL / Key。"; - if (!relay?.authenticated) return "当前未登录官方账号;官方登录混入 API Key 需要先登录官方账号。"; - if (!hasApiFields) return "当前还没有填写混入 API 的 Base URL / Key。"; - return `官方登录已就绪:${relay.accountLabel || "已登录"},会混入当前 API Key。`; - } - return relay?.authenticated - ? `官方账号已登录:${relay.accountLabel || relay.authSource || "已检测"}。` - : "当前未登录官方账号;切到官方登录模式后仍需要先在 Codex/ChatGPT 登录。"; - } - const hasFiles = profile.configContents.trim() && profile.authContents.trim(); - if (!hasFiles) return "当前供应商还没有完整 config.toml / API Key 存档。"; - if (relay && !relay.configured) return "纯 API 配置未完整写入:请检查此供应商是否有 OPENAI_API_KEY,且 config.toml 是否包含 model_provider / provider / base_url。"; - return "纯 API 就绪:会同时写入 config.toml 和 auth.json。"; -} - -function relayProfileSwitchCommand(profile: RelayProfile): "clear_relay_injection" | "apply_relay_injection" | "apply_pure_api_injection" { - if (profile.relayMode === "pureApi") return "apply_pure_api_injection"; - if (profile.relayMode === "official" && !profile.officialMixApiKey) return "clear_relay_injection"; - if (profile.configContents.trim()) return "apply_relay_injection"; - return profile.officialMixApiKey ? "apply_relay_injection" : "clear_relay_injection"; -} - function relayProfileModeSwitchedText(profile: RelayProfile): string { if (profile.relayMode === "pureApi") return "已按此供应商切换到纯 API;页面增强已设为完整增强。"; if (profile.officialMixApiKey) return "已按此供应商使用官方登录,并混入 API Key;页面增强已设为兼容增强。"; @@ -5231,27 +5041,6 @@ function syncLegacyRelayFields(settings: BackendSettings): BackendSettings { }; } -function mergeLiveLinkedRelayProfiles(settings: BackendSettings, liveSettings: BackendSettings): BackendSettings { - const liveLinkedById = new Map( - liveSettings.relayProfiles - .filter((profile) => profile.linkedCcsProviderId.trim()) - .map((profile) => [profile.id, profile]), - ); - if (!liveLinkedById.size) return settings; - const existingIds = new Set(settings.relayProfiles.map((profile) => profile.id)); - const relayProfiles = [ - ...settings.relayProfiles.map((profile) => liveLinkedById.get(profile.id) ?? profile), - ...liveSettings.relayProfiles.filter((profile) => profile.linkedCcsProviderId.trim() && !existingIds.has(profile.id)), - ]; - return syncLegacyRelayFields({ - ...settings, - relayProfiles, - activeRelayId: relayProfiles.some((profile) => profile.id === settings.activeRelayId) - ? settings.activeRelayId - : liveSettings.activeRelayId, - }); -} - function updateRelayProfile(settings: BackendSettings, id: string, patch: Partial): BackendSettings { return syncLegacyRelayFields({ ...settings, @@ -5267,7 +5056,6 @@ function createRelayProfile(settings: BackendSettings): RelayProfile { const contextSelection = contextSelectionForAllEntries(settings); const next = { id, - linkedCcsProviderId: "", name: `供应商 ${settings.relayProfiles.length + 1}`, model: "", baseUrl: defaultSettings.relayBaseUrl, @@ -5311,7 +5099,6 @@ function duplicateRelayProfile(settings: BackendSettings, id: string): BackendSe const next = { ...source, id: nextId, - linkedCcsProviderId: "", name: `${source.name || "未命名供应商"} 副本`, }; const relayProfiles = [...settings.relayProfiles]; diff --git a/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx b/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx index ed2b4fa95..361eaef2a 100644 --- a/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx +++ b/apps/codex-plus-manager/src/components/ProviderPresetSelector.tsx @@ -4,7 +4,6 @@ import { PRESETS } from "../presets"; export type RelayProfile = { id: string; - linkedCcsProviderId: string; name: string; model: string; baseUrl: string; @@ -169,4 +168,4 @@ function PresetButton({ {preset.model} ); -} \ No newline at end of file +} diff --git a/apps/codex-plus-manager/src/components/ui/button.tsx b/apps/codex-plus-manager/src/components/ui/button.tsx index 1f7fe9ca1..dac8089c5 100644 --- a/apps/codex-plus-manager/src/components/ui/button.tsx +++ b/apps/codex-plus-manager/src/components/ui/button.tsx @@ -11,7 +11,7 @@ const buttonVariants = cva( variant: { default: "bg-primary text-primary-foreground hover:bg-primary/90", secondary: "bg-secondary text-secondary-foreground hover:bg-secondary/80", - outline: "border border-input bg-background hover:bg-accent hover:text-accent-foreground", + outline: "border border-input bg-secondary text-secondary-foreground hover:bg-accent hover:text-accent-foreground", ghost: "hover:bg-accent hover:text-accent-foreground", }, size: { diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 054c4b2d4..8caed4895 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -24,47 +24,61 @@ :root, .dark { - --background: 240 10% 3.9%; - --foreground: 0 0% 98%; - --card: 240 10% 3.9%; - --card-foreground: 0 0% 98%; - --popover: 240 10% 3.9%; - --popover-foreground: 0 0% 98%; - --primary: 0 0% 98%; - --primary-foreground: 240 5.9% 10%; - --secondary: 240 3.7% 15.9%; - --secondary-foreground: 0 0% 98%; - --muted: 240 3.7% 15.9%; - --muted-foreground: 240 5% 64.9%; - --accent: 240 3.7% 15.9%; - --accent-foreground: 0 0% 98%; - --destructive: 0 62.8% 30.6%; + --background: 0 0% 9.4%; + --foreground: 0 0% 94%; + --card: 0 0% 13%; + --card-foreground: 0 0% 94%; + --popover: 0 0% 12.5%; + --popover-foreground: 0 0% 94%; + --primary: 151 72% 53%; + --primary-foreground: 150 42% 8%; + --secondary: 0 0% 18%; + --secondary-foreground: 0 0% 94%; + --muted: 0 0% 16%; + --muted-foreground: 0 0% 64%; + --accent: 220 6% 24%; + --accent-foreground: 0 0% 94%; + --destructive: 0 72% 44%; --destructive-foreground: 0 0% 98%; - --border: 240 3.7% 15.9%; - --input: 240 3.7% 15.9%; - --ring: 240 4.9% 83.9%; + --border: 0 0% 19%; + --input: 0 0% 18%; + --ring: 151 72% 53%; + --shell-bg: 0 0% 9.4%; + --sidebar-bg: 220 8% 14%; + --sidebar-muted: 220 6% 24%; + --sidebar-border: 220 5% 19%; + --surface-raised: 0 0% 15.5%; + --surface-sunken: 0 0% 12%; + --brand-accent: 151 72% 53%; } .light { --background: 0 0% 98%; - --foreground: 240 10% 3.9%; + --foreground: 220 13% 13%; --card: 0 0% 100%; - --card-foreground: 240 10% 3.9%; + --card-foreground: 220 13% 13%; --popover: 0 0% 100%; - --popover-foreground: 240 10% 3.9%; - --primary: 240 5.9% 10%; - --primary-foreground: 0 0% 98%; - --secondary: 240 4.8% 95.9%; - --secondary-foreground: 240 5.9% 10%; - --muted: 240 4.8% 95.9%; - --muted-foreground: 240 3.8% 46.1%; - --accent: 240 4.8% 95.9%; - --accent-foreground: 240 5.9% 10%; - --destructive: 0 72.22% 50.59%; + --popover-foreground: 220 13% 13%; + --primary: 151 64% 36%; + --primary-foreground: 0 0% 100%; + --secondary: 220 14% 96%; + --secondary-foreground: 220 13% 13%; + --muted: 220 14% 96%; + --muted-foreground: 220 9% 46%; + --accent: 220 12% 92%; + --accent-foreground: 220 13% 13%; + --destructive: 0 72% 44%; --destructive-foreground: 0 0% 98%; - --border: 240 5.9% 90%; - --input: 240 5.9% 90%; - --ring: 240 5.9% 10%; + --border: 220 13% 88%; + --input: 220 13% 88%; + --ring: 151 64% 36%; + --shell-bg: 220 20% 96%; + --sidebar-bg: 220 15% 92%; + --sidebar-muted: 220 12% 86%; + --sidebar-border: 220 13% 82%; + --surface-raised: 0 0% 100%; + --surface-sunken: 220 20% 96%; + --brand-accent: 151 64% 36%; } :root { @@ -108,7 +122,7 @@ body { width: 100vw; height: 100vh; overflow: hidden; - background: hsl(var(--background)); + background: hsl(var(--shell-bg)); } .shell { @@ -117,15 +131,15 @@ body { width: 100vw; height: 100vh; overflow: hidden; - background: hsl(var(--background)); + background: hsl(var(--shell-bg)); color: hsl(var(--foreground)); } .sidebar { min-height: 0; overflow: hidden; - border-right: 1px solid hsl(var(--border)); - background: hsl(var(--card)); + border-right: 1px solid hsl(var(--sidebar-border)); + background: hsl(var(--sidebar-bg)); padding: 14px 10px; } @@ -134,7 +148,7 @@ body { align-items: center; gap: 10px; padding: 6px 8px 16px; - border-bottom: 1px solid hsl(var(--border)); + border-bottom: 1px solid hsl(var(--sidebar-border)); } .brand-copy { @@ -154,7 +168,7 @@ body { width: 36px; height: 36px; border-radius: 6px; - background: hsl(var(--primary)); + background: hsl(var(--brand-accent)); color: hsl(var(--primary-foreground)); font-weight: 700; } @@ -170,16 +184,16 @@ body { justify-content: center; width: 22px; height: 22px; - border: 1px solid hsl(45 93% 47% / 0.4); + border: 1px solid hsl(var(--brand-accent) / 0.42); border-radius: 999px; - background: hsl(45 93% 47% / 0.16); - color: hsl(45 93% 58%); + background: hsl(var(--brand-accent) / 0.16); + color: hsl(var(--brand-accent)); cursor: pointer; padding: 0; } .update-dot:hover { - background: hsl(45 93% 47% / 0.26); + background: hsl(var(--brand-accent) / 0.26); transform: translateY(-1px); } @@ -244,18 +258,18 @@ body { } .nav-item:hover { - background: hsl(var(--accent)); - box-shadow: inset 2px 0 0 hsl(var(--primary) / 0.45); + background: hsl(var(--sidebar-muted)); + box-shadow: inset 2px 0 0 hsl(var(--brand-accent) / 0.75); } .nav-item.active { - border-color: hsl(var(--border)); - background: hsl(var(--muted)); + border-color: hsl(var(--sidebar-border)); + background: hsl(var(--sidebar-muted)); } .nav-item.active .nav-icon { - background: hsl(var(--background) / 0.55); - color: hsl(var(--foreground)); + background: hsl(var(--brand-accent) / 0.18); + color: hsl(var(--brand-accent)); } .workspace { @@ -275,7 +289,7 @@ body { min-height: 72px; padding: 14px 20px; border-bottom: 1px solid hsl(var(--border)); - background: hsl(var(--card)); + background: hsl(var(--shell-bg)); animation: topbar-enter var(--motion-normal) var(--motion-ease) both; } @@ -322,7 +336,7 @@ body { padding: 0; border-color: hsl(var(--border)); background: hsl(var(--card)); - box-shadow: 0 10px 30px hsl(0 0% 0% / 0.12); + box-shadow: 0 10px 30px hsl(0 0% 0% / 0.18); transition: border-color var(--motion-normal) var(--motion-ease), box-shadow var(--motion-normal) var(--motion-ease), @@ -331,14 +345,12 @@ body { .panel:hover { border-color: hsl(var(--border) / 0.9); - box-shadow: 0 14px 38px hsl(0 0% 0% / 0.16); + box-shadow: 0 14px 38px hsl(0 0% 0% / 0.24); } .hero-panel { overflow: hidden; - background: - linear-gradient(135deg, hsl(172 54% 20% / 0.38), transparent 42%), - hsl(var(--card)); + background: hsl(var(--card)); } .hero-content { @@ -378,23 +390,19 @@ body { } .eyebrow { - color: hsl(172 66% 52%); + color: hsl(var(--brand-accent)); font-size: 12px; font-weight: 700; letter-spacing: 0; } .jojocode-overview { - border-color: hsl(172 66% 42% / 0.38); - background: - linear-gradient(135deg, hsl(172 38% 13% / 0.78), hsl(var(--card)) 58%), - hsl(var(--card)); + border-color: hsl(var(--border)); + background: hsl(var(--card)); } .light .jojocode-overview { - background: - linear-gradient(135deg, hsl(172 75% 93% / 0.9), hsl(var(--card)) 58%), - hsl(var(--card)); + background: hsl(var(--card)); } .jojocode-overview-layout { @@ -416,10 +424,10 @@ body { place-items: center; width: 42px; height: 42px; - border: 1px solid hsl(172 66% 46% / 0.38); + border: 1px solid hsl(var(--brand-accent) / 0.38); border-radius: 8px; - background: hsl(172 66% 32% / 0.22); - color: hsl(172 66% 58%); + background: hsl(var(--brand-accent) / 0.16); + color: hsl(var(--brand-accent)); } .jojocode-overview h2 { @@ -449,7 +457,7 @@ body { } .jojocode-model-tags span { - border: 1px solid hsl(172 66% 46% / 0.28); + border: 1px solid hsl(var(--brand-accent) / 0.28); border-radius: 999px; background: hsl(var(--background) / 0.5); color: hsl(var(--foreground)); @@ -479,19 +487,19 @@ body { } .good { - color: #34d399; + color: hsl(164 74% 62%); } .light .good { - color: #047857; + color: hsl(164 74% 62%); } .warn { - color: #fbbf24; + color: hsl(var(--brand-accent)); } .light .warn { - color: #a16207; + color: hsl(var(--brand-accent)); } .bad { @@ -580,10 +588,6 @@ body { margin-bottom: 10px; } -.relay-link-switch { - margin-bottom: 10px; -} - .relay-profile-card { display: grid; grid-template-columns: 32px 32px minmax(0, 1fr) auto; @@ -592,7 +596,7 @@ body { width: 100%; border: 1px solid hsl(var(--border)); border-radius: 8px; - background: hsl(var(--secondary) / 0.32); + background: hsl(var(--surface-raised)); color: hsl(var(--foreground)); padding: 14px 16px; text-align: left; @@ -609,12 +613,13 @@ body { .relay-profile-card:hover, .relay-profile-card:focus-visible { border-color: hsl(var(--primary) / 0.72); - box-shadow: 0 10px 24px hsl(var(--foreground) / 0.08); + box-shadow: 0 10px 24px hsl(0 0% 0% / 0.28); transform: translateY(-1px); outline: none; } .relay-profile-card.active { + border-color: hsl(var(--primary) / 0.5); background: hsl(var(--primary) / 0.12); } @@ -744,7 +749,7 @@ body { align-content: start; gap: 14px; overflow: auto; - background: hsl(var(--background)); + background: hsl(var(--shell-bg)); scrollbar-gutter: stable; animation: relay-detail-enter 280ms var(--motion-ease) both; } @@ -755,7 +760,7 @@ body { z-index: 20; margin: 0; padding: 10px 20px; - background: hsl(var(--background)); + background: hsl(var(--shell-bg)); border-bottom: 1px solid hsl(var(--border)); animation: relay-detail-toolbar-enter 220ms var(--motion-ease) both; } @@ -957,9 +962,9 @@ body { .protocol-option { min-height: 40px; - border: 1px solid hsl(var(--border)); + border: 1px solid hsl(var(--border) / 0.86); border-radius: 8px; - background: hsl(var(--secondary) / 0.35); + background: hsl(var(--surface-sunken)); color: hsl(var(--foreground)); font-size: 13px; font-weight: 650; @@ -977,7 +982,7 @@ body { .protocol-option:hover:not(.active) { border-color: hsl(var(--primary) / 0.45); - background: hsl(var(--secondary) / 0.62); + background: hsl(var(--accent)); transform: translateY(-1px); } @@ -988,7 +993,7 @@ body { gap: 8px; border: 1px solid hsl(var(--border)); border-radius: 8px; - background: hsl(var(--secondary) / 0.35); + background: hsl(var(--surface-raised)); padding: 0 12px; color: hsl(var(--foreground)); font-size: 13px; @@ -1009,7 +1014,7 @@ body { width: 100%; border: 1px solid hsl(var(--border)); border-radius: 8px; - background: hsl(var(--secondary) / 0.35); + background: hsl(var(--surface-raised)); color: hsl(var(--foreground)); padding: 0 12px; font: inherit; @@ -1021,8 +1026,8 @@ body { .field-select:focus-visible, .select-input:focus-visible { - border-color: hsl(var(--ring)); - box-shadow: 0 0 0 3px hsl(var(--ring) / 0.14); + border-color: hsl(var(--accent) / 0.68); + box-shadow: 0 0 0 3px hsl(var(--accent) / 0.15); outline: none; } @@ -1035,7 +1040,7 @@ body { gap: 12px; border: 1px solid hsl(var(--border)); border-radius: 8px; - background: hsl(var(--background)); + background: hsl(var(--surface-sunken)); padding: 14px; transition: border-color var(--motion-normal) var(--motion-ease), @@ -1466,19 +1471,6 @@ body { margin-bottom: 0; } -.switch-row.relay-ownership-row { - grid-template-columns: minmax(0, 1fr) minmax(180px, 240px); - align-items: center; -} - -.relay-ownership-row > span { - min-width: 0; -} - -.relay-ownership-select { - width: 100%; -} - .zed-remote-settings { display: grid; grid-template-columns: minmax(220px, 320px) minmax(0, 1fr); @@ -1583,7 +1575,7 @@ body { .provider-sync-progress-fill { height: 100%; border-radius: inherit; - background: linear-gradient(90deg, hsl(172 66% 42%), hsl(196 78% 52%)); + background: hsl(var(--brand-accent)); transition: width 220ms var(--motion-ease); } @@ -1630,11 +1622,11 @@ body { } .health-item.ok svg { - color: #34d399; + color: hsl(164 74% 62%); } .health-item.needs-fix svg { - color: #fbbf24; + color: hsl(var(--brand-accent)); } .health-item strong, @@ -1794,6 +1786,27 @@ body { gap: 12px; } +.settings-block { + margin-top: 14px; + padding-top: 14px; + border-top: 1px solid hsl(var(--border)); +} + +.settings-block .form-row { + grid-template-columns: minmax(0, 1fr) auto; + align-items: end; +} + +.settings-block .toolbar { + margin-top: 0; + margin-bottom: 12px; +} + +.settings-block input[type="range"] { + width: 100%; + padding: 0; +} + .check-row { display: flex; align-items: center; @@ -2052,7 +2065,7 @@ body { left: 0; width: 100%; height: 3px; - background: hsl(172 66% 52%); + background: hsl(var(--brand-accent)); transform-origin: left center; animation: toast-progress 4200ms linear forwards; } @@ -2068,7 +2081,7 @@ body { height: 38px; border-radius: 8px; background: hsl(var(--accent)); - color: hsl(172 66% 52%); + color: hsl(var(--brand-accent)); } .toast-card.failed .toast-icon { @@ -2256,7 +2269,6 @@ body { .mode-grid.three, .relay-grid, .zed-remote-settings, - .relay-ownership-row, .hero-layout { grid-template-columns: 1fr; } @@ -2320,24 +2332,24 @@ body { width: 100%; padding: 10px 14px; min-height: 44px; - background: #FAFAFA; - border: 1px dashed #D4D4D8; + background: hsl(var(--surface-raised)); + border: 1px dashed hsl(var(--border)); border-radius: 8px; cursor: pointer; font-size: 13px; - color: #18181B; + color: hsl(var(--foreground)); font-family: inherit; text-align: left; transition: background 0.12s ease, border-color 0.12s ease; } .preset-toggle:hover { - background: #F4F4F5; - border-color: #7A9DFF66; + background: hsl(var(--accent)); + border-color: hsl(var(--brand-accent) / 0.45); } .preset-toggle:focus-visible { - outline: 2px solid #7A9DFF; + outline: 2px solid hsl(var(--brand-accent)); outline-offset: 2px; } @@ -2355,12 +2367,12 @@ body { .preset-toggle-count { font-size: 12px; font-weight: 400; - color: #A1A1AA; + color: hsl(var(--muted-foreground)); } .preset-toggle-arrow { font-size: 11px; - color: #A1A1AA; + color: hsl(var(--muted-foreground)); } .preset-grid { @@ -2375,10 +2387,10 @@ body { .preset-search-input { width: 100%; padding: 8px 12px 8px 32px; - background: #F4F4F5; - border: 1px solid #E4E4E7; + background: hsl(var(--surface-raised)); + border: 1px solid hsl(var(--border)); border-radius: 6px; - color: #18181B; + color: hsl(var(--foreground)); font-size: 13px; font-family: inherit; outline: none; @@ -2386,12 +2398,12 @@ body { } .preset-search-input:focus { - border-color: #7A9DFF; - background: #FFF; + border-color: hsl(var(--brand-accent)); + background: hsl(var(--accent)); } .preset-search-input::placeholder { - color: #A1A1AA; + color: hsl(var(--muted-foreground)); } .preset-search-icon { @@ -2399,14 +2411,14 @@ body { left: 10px; top: 50%; transform: translateY(-50%); - color: #A1A1AA; + color: hsl(var(--muted-foreground)); font-size: 12px; pointer-events: none; } .preset-empty { font-size: 13px; - color: #A1A1AA; + color: hsl(var(--muted-foreground)); padding: 20px 4px; text-align: center; } @@ -2424,10 +2436,10 @@ body { font-weight: 600; text-transform: uppercase; letter-spacing: 0.8px; - color: #A1A1AA; + color: hsl(var(--muted-foreground)); padding: 0 2px; margin: 0 0 8px 0; - border-bottom: 1px solid #F4F4F5; + border-bottom: 1px solid hsl(var(--border)); padding-bottom: 6px; } @@ -2443,28 +2455,28 @@ body { gap: 8px; padding: 7px 13px; min-height: 36px; - background: #FFF; - border: 1px solid #E4E4E7; + background: hsl(var(--surface-raised)); + border: 1px solid hsl(var(--border)); border-radius: 6px; cursor: pointer; font-size: 13px; - color: #18181B; + color: hsl(var(--foreground)); font-family: inherit; transition: all 0.12s ease; text-align: left; } .preset-btn:hover { - background: #FAFAFA; - border-color: #7A9DFF88; + background: hsl(var(--accent)); + border-color: hsl(var(--brand-accent) / 0.55); } .preset-btn:active { - background: #F4F4F5; + background: hsl(var(--secondary)); } .preset-btn:focus-visible { - outline: 2px solid #7A9DFF; + outline: 2px solid hsl(var(--brand-accent)); outline-offset: 2px; } @@ -2474,8 +2486,8 @@ body { width: 22px; height: 22px; border-radius: 5px; - background: #F4F4F5; - color: #71717A; + background: hsl(var(--accent) / 0.14); + color: hsl(var(--accent)); font-size: 11px; font-weight: 600; flex-shrink: 0; @@ -2483,7 +2495,8 @@ body { } .preset-btn:hover .preset-btn-icon { - background: #E4E4E7; + background: hsl(var(--brand-accent) / 0.16); + color: hsl(var(--brand-accent)); } .preset-btn-name { @@ -2492,7 +2505,7 @@ body { .preset-btn-model { font-size: 11px; - color: #A1A1AA; + color: hsl(var(--muted-foreground)); max-width: 140px; overflow: hidden; text-overflow: ellipsis; @@ -2500,83 +2513,84 @@ body { } .preset-btn[data-selected="true"] { - border-color: #7A9DFF; - background: #F5F7FF; + border-color: hsl(var(--brand-accent)); + background: hsl(var(--brand-accent) / 0.14); } .preset-btn[data-selected="true"] .preset-btn-icon { - background: #7A9DFF; - color: #FFF; + background: hsl(var(--brand-accent)); + color: hsl(var(--primary-foreground)); } .dark .preset-toggle { - background: #1A1C20; - border-color: #2C2E33; - color: #E4E5E9; + background: hsl(var(--surface-raised)); + border-color: hsl(var(--border)); + color: hsl(var(--foreground)); } .dark .preset-toggle:hover { - background: #1F2126; - border-color: #7A9DFF44; + background: hsl(var(--accent)); + border-color: hsl(var(--brand-accent) / 0.45); } .dark .preset-toggle-count, .dark .preset-toggle-arrow { - color: #6B7280; + color: hsl(var(--muted-foreground)); } .dark .preset-search-input { - background: #1A1C20; - border-color: #2C2E33; - color: #E4E5E9; + background: hsl(var(--surface-raised)); + border-color: hsl(var(--border)); + color: hsl(var(--foreground)); } .dark .preset-search-input:focus { - background: #1F2126; - border-color: #7A9DFF; + background: hsl(var(--accent)); + border-color: hsl(var(--brand-accent)); } .dark .preset-search-input::placeholder, .dark .preset-search-icon { - color: #6B7280; + color: hsl(var(--muted-foreground)); } .dark .preset-category-label { - color: #6B7280; - border-bottom-color: #2C2E33; + color: hsl(var(--muted-foreground)); + border-bottom-color: hsl(var(--border)); } .dark .preset-btn { - background: #1A1C20; - border-color: #2C2E33; - color: #E4E5E9; + background: hsl(var(--surface-raised)); + border-color: hsl(var(--border)); + color: hsl(var(--foreground)); } .dark .preset-btn:hover { - background: #1F2126; - border-color: #7A9DFF44; + background: hsl(var(--accent)); + border-color: hsl(var(--brand-accent) / 0.45); } .dark .preset-btn-icon { - background: #2C2E33; - color: #8A8D97; + background: hsl(var(--secondary)); + color: hsl(var(--muted-foreground)); } .dark .preset-btn:hover .preset-btn-icon { - background: #36383F; + background: hsl(var(--brand-accent) / 0.16); + color: hsl(var(--brand-accent)); } .dark .preset-btn-model, .dark .preset-empty { - color: #6B7280; + color: hsl(var(--muted-foreground)); } .dark .preset-btn[data-selected="true"] { - border-color: #7A9DFF; - background: #1A1F3A; + border-color: hsl(var(--brand-accent)); + background: hsl(var(--brand-accent) / 0.14); } .dark .preset-btn[data-selected="true"] .preset-btn-icon { - background: #7A9DFF; - color: #FFF; + background: hsl(var(--brand-accent)); + color: hsl(var(--primary-foreground)); } diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 75b0619cb..7a6af4282 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -75,6 +75,7 @@ const codexThreadScrollListenerVersion = "4"; const codexThreadScrollUserIntentVersion = "dispatcher:2"; const codexForcePluginInstallRefreshIntervalMs = 1000; + const codexPlusImageOverlayId = "codex-plus-image-overlay"; window.__codexProjectMoveRuntimeId = (window.__codexProjectMoveRuntimeId || 0) + 1; const codexProjectMoveRuntimeId = window.__codexProjectMoveRuntimeId; clearTimeout(window.__codexProjectMoveProjectionTimer); @@ -88,6 +89,54 @@ (window.__codexThreadScrollSyncTimers || []).forEach((timer) => clearTimeout(timer)); window.__codexThreadScrollSyncTimers = []; window.__codexThreadScrollRestoreRevision = (window.__codexThreadScrollRestoreRevision || 0) + 1; + + function installCodexPlusImageOverlay() { + const config = window.__CODEX_PLUS_IMAGE_OVERLAY__ || {}; + const existing = document.getElementById(codexPlusImageOverlayId); + const source = config.dataUrl || ""; + if (!config.enabled || !source) { + if (window.__codexPlusImageOverlayBlobUrl) { + URL.revokeObjectURL(window.__codexPlusImageOverlayBlobUrl); + window.__codexPlusImageOverlayBlobUrl = ""; + } + if (existing) existing.remove(); + return; + } + const opacity = Math.min(1, Math.max(0.01, Number(config.opacity) || 0.35)); + const image = existing || document.createElement("img"); + image.id = codexPlusImageOverlayId; + image.src = source; + image.alt = ""; + image.setAttribute("aria-hidden", "true"); + Object.assign(image.style, { + position: "fixed", + inset: "0", + width: "100vw", + height: "100vh", + objectFit: "contain", + objectPosition: "center center", + opacity: String(opacity), + pointerEvents: "none", + zIndex: "2147483646", + userSelect: "none", + }); + if (!existing) document.documentElement.appendChild(image); + sendCodexPlusDiagnostic("image_overlay_installed", { + opacity, + sourceKind: source.startsWith("data:") ? "data-uri" : "unknown", + }); + } + + function scheduleCodexPlusImageOverlay() { + if (document.readyState === "loading") { + document.addEventListener("DOMContentLoaded", installCodexPlusImageOverlay, { once: true }); + return; + } + installCodexPlusImageOverlay(); + setTimeout(installCodexPlusImageOverlay, 250); + } + + scheduleCodexPlusImageOverlay(); window.__codexThreadScrollSyncRevision = (window.__codexThreadScrollSyncRevision || 0) + 1; window.__codexConversationTimelineNodeCounter = window.__codexConversationTimelineNodeCounter || 0; let upstreamBranchDefaultsCache = new Map(); diff --git a/crates/codex-plus-core/src/app_paths.rs b/crates/codex-plus-core/src/app_paths.rs index aa94b16d4..5a3280f6c 100644 --- a/crates/codex-plus-core/src/app_paths.rs +++ b/crates/codex-plus-core/src/app_paths.rs @@ -97,8 +97,7 @@ pub fn resolve_codex_app_dir(app_dir: Option<&Path>) -> Option { return find_macos_codex_app_default(); } // Windows: try MS Store version first, then standalone install - find_latest_codex_app_dir_default() - .or_else(|| find_standalone_codex_app_dir()) + find_latest_codex_app_dir_default().or_else(|| find_standalone_codex_app_dir()) } /// Search for standalone Codex installations (non-MS Store). @@ -111,9 +110,15 @@ pub fn find_standalone_codex_app_dir() -> Option { let local_appdata = std::env::var_os("LOCALAPPDATA")?; let candidates: &[PathBuf] = &[ - PathBuf::from(&local_appdata).join("OpenAI").join("Codex").join("bin"), + PathBuf::from(&local_appdata) + .join("OpenAI") + .join("Codex") + .join("bin"), PathBuf::from(&local_appdata).join("OpenAI").join("Codex"), - PathBuf::from(&local_appdata).join("Programs").join("OpenAI").join("Codex"), + PathBuf::from(&local_appdata) + .join("Programs") + .join("OpenAI") + .join("Codex"), ]; for candidate in candidates { diff --git a/crates/codex-plus-core/src/assets.rs b/crates/codex-plus-core/src/assets.rs index b22a58f88..28f476152 100644 --- a/crates/codex-plus-core/src/assets.rs +++ b/crates/codex-plus-core/src/assets.rs @@ -1,5 +1,8 @@ use base64::Engine; use serde_json::{Value, json}; +use std::path::Path; + +use crate::settings::BackendSettings; const RENDERER_SCRIPT: &str = include_str!("../../../assets/inject/renderer-inject.js"); const SPONSOR_ALIPAY: &[u8] = include_bytes!("../../../assets/images/sponsor-alipay.jpg"); @@ -18,21 +21,70 @@ pub fn sponsor_image_data_uris() -> Value { } pub fn injection_script(helper_port: u16) -> String { + injection_script_with_settings(helper_port, &BackendSettings::default()) +} + +pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettings) -> String { let helper_url = format!("http://127.0.0.1:{helper_port}"); let sponsor_images = sponsor_image_data_uris(); + let image_overlay = image_overlay_config(helper_port, settings); format!( - "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\n{}", + "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\n{}", serde_json::to_string(&helper_url).expect("helper URL should serialize"), serde_json::to_string(&sponsor_images).expect("sponsor images should serialize"), serde_json::to_string(crate::version::VERSION).expect("version should serialize"), serde_json::to_string(DIAGNOSTIC_BUILD_ID).expect("build id should serialize"), + serde_json::to_string(&image_overlay).expect("image overlay config should serialize"), renderer_script(), ) } +pub fn image_overlay_config(helper_port: u16, settings: &BackendSettings) -> Value { + let has_path = !settings.codex_app_image_overlay_path.trim().is_empty(); + let enabled = settings.codex_app_image_overlay_enabled && has_path; + let data_url = if enabled { + image_file_data_uri(Path::new(settings.codex_app_image_overlay_path.trim())) + .unwrap_or_default() + } else { + String::new() + }; + json!({ + "enabled": enabled && !data_url.is_empty(), + "opacity": f64::from(settings.codex_app_image_overlay_opacity.clamp(1, 100)) / 100.0, + "dataUrl": data_url, + "imageUrl": if enabled { + format!("http://127.0.0.1:{helper_port}/overlay/image") + } else { + String::new() + }, + }) +} + fn image_data_uri(mime_type: &str, bytes: &[u8]) -> String { format!( "data:{mime_type};base64,{}", base64::engine::general_purpose::STANDARD.encode(bytes) ) } + +fn image_file_data_uri(path: &Path) -> Option { + let mime_type = image_content_type(path)?; + let bytes = std::fs::read(path).ok()?; + Some(image_data_uri(mime_type, &bytes)) +} + +fn image_content_type(path: &Path) -> Option<&'static str> { + match path + .extension() + .and_then(|extension| extension.to_str()) + .map(str::to_ascii_lowercase) + .as_deref() + { + Some("png") => Some("image/png"), + Some("jpg") | Some("jpeg") => Some("image/jpeg"), + Some("webp") => Some("image/webp"), + Some("gif") => Some("image/gif"), + Some("bmp") => Some("image/bmp"), + _ => None, + } +} diff --git a/crates/codex-plus-core/src/ccs_import.rs b/crates/codex-plus-core/src/ccs_import.rs deleted file mode 100644 index 0f6e4f9ac..000000000 --- a/crates/codex-plus-core/src/ccs_import.rs +++ /dev/null @@ -1,832 +0,0 @@ -use std::fs; -use std::path::{Path, PathBuf}; - -use anyhow::Context; -use rusqlite::{Connection, params}; -use serde_json::{Value, json}; - -use crate::settings::{RelayMode, RelayProfile, RelayProtocol}; - -#[derive(Debug, Clone, PartialEq, Eq, serde::Serialize, serde::Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct CcsProviderImport { - pub source_id: String, - pub name: String, - pub base_url: String, - pub api_key: String, - pub protocol: RelayProtocol, - pub config_contents: String, - pub auth_contents: String, -} - -pub fn default_ccs_db_path() -> PathBuf { - home_dir() - .join(format!(".{}-{}", "cc", "switch")) - .join(format!("{}-{}.db", "cc", "switch")) -} - -pub fn default_ccs_settings_path() -> PathBuf { - home_dir() - .join(format!(".{}-{}", "cc", "switch")) - .join("settings.json") -} - -pub fn list_codex_providers_from_default_db() -> anyhow::Result> { - list_codex_providers_from_db(&default_ccs_db_path()) -} - -pub fn sync_linked_profiles_from_default_db( - profiles: &mut Vec, -) -> anyhow::Result { - sync_linked_profiles_from_db(&default_ccs_db_path(), profiles) -} - -pub fn sync_linked_profiles_from_db( - path: &Path, - profiles: &mut Vec, -) -> anyhow::Result { - let providers = list_codex_providers_from_db(path)?; - let mut existing_ids = profiles - .iter() - .map(|profile| profile.id.clone()) - .collect::>(); - let mut changed = 0usize; - - for provider in providers { - if let Some(profile) = profiles - .iter_mut() - .find(|profile| profile.linked_ccs_provider_id == provider.source_id) - { - apply_ccs_provider_to_profile(profile, &provider); - changed += 1; - continue; - } - - let mut profile = relay_profile_from_ccs(&provider, &existing_ids); - existing_ids.push(profile.id.clone()); - apply_ccs_provider_to_profile(&mut profile, &provider); - profiles.push(profile); - changed += 1; - } - - Ok(changed) -} - -pub fn write_linked_profiles_to_default_db(profiles: &[RelayProfile]) -> anyhow::Result { - write_linked_profiles_to_db(&default_ccs_db_path(), profiles) -} - -pub fn set_current_codex_provider_in_default_db(source_id: &str) -> anyhow::Result { - set_current_codex_provider( - &default_ccs_db_path(), - &default_ccs_settings_path(), - source_id, - ) -} - -pub fn set_current_codex_provider( - db_path: &Path, - settings_path: &Path, - source_id: &str, -) -> anyhow::Result { - let source_id = source_id.trim(); - if source_id.is_empty() || !db_path.exists() { - return Ok(false); - } - - let mut conn = Connection::open(db_path) - .with_context(|| format!("failed to open provider database {}", db_path.display()))?; - let tx = conn.transaction()?; - tx.execute( - "UPDATE providers SET is_current = 0 WHERE app_type = 'codex'", - [], - )?; - let affected = tx.execute( - "UPDATE providers SET is_current = 1 WHERE id = ?1 AND app_type = 'codex'", - params![source_id], - )?; - tx.commit()?; - - if affected == 0 { - return Ok(false); - } - set_current_codex_provider_in_settings(settings_path, source_id)?; - Ok(true) -} - -fn set_current_codex_provider_in_settings(path: &Path, source_id: &str) -> anyhow::Result<()> { - let mut settings = if path.exists() { - let text = fs::read_to_string(path) - .with_context(|| format!("failed to read cc-switch settings {}", path.display()))?; - serde_json::from_str::(&text).unwrap_or_else(|_| json!({})) - } else { - json!({}) - }; - if !settings.is_object() { - settings = json!({}); - } - settings["currentProviderCodex"] = Value::String(source_id.to_string()); - if let Some(parent) = path.parent() { - fs::create_dir_all(parent)?; - } - fs::write( - path, - format!("{}\n", serde_json::to_string_pretty(&settings)?), - ) - .with_context(|| format!("failed to write cc-switch settings {}", path.display()))?; - Ok(()) -} - -pub fn write_linked_profiles_to_db( - path: &Path, - profiles: &[RelayProfile], -) -> anyhow::Result { - if !path.exists() { - return Ok(0); - } - let linked_profiles = profiles - .iter() - .filter(|profile| !profile.linked_ccs_provider_id.trim().is_empty()) - .collect::>(); - if linked_profiles.is_empty() { - return Ok(0); - } - - let conn = Connection::open(path) - .with_context(|| format!("failed to open provider database {}", path.display()))?; - let mut written = 0usize; - for profile in linked_profiles { - let source_id = profile.linked_ccs_provider_id.trim(); - let settings_config = profile_to_ccs_settings_config(profile)?; - let affected = conn.execute( - "UPDATE providers - SET name = ?1, settings_config = ?2 - WHERE id = ?3 AND app_type = 'codex'", - params![profile.name.trim(), settings_config.to_string(), source_id], - )?; - if affected > 0 { - written += 1; - } - } - Ok(written) -} - -pub fn current_codex_provider_from_db(path: &Path) -> anyhow::Result> { - if !path.exists() { - return Ok(None); - } - let conn = Connection::open_with_flags(path, rusqlite::OpenFlags::SQLITE_OPEN_READ_ONLY) - .with_context(|| format!("failed to open provider database {}", path.display()))?; - let mut stmt = conn.prepare( - "SELECT id, name, settings_config - FROM providers - WHERE app_type = 'codex' AND is_current = 1 - ORDER BY COALESCE(sort_index, 999999), created_at ASC - LIMIT 1", - )?; - let mut rows = stmt.query([])?; - let Some(row) = rows.next()? else { - return Ok(None); - }; - let source_id: String = row.get(0)?; - let name: String = row.get(1)?; - let settings_config: String = row.get(2)?; - let config = serde_json::from_str::(&settings_config).unwrap_or_default(); - Ok(import_from_ccs_value(&source_id, &name, &config)) -} - -pub fn list_codex_providers_from_db(path: &Path) -> anyhow::Result> { - if !path.exists() { - return Ok(Vec::new()); - } - let conn = Connection::open_with_flags(path, rusqlite::OpenFlags::SQLITE_OPEN_READ_ONLY) - .with_context(|| format!("failed to open provider database {}", path.display()))?; - let mut stmt = conn.prepare( - "SELECT id, name, settings_config - FROM providers - WHERE app_type = 'codex' - ORDER BY COALESCE(sort_index, 999999), created_at ASC, id ASC", - )?; - let rows = stmt.query_map([], |row| { - let source_id: String = row.get(0)?; - let name: String = row.get(1)?; - let settings_config: String = row.get(2)?; - Ok((source_id, name, settings_config)) - })?; - - let mut providers = Vec::new(); - for row in rows { - let (source_id, name, settings_config) = row?; - let Ok(config) = serde_json::from_str::(&settings_config) else { - continue; - }; - if let Some(provider) = import_from_ccs_value(&source_id, &name, &config) { - providers.push(provider); - } - } - Ok(providers) -} - -pub fn relay_profile_from_ccs( - provider: &CcsProviderImport, - existing_ids: &[String], -) -> RelayProfile { - let id = unique_profile_id( - &format!("ccs-{}", sanitize_id(&provider.source_id)), - existing_ids, - ); - RelayProfile { - id, - linked_ccs_provider_id: provider.source_id.clone(), - name: provider.name.clone(), - model: String::new(), - base_url: provider.base_url.clone(), - upstream_base_url: provider.base_url.clone(), - api_key: provider.api_key.clone(), - protocol: provider.protocol, - relay_mode: relay_mode_from_ccs_provider(provider), - official_mix_api_key: false, - test_model: String::new(), - config_contents: provider.config_contents.clone(), - auth_contents: provider.auth_contents.clone(), - use_common_config: true, - context_selection: crate::settings::RelayContextSelection::default(), - context_selection_initialized: false, - context_window: String::new(), - auto_compact_limit: String::new(), - model_insert_mode: Default::default(), - model_list: String::new(), - user_agent: String::new(), - } -} - -pub fn apply_ccs_provider_to_profile(profile: &mut RelayProfile, provider: &CcsProviderImport) { - profile.linked_ccs_provider_id = provider.source_id.clone(); - profile.name = provider.name.clone(); - profile.base_url = provider.base_url.clone(); - profile.upstream_base_url = provider.base_url.clone(); - profile.api_key = provider.api_key.clone(); - profile.protocol = provider.protocol; - profile.relay_mode = relay_mode_from_ccs_provider(provider); - profile.config_contents = provider.config_contents.clone(); - profile.auth_contents = provider.auth_contents.clone(); -} - -fn relay_mode_from_ccs_provider(provider: &CcsProviderImport) -> RelayMode { - if provider.base_url.trim().is_empty() && provider.api_key.trim().is_empty() { - RelayMode::Official - } else { - RelayMode::PureApi - } -} - -fn profile_to_ccs_settings_config(profile: &RelayProfile) -> anyhow::Result { - let auth = if profile.auth_contents.trim().is_empty() { - json!({}) - } else { - serde_json::from_str::(&profile.auth_contents) - .with_context(|| format!("{} 的 auth.json JSON 解析失败", profile.name))? - }; - Ok(json!({ - "auth": auth, - "config": profile.config_contents, - })) -} - -pub fn import_from_ccs_value(source_id: &str, name: &str, config: &Value) -> Option { - let base_url = extract_base_url(config).unwrap_or_default(); - let api_key = extract_api_key(config).unwrap_or_default(); - let protocol = extract_protocol(config); - let config_from_ccs = extract_config_contents(config).filter(|value| !value.trim().is_empty()); - if config_from_ccs.is_none() && base_url.trim().is_empty() && api_key.trim().is_empty() { - return None; - } - let config_contents = - config_from_ccs.unwrap_or_else(|| build_config_toml(&base_url, &api_key, protocol)); - let auth_contents = extract_auth_contents(config) - .filter(|value| !value.trim().is_empty()) - .unwrap_or_else(|| { - if api_key.trim().is_empty() { - "{}\n".to_string() - } else { - build_auth_json(&api_key) - } - }); - if config_contents.trim().is_empty() && auth_contents.trim().is_empty() { - return None; - } - Some(CcsProviderImport { - source_id: source_id.to_string(), - name: name.to_string(), - base_url, - api_key, - protocol, - config_contents, - auth_contents, - }) -} - -fn extract_base_url(config: &Value) -> Option { - string_at(config, &["base_url", "baseURL"]) - .or_else(|| { - config - .get("config") - .and_then(|value| string_at(value, &["base_url", "baseURL"])) - }) - .or_else(|| { - config - .get("config") - .and_then(Value::as_str) - .and_then(extract_toml_base_url) - }) - .map(trim_trailing_slash) - .filter(|value| !value.is_empty()) -} - -fn extract_api_key(config: &Value) -> Option { - if let Some(key) = config - .pointer("/env/OPENAI_API_KEY") - .and_then(Value::as_str) - { - return Some(key.to_string()); - } - if let Some(key) = config - .pointer("/auth/OPENAI_API_KEY") - .and_then(Value::as_str) - { - return Some(key.to_string()); - } - string_at(config, &["apiKey", "api_key"]).or_else(|| { - config - .get("config") - .and_then(|value| string_at(value, &["apiKey", "api_key"])) - }) -} - -fn extract_protocol(config: &Value) -> RelayProtocol { - if let Some(api_format) = string_at(config, &["api_format", "apiFormat"]) { - if is_chat_protocol(&api_format) { - return RelayProtocol::ChatCompletions; - } - } - if let Some(wire_api) = config - .get("config") - .and_then(Value::as_str) - .and_then(extract_toml_wire_api) - { - if is_chat_protocol(&wire_api) { - return RelayProtocol::ChatCompletions; - } - } - if extract_base_url(config) - .map(|value| value.to_ascii_lowercase().ends_with("/chat/completions")) - .unwrap_or(false) - { - return RelayProtocol::ChatCompletions; - } - RelayProtocol::Responses -} - -fn extract_config_contents(config: &Value) -> Option { - config - .get("config") - .and_then(Value::as_str) - .map(str::to_string) -} - -fn extract_auth_contents(config: &Value) -> Option { - config.get("auth").and_then(|auth| { - if auth.is_object() { - serde_json::to_string_pretty(auth) - .ok() - .map(|value| format!("{value}\n")) - } else { - auth.as_str().map(str::to_string) - } - }) -} - -fn string_at(value: &Value, keys: &[&str]) -> Option { - keys.iter() - .find_map(|key| value.get(*key).and_then(Value::as_str)) - .map(str::to_string) -} - -fn trim_trailing_slash(value: String) -> String { - value.trim().trim_end_matches('/').to_string() -} - -fn is_chat_protocol(value: &str) -> bool { - matches!( - value.trim().to_ascii_lowercase().as_str(), - "chat" | "chat_completions" | "chat-completions" | "openai_chat" | "openai-chat" - ) -} - -fn extract_toml_base_url(text: &str) -> Option { - extract_toml_string_value(text, "base_url") -} - -fn extract_toml_wire_api(text: &str) -> Option { - extract_toml_string_value(text, "wire_api") -} - -fn extract_toml_string_value(text: &str, key: &str) -> Option { - for line in text.lines() { - let trimmed = line.trim(); - let Some(rest) = trimmed.strip_prefix(key) else { - continue; - }; - let rest = rest.trim_start(); - let Some(rest) = rest.strip_prefix('=') else { - continue; - }; - let rest = rest.trim_start(); - let quote = rest.chars().next()?; - if quote != '"' && quote != '\'' { - continue; - } - let rest = &rest[quote.len_utf8()..]; - let end = rest.find(quote)?; - return Some(rest[..end].to_string()); - } - None -} - -fn build_config_toml(base_url: &str, api_key: &str, protocol: RelayProtocol) -> String { - let wire_api = match protocol { - RelayProtocol::Responses => "responses", - RelayProtocol::ChatCompletions => "chat", - }; - [ - "model_provider = \"custom\"".to_string(), - String::new(), - "[model_providers.custom]".to_string(), - "name = \"custom\"".to_string(), - format!("wire_api = \"{wire_api}\""), - "requires_openai_auth = true".to_string(), - format!("base_url = \"{}\"", toml_string(base_url)), - format!("experimental_bearer_token = \"{}\"", toml_string(api_key)), - String::new(), - ] - .join("\n") -} - -fn build_auth_json(api_key: &str) -> String { - format!( - "{}\n", - serde_json::to_string_pretty(&serde_json::json!({ "OPENAI_API_KEY": api_key })) - .unwrap_or_else(|_| "{\"OPENAI_API_KEY\":\"\"}".to_string()) - ) -} - -fn toml_string(value: &str) -> String { - value.replace('\\', "\\\\").replace('"', "\\\"") -} - -fn sanitize_id(value: &str) -> String { - let mut result = String::new(); - for ch in value.chars() { - if ch.is_ascii_alphanumeric() { - result.push(ch.to_ascii_lowercase()); - } else if !result.ends_with('-') { - result.push('-'); - } - } - let result = result.trim_matches('-').to_string(); - if result.is_empty() { - "provider".to_string() - } else { - result - } -} - -fn unique_profile_id(base: &str, existing_ids: &[String]) -> String { - if !existing_ids.iter().any(|id| id == base) { - return base.to_string(); - } - let mut index = 2; - loop { - let candidate = format!("{base}-{index}"); - if !existing_ids.iter().any(|id| id == &candidate) { - return candidate; - } - index += 1; - } -} - -fn home_dir() -> PathBuf { - directories::BaseDirs::new() - .map(|dirs| dirs.home_dir().to_path_buf()) - .or_else(|| std::env::var_os("USERPROFILE").map(PathBuf::from)) - .or_else(|| std::env::var_os("HOME").map(PathBuf::from)) - .unwrap_or_else(|| PathBuf::from(".")) -} - -#[cfg(test)] -mod tests { - use super::*; - use rusqlite::params; - use serde_json::json; - - fn create_ccs_db(path: &Path) { - let conn = Connection::open(path).unwrap(); - conn.execute( - "CREATE TABLE providers ( - id TEXT NOT NULL, - app_type TEXT NOT NULL, - name TEXT NOT NULL, - settings_config TEXT NOT NULL, - created_at INTEGER, - sort_index INTEGER, - is_current BOOLEAN NOT NULL DEFAULT 0, - PRIMARY KEY (id, app_type) - )", - [], - ) - .unwrap(); - } - - fn insert_provider(path: &Path, id: &str, name: &str, config: Value, sort_index: i64) { - let conn = Connection::open(path).unwrap(); - conn.execute( - "INSERT INTO providers (id, app_type, name, settings_config, created_at, sort_index) - VALUES (?1, 'codex', ?2, ?3, ?4, ?5)", - params![id, name, config.to_string(), 1000 + sort_index, sort_index], - ) - .unwrap(); - } - - #[test] - fn imports_direct_base_url_and_api_key_provider() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider( - &db, - "openai", - "OpenAI", - json!({ - "base_url": "https://api.openai.com/v1/", - "api_key": "sk-openai" - }), - 0, - ); - - let providers = list_codex_providers_from_db(&db).unwrap(); - - assert_eq!(providers.len(), 1); - assert_eq!(providers[0].source_id, "openai"); - assert_eq!(providers[0].name, "OpenAI"); - assert_eq!(providers[0].base_url, "https://api.openai.com/v1"); - assert_eq!(providers[0].api_key, "sk-openai"); - assert_eq!(providers[0].protocol, RelayProtocol::Responses); - assert!( - providers[0] - .config_contents - .contains("wire_api = \"responses\"") - ); - } - - #[test] - fn imports_auth_and_config_object_provider_as_chat_protocol() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider( - &db, - "chat", - "Chat Provider", - json!({ - "auth": { "OPENAI_API_KEY": "sk-chat" }, - "config": { "base_url": "https://relay.example/v1/chat/completions" } - }), - 0, - ); - - let providers = list_codex_providers_from_db(&db).unwrap(); - - assert_eq!( - providers[0].base_url, - "https://relay.example/v1/chat/completions" - ); - assert_eq!(providers[0].api_key, "sk-chat"); - assert_eq!(providers[0].protocol, RelayProtocol::ChatCompletions); - assert_eq!( - serde_json::from_str::(&providers[0].auth_contents).unwrap()["OPENAI_API_KEY"], - json!("sk-chat") - ); - } - - #[test] - fn imports_toml_config_provider_and_preserves_config_text() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - let toml = r#" -model_provider = "Foo" - -[model_providers.Foo] -wire_api = "chat" -base_url = "https://toml.example/v1" -"#; - insert_provider( - &db, - "toml/provider", - "TOML Provider", - json!({ - "auth": { "OPENAI_API_KEY": "sk-toml" }, - "config": toml - }), - 0, - ); - - let providers = list_codex_providers_from_db(&db).unwrap(); - let profile = relay_profile_from_ccs(&providers[0], &["ccs-toml-provider".to_string()]); - - assert_eq!(providers[0].base_url, "https://toml.example/v1"); - assert_eq!(providers[0].protocol, RelayProtocol::ChatCompletions); - assert_eq!(providers[0].config_contents, toml); - assert_eq!(profile.id, "ccs-toml-provider-2"); - assert_eq!(profile.relay_mode, RelayMode::PureApi); - } - - #[test] - fn imports_codex_config_snapshot_without_base_url_as_official_profile() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider( - &db, - "blue-eagle", - "蓝鹰AI", - json!({ - "auth": {}, - "config": "model = \"gpt-image-2\"\n\n[features]\ngoals = true\n" - }), - 0, - ); - - let providers = list_codex_providers_from_db(&db).unwrap(); - - assert_eq!(providers.len(), 1); - assert_eq!(providers[0].name, "蓝鹰AI"); - assert_eq!(providers[0].base_url, ""); - let profile = relay_profile_from_ccs(&providers[0], &[]); - assert_eq!(profile.relay_mode, RelayMode::Official); - assert!(profile.config_contents.contains("gpt-image-2")); - } - - #[test] - fn sync_linked_profiles_updates_existing_and_adds_new_profiles() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider( - &db, - "linked-one", - "Linked One", - json!({ - "auth": { "OPENAI_API_KEY": "sk-linked" }, - "config": "model_provider = \"linked\"\n\n[model_providers.linked]\nbase_url = \"https://linked.example/v1\"\n" - }), - 0, - ); - insert_provider( - &db, - "linked-two", - "Linked Two", - json!({ - "base_url": "https://two.example/v1", - "api_key": "sk-two" - }), - 1, - ); - - let mut profiles = vec![RelayProfile { - id: "local-linked".to_string(), - linked_ccs_provider_id: "linked-one".to_string(), - name: "Old".to_string(), - ..RelayProfile::default() - }]; - - let synced = sync_linked_profiles_from_db(&db, &mut profiles).unwrap(); - - assert_eq!(synced, 2); - assert_eq!(profiles.len(), 2); - assert_eq!(profiles[0].name, "Linked One"); - assert_eq!(profiles[0].api_key, "sk-linked"); - assert_eq!(profiles[1].linked_ccs_provider_id, "linked-two"); - assert_eq!(profiles[1].base_url, "https://two.example/v1"); - } - - #[test] - fn write_linked_profiles_updates_cc_switch_provider_config() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider( - &db, - "linked-one", - "Before", - json!({ - "auth": { "OPENAI_API_KEY": "old" }, - "config": "old" - }), - 0, - ); - let profiles = vec![RelayProfile { - linked_ccs_provider_id: "linked-one".to_string(), - name: "After".to_string(), - config_contents: "model_provider = \"custom\"\n".to_string(), - auth_contents: "{\"OPENAI_API_KEY\":\"sk-after\"}\n".to_string(), - ..RelayProfile::default() - }]; - - let written = write_linked_profiles_to_db(&db, &profiles).unwrap(); - - assert_eq!(written, 1); - let conn = Connection::open(&db).unwrap(); - let (name, settings_config): (String, String) = conn - .query_row( - "SELECT name, settings_config FROM providers WHERE id = 'linked-one' AND app_type = 'codex'", - [], - |row| Ok((row.get(0)?, row.get(1)?)), - ) - .unwrap(); - let settings_config: Value = serde_json::from_str(&settings_config).unwrap(); - assert_eq!(name, "After"); - assert_eq!(settings_config["auth"]["OPENAI_API_KEY"], "sk-after"); - assert_eq!(settings_config["config"], "model_provider = \"custom\"\n"); - } - - #[test] - fn current_codex_provider_from_db_returns_active_provider() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - create_ccs_db(&db); - insert_provider(&db, "old", "Old", json!({ "config": "old" }), 0); - insert_provider( - &db, - "new", - "New", - json!({ - "auth": { "OPENAI_API_KEY": "sk-new" }, - "config": "model_provider = \"new\"\n" - }), - 1, - ); - Connection::open(&db) - .unwrap() - .execute( - "UPDATE providers SET is_current = 1 WHERE id = 'new' AND app_type = 'codex'", - [], - ) - .unwrap(); - - let current = current_codex_provider_from_db(&db).unwrap().unwrap(); - assert_eq!(current.source_id, "new"); - assert_eq!(current.name, "New"); - } - - #[test] - fn set_current_codex_provider_updates_db_and_settings_file() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); - let settings = dir.path().join("settings.json"); - create_ccs_db(&db); - insert_provider(&db, "old", "Old", json!({ "config": "old" }), 0); - insert_provider(&db, "new", "New", json!({ "config": "new" }), 1); - Connection::open(&db) - .unwrap() - .execute( - "UPDATE providers SET is_current = 1 WHERE id = 'old' AND app_type = 'codex'", - [], - ) - .unwrap(); - - let updated = set_current_codex_provider(&db, &settings, "new").unwrap(); - - assert!(updated); - let conn = Connection::open(&db).unwrap(); - let old_current: i64 = conn - .query_row( - "SELECT is_current FROM providers WHERE id = 'old' AND app_type = 'codex'", - [], - |row| row.get(0), - ) - .unwrap(); - let new_current: i64 = conn - .query_row( - "SELECT is_current FROM providers WHERE id = 'new' AND app_type = 'codex'", - [], - |row| row.get(0), - ) - .unwrap(); - assert_eq!(old_current, 0); - assert_eq!(new_current, 1); - let settings_value: Value = - serde_json::from_str(&std::fs::read_to_string(settings).unwrap()).unwrap(); - assert_eq!(settings_value["currentProviderCodex"], json!("new")); - } -} diff --git a/crates/codex-plus-core/src/config_coordinator.rs b/crates/codex-plus-core/src/config_coordinator.rs deleted file mode 100644 index 625f81d2c..000000000 --- a/crates/codex-plus-core/src/config_coordinator.rs +++ /dev/null @@ -1,352 +0,0 @@ -use std::collections::hash_map::DefaultHasher; -use std::fs; -use std::hash::{Hash, Hasher}; -use std::path::PathBuf; -use std::time::{SystemTime, UNIX_EPOCH}; - -use anyhow::Context; -use serde::{Deserialize, Serialize}; - -use crate::ccs_import::{self, CcsProviderImport}; -use crate::relay_config::{self, RelayApplyResult}; -use crate::settings::{BackendSettings, ConfigOwnership}; - -const WRITE_MARKER_FILE: &str = "config-write-marker.json"; -const WRITER_CODEX_PLUS_PLUS: &str = "codexplusplus"; -const WRITER_CC_SWITCH: &str = "ccswitch"; - -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct LiveConfigFingerprint { - pub config_hash: String, - pub auth_hash: String, - pub model_provider: String, -} - -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct ConfigWriteMarker { - pub writer: String, - pub fingerprint: LiveConfigFingerprint, - pub written_at_ms: u64, -} - -#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] -#[serde(rename_all = "camelCase")] -pub struct CoordinationStatus { - pub ccswitch_detected: bool, - pub configured_ownership: ConfigOwnership, - pub effective_ownership: ConfigOwnership, - pub last_writer: Option, - pub conflict_detected: bool, - pub conflict_message: String, - pub ccswitch_current_provider_id: Option, - pub ccswitch_current_provider_name: Option, - pub live_model_provider: String, - pub can_write_live_config: bool, - pub guidance: String, -} - -#[derive(Debug, Clone, PartialEq, Eq)] -pub struct LiveConfigWriteDecision { - pub allowed: bool, - pub message: String, -} - -pub fn detect_ccswitch() -> bool { - ccs_import::default_ccs_db_path().exists() -} - -pub fn effective_ownership(settings: &BackendSettings) -> ConfigOwnership { - match settings.config_ownership { - ConfigOwnership::Auto => { - if settings.ccs_link_enabled && detect_ccswitch() { - ConfigOwnership::CcSwitch - } else { - ConfigOwnership::CodexPlusPlus - } - } - other => other, - } -} - -pub fn write_marker_path() -> PathBuf { - crate::paths::default_app_state_dir().join(WRITE_MARKER_FILE) -} - -pub fn fingerprint_from_home(home: &std::path::Path) -> LiveConfigFingerprint { - let config_path = home.join("config.toml"); - let auth_path = home.join("auth.json"); - let config_bytes = fs::read(&config_path).unwrap_or_default(); - let auth_bytes = fs::read(&auth_path).unwrap_or_default(); - let config_text = String::from_utf8_lossy(&config_bytes); - LiveConfigFingerprint { - config_hash: hash_bytes(&config_bytes), - auth_hash: hash_bytes(&auth_bytes), - model_provider: relay_config::root_key_string(&config_text, "model_provider") - .unwrap_or_default(), - } -} - -pub fn read_write_marker() -> Option { - let path = write_marker_path(); - let text = fs::read_to_string(path).ok()?; - serde_json::from_str(&text).ok() -} - -pub fn record_write_marker(writer: &str, home: &std::path::Path) -> anyhow::Result<()> { - let marker = ConfigWriteMarker { - writer: writer.to_string(), - fingerprint: fingerprint_from_home(home), - written_at_ms: now_ms(), - }; - let path = write_marker_path(); - if let Some(parent) = path.parent() { - fs::create_dir_all(parent)?; - } - crate::settings::atomic_write( - &path, - format!("{}\n", serde_json::to_string_pretty(&marker)?).as_bytes(), - ) -} - -pub fn detect_external_modification(home: &std::path::Path) -> Option { - let marker = read_write_marker()?; - let current = fingerprint_from_home(home); - if marker.fingerprint == current { - return None; - } - let writer = marker.writer.trim(); - if writer == WRITER_CODEX_PLUS_PLUS { - Some( - "检测到 config.toml / auth.json 在 Codex++ 上次写入后被外部修改。\ - 这通常由 CC Switch 切换供应商引起。" - .to_string(), - ) - } else if writer == WRITER_CC_SWITCH { - Some( - "检测到 live 配置与 CC Switch 上次写入记录不一致。\ - 请先在 CC Switch 中重新启用当前供应商,或刷新 Codex++ 联动状态。" - .to_string(), - ) - } else { - Some( - "检测到 config.toml / auth.json 与 Codex++ 记录不一致,\ - 可能已被其他工具改写。" - .to_string(), - ) - } -} - -pub fn coordination_status(settings: &BackendSettings) -> CoordinationStatus { - let home = relay_config::default_codex_home_dir(); - let ccswitch_detected = detect_ccswitch(); - let configured = settings.config_ownership; - let effective = effective_ownership(settings); - let live = fingerprint_from_home(&home); - let marker = read_write_marker(); - let current_ccs = current_ccs_codex_provider(); - let conflict_message = detect_external_modification(&home).unwrap_or_default(); - let conflict_detected = !conflict_message.is_empty(); - let can_write = evaluate_live_write(settings, false).allowed; - let guidance = coordination_guidance( - settings, - effective, - ccswitch_detected, - conflict_detected, - ¤t_ccs, - &live.model_provider, - ); - - CoordinationStatus { - ccswitch_detected, - configured_ownership: configured, - effective_ownership: effective, - last_writer: marker.map(|value| value.writer), - conflict_detected, - conflict_message, - ccswitch_current_provider_id: current_ccs.as_ref().map(|provider| provider.source_id.clone()), - ccswitch_current_provider_name: current_ccs.as_ref().map(|provider| provider.name.clone()), - live_model_provider: live.model_provider, - can_write_live_config: can_write, - guidance, - } -} - -pub fn evaluate_live_write(settings: &BackendSettings, force: bool) -> LiveConfigWriteDecision { - if !settings.relay_profiles_enabled { - return LiveConfigWriteDecision { - allowed: false, - message: "供应商配置总开关已关闭,Codex++ 不会写入 config.toml / auth.json。".to_string(), - }; - } - - let effective = effective_ownership(settings); - if effective == ConfigOwnership::CcSwitch && !settings.ccs_link_enabled { - return LiveConfigWriteDecision { - allowed: false, - message: "当前配置所有权为 CC Switch,但未开启联动 cc-switch。\ - 请开启联动,或将配置所有权改为 Codex++。" - .to_string(), - }; - } - - if effective == ConfigOwnership::CcSwitch && !force { - return LiveConfigWriteDecision { - allowed: false, - message: "当前由 CC Switch 管理 Codex 供应商配置。\ - Codex++ 不会直接覆盖 live 配置;请通过联动供应商切换,或在 CC Switch 中切换后刷新。" - .to_string(), - }; - } - - if detect_ccswitch() - && effective == ConfigOwnership::CodexPlusPlus - && !force - && let Some(conflict) = detect_external_modification(&relay_config::default_codex_home_dir()) - { - return LiveConfigWriteDecision { - allowed: false, - message: format!( - "{conflict} 若确认由 Codex++ 接管,请先将“配置所有权”设为 Codex++ 并强制切换。" - ), - }; - } - - LiveConfigWriteDecision { - allowed: true, - message: String::new(), - } -} - -pub fn apply_linked_ccs_provider_to_home( - source_id: &str, - common_config_contents: &str, -) -> anyhow::Result { - let provider = current_ccs_codex_provider_by_id(source_id) - .with_context(|| format!("未在 cc-switch 中找到 Codex 供应商 {source_id}"))?; - apply_ccs_provider_import_to_home(&provider, common_config_contents) -} - -pub fn apply_current_ccs_provider_to_home( - common_config_contents: &str, -) -> anyhow::Result { - let provider = current_ccs_codex_provider() - .ok_or_else(|| anyhow::anyhow!("cc-switch 中未找到当前启用的 Codex 供应商"))?; - apply_ccs_provider_import_to_home(&provider, common_config_contents) -} - -pub fn sync_active_profile_from_ccs(settings: &mut BackendSettings) -> bool { - if !settings.ccs_link_enabled { - return false; - } - let Some(current) = current_ccs_codex_provider() else { - return false; - }; - if let Some(profile) = settings - .relay_profiles - .iter_mut() - .find(|profile| profile.linked_ccs_provider_id == current.source_id) - { - settings.active_relay_id = profile.id.clone(); - ccs_import::apply_ccs_provider_to_profile(profile, ¤t); - return true; - } - let existing_ids = settings - .relay_profiles - .iter() - .map(|profile| profile.id.clone()) - .collect::>(); - let mut profile = ccs_import::relay_profile_from_ccs(¤t, &existing_ids); - ccs_import::apply_ccs_provider_to_profile(&mut profile, ¤t); - settings.active_relay_id = profile.id.clone(); - settings.relay_profiles.push(profile); - true -} - -fn apply_ccs_provider_import_to_home( - provider: &CcsProviderImport, - common_config_contents: &str, -) -> anyhow::Result { - let home = relay_config::default_codex_home_dir(); - let config_with_common = relay_config::merge_common_config_into_config( - &provider.config_contents, - common_config_contents, - )?; - let result = relay_config::apply_relay_files_to_home( - &home, - &config_with_common, - &provider.auth_contents, - )?; - record_write_marker(WRITER_CC_SWITCH, &home)?; - Ok(result) -} - -pub fn current_ccs_codex_provider() -> Option { - ccs_import::current_codex_provider_from_db(&ccs_import::default_ccs_db_path()) - .ok() - .flatten() -} - -pub fn current_ccs_codex_provider_by_id(source_id: &str) -> Option { - let source_id = source_id.trim(); - if source_id.is_empty() { - return None; - } - ccs_import::list_codex_providers_from_db(&ccs_import::default_ccs_db_path()) - .ok()? - .into_iter() - .find(|provider| provider.source_id == source_id) -} - -fn coordination_guidance( - settings: &BackendSettings, - effective: ConfigOwnership, - ccswitch_detected: bool, - conflict_detected: bool, - current_ccs: &Option, - live_model_provider: &str, -) -> String { - if !ccswitch_detected { - return "未检测到 CC Switch,Codex++ 将独立管理 ~/.codex/config.toml。".to_string(); - } - if conflict_detected { - return "检测到配置冲突:请统一只在一个工具中切换供应商,或明确设置“配置所有权”。".to_string(); - } - match effective { - ConfigOwnership::CcSwitch => { - let provider = current_ccs - .as_ref() - .map(|value| value.name.as_str()) - .unwrap_or("未知"); - format!( - "当前由 CC Switch 管理供应商配置。Codex++ 会通过联动读取/回写 cc-switch 数据库,\ - 不会直接覆盖 live 配置。CC Switch 当前供应商:{provider};live model_provider:{live_model_provider}。" - ) - } - ConfigOwnership::CodexPlusPlus => { - if settings.ccs_link_enabled { - "已开启 cc-switch 联动,但配置所有权仍为 Codex++。切换供应商时 Codex++ 会写入 live 配置,\ - 可能覆盖 CC Switch 的选择。" - .to_string() - } else { - "Codex++ 独立管理 live 配置。若同时使用 CC Switch,建议开启联动并设为 auto/ccswitch 所有权。" - .to_string() - } - } - ConfigOwnership::Auto => "自动模式会根据联动开关和 CC Switch 是否存在选择所有权。".to_string(), - } -} - -fn hash_bytes(bytes: &[u8]) -> String { - let mut hasher = DefaultHasher::new(); - bytes.hash(&mut hasher); - format!("{:016x}", hasher.finish()) -} - -fn now_ms() -> u64 { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .map(|duration| duration.as_millis() as u64) - .unwrap_or(0) -} \ No newline at end of file diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 4c9ed6492..f1560d9de 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -247,7 +247,9 @@ where let mut injection_degraded = false; if settings.enhancements_enabled { - let injection_ready = hooks.ensure_injection(debug_port, helper_port, &app_dir).await; + let injection_ready = hooks + .ensure_injection(debug_port, helper_port, &app_dir) + .await; if injection_ready { keep_launched_on_error = false; hooks.start_bridge_watchdog(debug_port, helper_port).await?; @@ -367,9 +369,7 @@ impl LaunchHooks for DefaultLaunchHooks { } async fn load_settings(&self) -> anyhow::Result { - let mut settings = SettingsStore::default().load()?; - hydrate_live_ccs_profiles(&mut settings); - Ok(settings) + SettingsStore::default().load() } async fn run_provider_sync(&self) -> anyhow::Result<()> { @@ -380,30 +380,6 @@ impl LaunchHooks for DefaultLaunchHooks { if !settings.relay_profiles_enabled { return Ok(()); } - if crate::config_coordinator::effective_ownership(settings) - == crate::settings::ConfigOwnership::CcSwitch - { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.apply_active_relay_profile.skipped", - serde_json::json!({ - "reason": "ccswitch_ownership", - "activeRelayId": settings.active_relay_id - }), - ); - return Ok(()); - } - let write_decision = crate::config_coordinator::evaluate_live_write(settings, false); - if !write_decision.allowed { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.apply_active_relay_profile.skipped", - serde_json::json!({ - "reason": "write_guard", - "message": write_decision.message, - "activeRelayId": settings.active_relay_id - }), - ); - return Ok(()); - } let profile = settings.active_relay_profile(); let home = crate::relay_config::default_codex_home_dir(); let common_config = crate::relay_config::normalize_config_text( @@ -638,16 +614,6 @@ impl LaunchHooks for DefaultLaunchHooks { } } -fn hydrate_live_ccs_profiles(settings: &mut BackendSettings) { - if !settings.ccs_link_enabled { - return; - } - settings - .relay_profiles - .retain(|profile| profile.linked_ccs_provider_id.trim().is_empty()); - let _ = crate::ccs_import::sync_linked_profiles_from_default_db(&mut settings.relay_profiles); -} - async fn handle_helper_connection( mut stream: tokio::net::TcpStream, remote_addr: Option, @@ -657,7 +623,8 @@ async fn handle_helper_connection( let request_line = request.lines().next().unwrap_or_default(); let mut parts = request_line.split_whitespace(); let method = parts.next().unwrap_or_default(); - let path = parts.next().unwrap_or_default(); + let raw_path = parts.next().unwrap_or_default(); + let path = raw_path.split('?').next().unwrap_or(raw_path); let request_body = http_request_body(&request); let remote_addr_text = remote_addr.map(|addr| addr.to_string()); @@ -743,6 +710,17 @@ async fn handle_helper_connection( "application/json; charset=utf-8".to_string(), "helper.diagnostics_log_ok", ) + } else if path == "/overlay/image" && matches!(method, "GET" | "OPTIONS") { + if method == "OPTIONS" { + ( + "200 OK".to_string(), + Vec::new(), + "application/octet-stream".to_string(), + "helper.overlay_image_options", + ) + } else { + overlay_image_response() + } } else { ( "404 Not Found".to_string(), @@ -781,6 +759,57 @@ async fn handle_helper_connection( Ok(()) } +fn overlay_image_response() -> (String, Vec, String, &'static str) { + let not_found = || { + ( + "404 Not Found".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": "图片覆盖层未启用或图片不可用" + })) + .unwrap_or_default(), + "application/json; charset=utf-8".to_string(), + "helper.overlay_image_not_found", + ) + }; + let settings = SettingsStore::default().load().unwrap_or_default(); + if !settings.codex_app_image_overlay_enabled { + return not_found(); + } + let image_path = PathBuf::from(settings.codex_app_image_overlay_path.trim()); + if image_path.as_os_str().is_empty() || !image_path.is_file() { + return not_found(); + } + let Some(content_type) = overlay_image_content_type(&image_path) else { + return not_found(); + }; + match std::fs::read(&image_path) { + Ok(bytes) => ( + "200 OK".to_string(), + bytes, + content_type.to_string(), + "helper.overlay_image_ok", + ), + Err(_) => not_found(), + } +} + +fn overlay_image_content_type(path: &Path) -> Option<&'static str> { + match path + .extension() + .and_then(|extension| extension.to_str()) + .map(str::to_ascii_lowercase) + .as_deref() + { + Some("png") => Some("image/png"), + Some("jpg") | Some("jpeg") => Some("image/jpeg"), + Some("webp") => Some("image/webp"), + Some("gif") => Some("image/gif"), + Some("bmp") => Some("image/bmp"), + _ => None, + } +} + async fn handle_models_proxy_connection( stream: &mut tokio::net::TcpStream, method: &str, @@ -1094,6 +1123,29 @@ fn log_helper_response( ); } +#[cfg(test)] +mod tests { + use super::overlay_image_content_type; + use std::path::Path; + + #[test] + fn overlay_image_content_type_accepts_common_images_only() { + assert_eq!( + overlay_image_content_type(Path::new("overlay.PNG")), + Some("image/png") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.jpeg")), + Some("image/jpeg") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.webp")), + Some("image/webp") + ); + assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); + } +} + async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { let mut buffer = Vec::new(); let mut chunk = vec![0_u8; 4096]; @@ -1294,7 +1346,8 @@ async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { .web_socket_debugger_url .as_deref() .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; - let script = crate::assets::injection_script(helper_port); + let settings = SettingsStore::default().load().unwrap_or_default(); + let script = crate::assets::injection_script_with_settings(helper_port, &settings); let ctx = crate::routes::BridgeContext::core(Arc::new(crate::routes::CoreRuntimeService::new( debug_port, StatusStore::default(), diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 23860a93c..6742086ac 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -2,11 +2,9 @@ pub mod ads; pub mod app_paths; pub mod assets; pub mod bridge; -pub mod ccs_import; pub mod cdp; pub mod cli_wrapper; pub mod codex_sqlite; -pub mod config_coordinator; pub mod diagnostic_log; pub mod http_client; pub mod install; @@ -18,6 +16,7 @@ pub mod ports; pub mod protocol_proxy; pub mod proxy; pub mod relay_config; +pub mod relay_switch; pub mod routes; pub mod script_market; pub mod settings; diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 23cb209c9..4809bf35e 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -328,6 +328,8 @@ pub fn apply_relay_files_to_home_with_context( ) -> anyhow::Result { let selected_common = filter_common_config_for_selection(common_config_contents, selection)?; let config_with_common = merge_common_config_into_config(config_contents, &selected_common)?; + let config_with_common = + preserve_unmanaged_live_context_entries(home, &config_with_common, common_config_contents)?; let config_with_limits = apply_context_limits_to_config(&config_with_common, context_window, auto_compact_limit)?; apply_relay_files_to_home(home, &config_with_limits, auth_contents) @@ -339,12 +341,14 @@ pub fn apply_relay_profile_files_to_home_with_context( common_config_contents: &str, ) -> anyhow::Result { let selected_common = if profile.use_common_config { - filter_common_config_for_selection(common_config_contents, &profile.context_selection)? + filter_common_config_for_profile(common_config_contents, profile)? } else { String::new() }; let profile_config = complete_relay_profile_config(profile)?; let config_with_common = merge_common_config_into_config(&profile_config, &selected_common)?; + let config_with_common = + preserve_unmanaged_live_context_entries(home, &config_with_common, common_config_contents)?; let config_with_limits = apply_context_limits_to_config( &config_with_common, &profile.context_window, @@ -359,12 +363,14 @@ pub fn apply_relay_profile_to_home_with_switch_rules( common_config_contents: &str, ) -> anyhow::Result { let selected_common = if profile.use_common_config { - filter_common_config_for_selection(common_config_contents, &profile.context_selection)? + filter_common_config_for_profile(common_config_contents, profile)? } else { String::new() }; let profile_config = complete_relay_profile_config(profile)?; let config_with_common = merge_common_config_into_config(&profile_config, &selected_common)?; + let config_with_common = + preserve_unmanaged_live_context_entries(home, &config_with_common, common_config_contents)?; let config_with_limits = apply_context_limits_to_config( &config_with_common, &profile.context_window, @@ -764,14 +770,29 @@ pub fn delete_context_entry_from_common_config( pub fn filter_common_config_for_selection( common_config: &str, - _selection: &RelayContextSelection, + selection: &RelayContextSelection, ) -> anyhow::Result { let sanitized_common = sanitize_common_config_contents(common_config); let mut filtered = parse_toml_document(&sanitized_common)?; + filter_context_tables_for_selection(filtered.as_table_mut(), selection); remove_disabled_context_tables(filtered.as_table_mut()); Ok(normalize_optional_toml(filtered)) } +fn filter_common_config_for_profile( + common_config: &str, + profile: &RelayProfile, +) -> anyhow::Result { + if profile.context_selection_initialized { + filter_common_config_for_selection(common_config, &profile.context_selection) + } else { + let sanitized_common = sanitize_common_config_contents(common_config); + let mut filtered = parse_toml_document(&sanitized_common)?; + remove_disabled_context_tables(filtered.as_table_mut()); + Ok(normalize_optional_toml(filtered)) + } +} + pub fn sync_live_config_context_entries( live_config: &str, context_config: &str, @@ -779,20 +800,169 @@ pub fn sync_live_config_context_entries( let normalized_live = normalize_duplicate_toml_text(live_config); let normalized_context = normalize_duplicate_toml_text(context_config); let mut live_doc = parse_toml_document(&normalized_live)?; - for table_name in ["mcp_servers", "skills", "plugins"] { - live_doc.as_table_mut().remove(table_name); - } if normalized_context.trim().is_empty() { return Ok(normalize_optional_toml(live_doc)); } - let mut context_doc = parse_toml_document(&normalized_context)?; + let managed_doc = parse_toml_document(&normalized_context)?; + remove_managed_context_entries(live_doc.as_table_mut(), managed_doc.as_table()); + let mut context_doc = managed_doc; remove_disabled_context_tables(context_doc.as_table_mut()); + merge_managed_context_tables(live_doc.as_table_mut(), context_doc.as_table()); + Ok(normalize_optional_toml(live_doc)) +} + +fn preserve_unmanaged_live_context_entries( + home: &Path, + config_text: &str, + managed_context_config: &str, +) -> anyhow::Result { + let live_config = read_optional_text(&home.join("config.toml"))?; + if live_config.trim().is_empty() { + return Ok(ensure_trailing_newline(config_text.to_string())); + } + let mut target_doc = parse_toml_document(config_text)?; + let live_doc = parse_toml_document(&live_config)?; + let managed_doc = + parse_toml_document(&sanitize_common_config_contents(managed_context_config))?; + preserve_unmanaged_context_tables( + target_doc.as_table_mut(), + live_doc.as_table(), + managed_doc.as_table(), + ); + Ok(normalize_optional_toml(target_doc)) +} + +fn filter_context_tables_for_selection( + table: &mut toml_edit::Table, + selection: &RelayContextSelection, +) { + filter_context_table_for_ids(table, "mcp_servers", &selection.mcp_servers); + filter_context_table_for_ids(table, "skills", &selection.skills); + filter_context_table_for_ids(table, "plugins", &selection.plugins); +} + +fn filter_context_table_for_ids( + table: &mut toml_edit::Table, + table_name: &str, + selected_ids: &[String], +) { + let Some(item) = table.get_mut(table_name) else { + return; + }; + let Some(context_table) = item.as_table_mut() else { + return; + }; + let selected = selected_ids + .iter() + .map(|id| id.trim()) + .filter(|id| !id.is_empty()) + .collect::>(); + let remove_ids = context_table + .iter() + .filter_map(|(id, _)| (!selected.contains(id)).then_some(id.to_string())) + .collect::>(); + for id in remove_ids { + context_table.remove(&id); + } +} + +fn merge_managed_context_tables(target: &mut toml_edit::Table, managed: &toml_edit::Table) { + for table_name in ["mcp_servers", "skills", "plugins"] { + merge_managed_context_table(target, managed, table_name); + } +} + +fn merge_managed_context_table( + target: &mut toml_edit::Table, + managed: &toml_edit::Table, + table_name: &str, +) { + let Some(managed_item) = managed.get(table_name) else { + return; + }; + let Some(managed_table) = managed_item.as_table_like() else { + return; + }; + if target.get(table_name).is_none() { + target[table_name] = toml_edit::table(); + } + let Some(target_table) = target.get_mut(table_name).and_then(Item::as_table_like_mut) else { + target[table_name] = managed_item.clone(); + return; + }; + for (id, item) in managed_table.iter() { + target_table.insert(id, item.clone()); + } +} + +fn remove_managed_context_entries(target: &mut toml_edit::Table, managed: &toml_edit::Table) { + for table_name in ["mcp_servers", "skills", "plugins"] { + remove_managed_context_entry_table(target, managed, table_name); + } +} + +fn remove_managed_context_entry_table( + target: &mut toml_edit::Table, + managed: &toml_edit::Table, + table_name: &str, +) { + let Some(managed_item) = managed.get(table_name) else { + return; + }; + let Some(managed_table) = managed_item.as_table_like() else { + return; + }; + let Some(target_table) = target.get_mut(table_name).and_then(Item::as_table_like_mut) else { + return; + }; + for (id, _) in managed_table.iter() { + target_table.remove(id); + } +} + +fn preserve_unmanaged_context_tables( + target: &mut toml_edit::Table, + live: &toml_edit::Table, + managed: &toml_edit::Table, +) { for table_name in ["mcp_servers", "skills", "plugins"] { - if let Some(item) = context_doc.as_table_mut().remove(table_name) { - live_doc[table_name] = item; + preserve_unmanaged_context_table(target, live, managed, table_name); + } +} + +fn preserve_unmanaged_context_table( + target: &mut toml_edit::Table, + live: &toml_edit::Table, + managed: &toml_edit::Table, + table_name: &str, +) { + let Some(live_item) = live.get(table_name) else { + return; + }; + let Some(live_table) = live_item.as_table_like() else { + return; + }; + if target.get(table_name).is_none() { + target[table_name] = toml_edit::table(); + } + let Some(target_table) = target.get_mut(table_name).and_then(Item::as_table_like_mut) else { + return; + }; + let managed_ids = managed + .get(table_name) + .and_then(Item::as_table_like) + .map(|table| { + table + .iter() + .map(|(id, _)| id.to_string()) + .collect::>() + }) + .unwrap_or_default(); + for (id, item) in live_table.iter() { + if !managed_ids.contains(id) && target_table.get(id).is_none() { + target_table.insert(id, item.clone()); } } - Ok(normalize_optional_toml(live_doc)) } fn remove_disabled_context_tables(table: &mut toml_edit::Table) { @@ -854,10 +1024,6 @@ fn write_codex_live_atomic( } } - if config_text.is_some() || auth_bytes.is_some() { - let _ = crate::config_coordinator::record_write_marker("codexplusplus", home); - } - Ok(backup_path) } diff --git a/crates/codex-plus-core/src/relay_switch.rs b/crates/codex-plus-core/src/relay_switch.rs new file mode 100644 index 000000000..b995ee754 --- /dev/null +++ b/crates/codex-plus-core/src/relay_switch.rs @@ -0,0 +1,147 @@ +use std::path::Path; + +use anyhow::Context; + +use crate::relay_config::{ + apply_relay_profile_to_home_with_switch_rules, backfill_relay_profile_from_home_with_common, + clear_relay_config_to_home_with_auth, relay_config_status_from_home, +}; +use crate::settings::{BackendSettings, LaunchMode, RelayMode, SettingsStore}; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub struct RelaySwitchResult { + pub settings: BackendSettings, + pub configured: bool, + pub backup_path: Option, +} + +pub fn switch_relay_profile_in_home( + store: &SettingsStore, + home: &Path, + next_settings: BackendSettings, + previous_active_relay_id: &str, +) -> anyhow::Result { + let mut selected_settings = next_settings; + if !selected_settings.relay_profiles_enabled { + anyhow::bail!("供应商配置总开关已关闭,未写入 config.toml / auth.json。"); + } + + let original_settings = store.load().unwrap_or_default(); + if !previous_active_relay_id.trim().is_empty() + && previous_active_relay_id != selected_settings.active_relay_id + { + backfill_profile_before_switch(home, &mut selected_settings, previous_active_relay_id)?; + } + + selected_settings.launch_mode = + launch_mode_for_relay_profile(&selected_settings.active_relay_profile()); + store + .save(&selected_settings) + .context("保存供应商设置失败")?; + + match apply_selected_relay_profile(home, &selected_settings) { + Ok(result) => Ok(result), + Err(error) => { + let _ = store.save(&original_settings); + Err(error) + } + } +} + +fn backfill_profile_before_switch( + home: &Path, + settings: &mut BackendSettings, + previous_active_relay_id: &str, +) -> anyhow::Result<()> { + let profile = settings + .relay_profiles + .iter_mut() + .find(|profile| profile.id == previous_active_relay_id) + .with_context(|| "当前供应商已不在配置列表中,已停止切换以避免覆盖用户改动。")?; + backfill_relay_profile_from_home_with_common( + home, + profile, + &mut settings.relay_context_config_contents, + ) + .with_context(|| "回填当前供应商配置失败") +} + +fn apply_selected_relay_profile( + home: &Path, + settings: &BackendSettings, +) -> anyhow::Result { + let relay = settings.active_relay_profile(); + let common_config = relay_combined_common_config(settings); + let result = if relay.relay_mode == RelayMode::Official && !relay.official_mix_api_key { + let auth_contents = + (!relay.auth_contents.trim().is_empty()).then_some(relay.auth_contents.as_str()); + clear_relay_config_to_home_with_auth(home, auth_contents)? + } else { + validate_switch_profile_files(&relay)?; + apply_relay_profile_to_home_with_switch_rules(home, &relay, &common_config)? + }; + let status = relay_config_status_from_home(home); + if relay.relay_mode == RelayMode::PureApi && !status.configured { + anyhow::bail!( + "纯 API 配置写入后未检测到完整 custom provider,请检查 config.toml 和供应商 API Key。" + ); + } + Ok(RelaySwitchResult { + settings: settings.clone(), + configured: status.configured, + backup_path: result.backup_path, + }) +} + +fn validate_switch_profile_files(profile: &crate::settings::RelayProfile) -> anyhow::Result<()> { + if profile.config_contents.trim().is_empty() { + anyhow::bail!( + "供应商「{}」缺少独立 config.toml,已停止切换,避免继续显示上一套配置文件。", + if profile.name.trim().is_empty() { + profile.id.as_str() + } else { + profile.name.as_str() + } + ); + } + if profile.relay_mode == RelayMode::Official + && serde_json::from_str::(&profile.auth_contents) + .ok() + .and_then(|value| { + value + .get("OPENAI_API_KEY") + .and_then(serde_json::Value::as_str) + .map(str::trim) + .map(str::is_empty) + }) + == Some(false) + { + anyhow::bail!( + "官方混合 API 不应在 auth.json 中保存 OPENAI_API_KEY。请清理此供应商的 auth.json 后再切换。" + ); + } + Ok(()) +} + +fn launch_mode_for_relay_profile(profile: &crate::settings::RelayProfile) -> LaunchMode { + if profile.relay_mode == RelayMode::PureApi { + LaunchMode::Patch + } else { + LaunchMode::Relay + } +} + +fn relay_combined_common_config(settings: &BackendSettings) -> String { + let sections = [ + settings.relay_common_config_contents.trim(), + settings.relay_context_config_contents.trim(), + ] + .into_iter() + .filter(|section| !section.is_empty()) + .collect::>(); + if sections.is_empty() { + String::new() + } else { + crate::relay_config::normalize_config_text(&format!("{}\n", sections.join("\n\n"))) + } +} diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index e0d681f1b..64de7b5ea 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -9,15 +9,6 @@ use toml_edit::{DocumentMut, Item}; use crate::zed_remote::ZedOpenStrategy; -#[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize, Default)] -#[serde(rename_all = "camelCase")] -pub enum ConfigOwnership { - #[default] - Auto, - CodexPlusPlus, - CcSwitch, -} - #[derive(Debug, Clone, Copy, PartialEq, Eq, serde::Serialize, serde::Deserialize, Default)] #[serde(rename_all = "lowercase")] pub enum LaunchMode { @@ -51,8 +42,6 @@ impl Default for RelayContextSelection { #[serde(rename_all = "camelCase")] pub struct RelayProfile { pub id: String, - #[serde(rename = "linkedCcsProviderId", default)] - pub linked_ccs_provider_id: String, pub name: String, #[serde(default, skip_serializing)] pub model: String, @@ -60,7 +49,11 @@ pub struct RelayProfile { pub base_url: String, #[serde(rename = "upstreamBaseUrl", default)] pub upstream_base_url: String, - #[serde(default, skip_serializing, deserialize_with = "deserialize_profile_api_key")] + #[serde( + default, + skip_serializing, + deserialize_with = "deserialize_profile_api_key" + )] pub api_key: String, #[serde(default)] pub protocol: RelayProtocol, @@ -100,7 +93,6 @@ impl Default for RelayProfile { fn default() -> Self { Self { id: "default".to_string(), - linked_ccs_provider_id: String::new(), name: "默认中转".to_string(), model: String::new(), base_url: default_relay_base_url(), @@ -165,10 +157,6 @@ pub struct BackendSettings { pub provider_sync_last_selected_provider: String, #[serde(rename = "relayProfilesEnabled", default = "default_true")] pub relay_profiles_enabled: bool, - #[serde(rename = "ccsLinkEnabled", default)] - pub ccs_link_enabled: bool, - #[serde(rename = "configOwnership", default)] - pub config_ownership: ConfigOwnership, #[serde(rename = "enhancementsEnabled", default = "default_true")] pub enhancements_enabled: bool, #[serde(rename = "codexAppPluginEntryUnlock", default = "default_true")] @@ -205,6 +193,16 @@ pub struct BackendSettings { pub codex_app_native_menu_placement: bool, #[serde(rename = "codexAppServiceTierControls", default)] pub codex_app_service_tier_controls: bool, + #[serde(rename = "codexAppImageOverlayEnabled", default)] + pub codex_app_image_overlay_enabled: bool, + #[serde(rename = "codexAppImageOverlayPath", default)] + pub codex_app_image_overlay_path: String, + #[serde( + rename = "codexAppImageOverlayOpacity", + default = "default_image_overlay_opacity", + deserialize_with = "deserialize_image_overlay_opacity" + )] + pub codex_app_image_overlay_opacity: u8, #[serde(rename = "codexGoalsEnabled", default)] pub codex_goals_enabled: bool, #[serde(rename = "launchMode", default)] @@ -247,8 +245,6 @@ impl Default for BackendSettings { provider_sync_manual_providers: Vec::new(), provider_sync_last_selected_provider: String::new(), relay_profiles_enabled: true, - ccs_link_enabled: false, - config_ownership: ConfigOwnership::Auto, enhancements_enabled: true, codex_app_plugin_entry_unlock: true, codex_app_plugin_marketplace_unlock: true, @@ -267,6 +263,9 @@ impl Default for BackendSettings { codex_app_upstream_worktree_create: true, codex_app_native_menu_placement: true, codex_app_service_tier_controls: false, + codex_app_image_overlay_enabled: false, + codex_app_image_overlay_path: String::new(), + codex_app_image_overlay_opacity: default_image_overlay_opacity(), codex_goals_enabled: false, launch_mode: LaunchMode::Patch, relay_base_url: default_relay_base_url(), @@ -293,7 +292,6 @@ impl BackendSettings { { return RelayProfile { id: default_active_relay_id(), - linked_ccs_provider_id: String::new(), name: "默认中转".to_string(), model: String::new(), base_url: if self.relay_base_url.is_empty() { @@ -338,7 +336,6 @@ impl BackendSettings { } else { self.active_relay_id.clone() }, - linked_ccs_provider_id: String::new(), name: "默认中转".to_string(), model: String::new(), base_url: if self.relay_base_url.is_empty() { @@ -374,6 +371,14 @@ pub fn default_api_key_env() -> String { "CUSTOM_OPENAI_API_KEY".to_string() } +fn default_image_overlay_opacity() -> u8 { + 35 +} + +fn clamp_image_overlay_opacity(value: u8) -> u8 { + value.clamp(1, 100) +} + pub fn default_true() -> bool { true } @@ -404,6 +409,15 @@ where .unwrap_or_else(default_api_key_env)) } +fn deserialize_image_overlay_opacity<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + Ok(Option::::deserialize(deserializer)? + .map(clamp_image_overlay_opacity) + .unwrap_or_else(default_image_overlay_opacity)) +} + fn deserialize_profile_api_key<'de, D>(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -527,14 +541,6 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map(value.clone()).is_ok() { - target.insert("configOwnership".to_string(), value.clone()); - } - } if let Some(value) = source.get("enhancementsEnabled").and_then(Value::as_bool) { target.insert("enhancementsEnabled".to_string(), Value::Bool(value)); } @@ -559,6 +565,26 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map BackendS for profile in &mut settings.relay_profiles { let _ = crate::relay_config::normalize_relay_profile_for_storage(profile); } + settings.codex_app_image_overlay_opacity = + clamp_image_overlay_opacity(settings.codex_app_image_overlay_opacity); settings } @@ -858,7 +886,6 @@ mod tests { let settings = BackendSettings::default(); assert!(!settings.provider_sync_enabled); assert!(settings.relay_profiles_enabled); - assert!(!settings.ccs_link_enabled); assert!(settings.enhancements_enabled); assert!(settings.codex_app_plugin_entry_unlock); assert!(settings.codex_app_plugin_marketplace_unlock); @@ -1154,22 +1181,28 @@ experimental_bearer_token = "sk-mix" assert!(profile.official_mix_api_key); assert_eq!(profile.api_key, "sk-mix"); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "sk-mix""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "sk-mix""#) + ); let saved: Value = serde_json::from_str(&std::fs::read_to_string(dir.join("settings.json")).unwrap()) .unwrap(); assert!(saved["relayProfiles"][0].get("apiKey").is_none()); - assert!(!saved["relayProfiles"][0]["authContents"] - .as_str() - .unwrap() - .contains("OPENAI_API_KEY")); - assert!(saved["relayProfiles"][0]["configContents"] - .as_str() - .unwrap() - .contains(r#"experimental_bearer_token = "sk-mix""#)); + assert!( + !saved["relayProfiles"][0]["authContents"] + .as_str() + .unwrap() + .contains("OPENAI_API_KEY") + ); + assert!( + saved["relayProfiles"][0]["configContents"] + .as_str() + .unwrap() + .contains(r#"experimental_bearer_token = "sk-mix""#) + ); } #[test] @@ -1218,11 +1251,11 @@ experimental_bearer_token = "sk-existing" let profile = &updated.relay_profiles[0]; assert_eq!(profile.api_key, "sk-existing"); assert!(!profile.config_contents.contains("sk-other")); - assert!(profile - .config_contents - .contains(r#"[model_providers.custom] + assert!(profile.config_contents.contains( + r#"[model_providers.custom] base_url = "https://relay.example/v1" -experimental_bearer_token = "sk-existing""#)); +experimental_bearer_token = "sk-existing""# + )); } #[test] @@ -1248,9 +1281,11 @@ experimental_bearer_token = "sk-existing""#)); let profile = &updated.relay_profiles[0]; assert_eq!(profile.api_key, "sk-new"); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "sk-new""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "sk-new""#) + ); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); } @@ -1277,9 +1312,11 @@ experimental_bearer_token = "sk-existing""#)); assert_eq!(profile.relay_mode, RelayMode::Official); assert!(profile.official_mix_api_key); assert_eq!(profile.api_key, "22222222222222222222222222222222222"); - assert!(profile - .config_contents - .contains(r#"experimental_bearer_token = "22222222222222222222222222222222222""#)); + assert!( + profile + .config_contents + .contains(r#"experimental_bearer_token = "22222222222222222222222222222222222""#) + ); assert!(!profile.auth_contents.contains("OPENAI_API_KEY")); } @@ -1376,6 +1413,28 @@ experimental_bearer_token = "sk-existing""#)); assert_eq!(store.load().unwrap(), updated); } + #[test] + fn settings_store_update_persists_image_overlay_settings() { + let dir = temp_dir(); + let store = SettingsStore::new(dir.join("settings.json")); + + let updated = store + .update(json!({ + "codexAppImageOverlayEnabled": true, + "codexAppImageOverlayPath": "C:\\Users\\me\\Pictures\\overlay.png", + "codexAppImageOverlayOpacity": 42 + })) + .unwrap(); + + assert!(updated.codex_app_image_overlay_enabled); + assert_eq!( + updated.codex_app_image_overlay_path, + r"C:\Users\me\Pictures\overlay.png" + ); + assert_eq!(updated.codex_app_image_overlay_opacity, 42); + assert_eq!(store.load().unwrap(), updated); + } + #[test] fn settings_store_update_persists_launch_mode() { let dir = temp_dir(); diff --git a/crates/codex-plus-core/tests/cdp_bridge.rs b/crates/codex-plus-core/tests/cdp_bridge.rs index 03881a7c4..7307fb2ef 100644 --- a/crates/codex-plus-core/tests/cdp_bridge.rs +++ b/crates/codex-plus-core/tests/cdp_bridge.rs @@ -1,3 +1,4 @@ +use base64::Engine; use codex_plus_core::assets; use codex_plus_core::bridge::{self, BRIDGE_BINDING_NAME}; use codex_plus_core::cdp::{CdpTarget, list_targets, pick_page_target}; @@ -49,6 +50,41 @@ fn injection_script_prefixes_helper_url_and_sponsor_images() { assert!(script.contains("data-codex-plus-discord")); } +#[test] +fn injection_script_exposes_image_overlay_config() { + let temp = tempfile::tempdir().unwrap(); + let image_path = temp.path().join("overlay.png"); + std::fs::write( + &image_path, + base64::engine::general_purpose::STANDARD + .decode("iVBORw0KGgoAAAANSUhEUgAAAAEAAAABCAQAAAC1HAwCAAAAC0lEQVR42mP8/x8AAwMCAO+/p9sAAAAASUVORK5CYII=") + .unwrap(), + ) + .unwrap(); + let settings = codex_plus_core::settings::BackendSettings { + codex_app_image_overlay_enabled: true, + codex_app_image_overlay_path: image_path.to_string_lossy().to_string(), + codex_app_image_overlay_opacity: 42, + ..Default::default() + }; + let script = assets::injection_script_with_settings(57321, &settings); + + assert!(script.contains("window.__CODEX_PLUS_IMAGE_OVERLAY__")); + assert!(script.contains("\"enabled\":true")); + assert!(script.contains("\"opacity\":0.42")); + assert!(script.contains("\"dataUrl\":\"data:image/png;base64,")); + assert!(script.contains("http://127.0.0.1:57321/overlay/image")); +} + +#[test] +fn injection_script_installs_image_overlay_from_data_uri() { + let script = assets::injection_script(57321); + + assert!(script.contains("const source = config.dataUrl || \"\"")); + assert!(script.contains("image.src = source")); + assert!(script.contains("image_overlay_installed")); +} + #[test] fn injection_script_marks_diagnostic_build_and_reports_script_loaded() { let script = assets::injection_script(57321); @@ -185,7 +221,9 @@ fn injection_script_keeps_bundled_marketplace_name_for_default_filter() { assert!(script.contains("codexPluginMarketplaceUnlockVersion = \"10\"")); assert!(script.contains("if (name === \"openai-bundled\") return \"\"")); - assert!(!script.contains("if (name === \"openai-bundled\") return \"codex-plus-openai-bundled\"")); + assert!( + !script.contains("if (name === \"openai-bundled\") return \"codex-plus-openai-bundled\"") + ); assert!(script.contains("if (name === \"openai-bundled\" || name === \"codex-plus-openai-bundled\") return \"OpenAI插件1(Codex++)\"")); } @@ -211,9 +249,13 @@ fn injection_script_expands_api_key_plugin_marketplace_requests() { assert!(script.contains("Array.prototype.filter")); assert!(script.contains("codexPluginBuildFlavorFilterPatch")); assert!(script.contains("isCodexPluginBuildFlavorFilter")); - assert!(script.contains("codexPluginOfficialMarketplaceName(plugin?.marketplaceName) && !callback(plugin)")); + assert!(script.contains( + "codexPluginOfficialMarketplaceName(plugin?.marketplaceName) && !callback(plugin)" + )); assert!(script.contains("isCodexPluginMarketplaceHiddenFilter")); - assert!(script.contains("codexPluginOfficialMarketplaceName(marketplace?.name) && !callback(marketplace)")); + assert!(script.contains( + "codexPluginOfficialMarketplaceName(marketplace?.name) && !callback(marketplace)" + )); assert!(script.contains("plugin_marketplace_hidden_filter_bypassed")); assert!(script.contains("method === \"list-plugins\"")); assert!(script.contains("delete next.marketplaceKinds")); @@ -221,10 +263,16 @@ fn injection_script_expands_api_key_plugin_marketplace_requests() { assert!(script.contains("pluginMarketplaceAliasForName")); assert!(script.contains("marketplace.name = alias")); assert!(script.contains("restorePluginMarketplaceName")); - assert!(script.contains("next.remoteMarketplaceName = restorePluginMarketplaceName(next.remoteMarketplaceName)")); + assert!(script.contains( + "next.remoteMarketplaceName = restorePluginMarketplaceName(next.remoteMarketplaceName)" + )); assert!(script.contains("if (name === \"openai-bundled\") return \"\"")); - assert!(script.contains("if (name === \"openai-curated\") return \"codex-plus-openai-curated\"")); - assert!(script.contains("if (name === \"openai-primary-runtime\") return \"codex-plus-openai-primary-runtime\"")); + assert!( + script.contains("if (name === \"openai-curated\") return \"codex-plus-openai-curated\"") + ); + assert!(script.contains( + "if (name === \"openai-primary-runtime\") return \"codex-plus-openai-primary-runtime\"" + )); assert!(script.contains("OpenAI插件1(Codex++)")); assert!(script.contains("OpenAI插件2(Codex++)")); assert!(script.contains("OpenAI插件3(Codex++)")); diff --git a/crates/codex-plus-core/tests/config_coordinator.rs b/crates/codex-plus-core/tests/config_coordinator.rs deleted file mode 100644 index bcc769c49..000000000 --- a/crates/codex-plus-core/tests/config_coordinator.rs +++ /dev/null @@ -1,100 +0,0 @@ -use codex_plus_core::ccs_import; -use codex_plus_core::config_coordinator; -use codex_plus_core::settings::{BackendSettings, ConfigOwnership}; -use rusqlite::params; -use serde_json::json; - -fn create_ccs_db(path: &std::path::Path) { - let conn = rusqlite::Connection::open(path).unwrap(); - conn.execute( - "CREATE TABLE providers ( - id TEXT NOT NULL, - app_type TEXT NOT NULL, - name TEXT NOT NULL, - settings_config TEXT NOT NULL, - created_at INTEGER, - sort_index INTEGER, - is_current BOOLEAN NOT NULL DEFAULT 0, - PRIMARY KEY (id, app_type) - )", - [], - ) - .unwrap(); -} - -fn insert_provider(path: &std::path::Path, id: &str, name: &str, config: serde_json::Value, current: bool) { - let conn = rusqlite::Connection::open(path).unwrap(); - conn.execute( - "INSERT INTO providers (id, app_type, name, settings_config, created_at, sort_index, is_current) - VALUES (?1, 'codex', ?2, ?3, 1000, 0, ?4)", - params![id, name, config.to_string(), current as i64], - ) - .unwrap(); -} - -#[test] -fn effective_ownership_auto_prefers_ccswitch_when_linked() { - let mut settings = BackendSettings::default(); - settings.ccs_link_enabled = true; - settings.config_ownership = ConfigOwnership::Auto; - assert_eq!( - config_coordinator::effective_ownership(&settings), - ConfigOwnership::CcSwitch - ); -} - -#[test] -fn evaluate_live_write_blocks_when_ccswitch_owns_config() { - let mut settings = BackendSettings::default(); - settings.ccs_link_enabled = true; - settings.config_ownership = ConfigOwnership::CcSwitch; - let decision = config_coordinator::evaluate_live_write(&settings, false); - assert!(!decision.allowed); - assert!(decision.message.contains("CC Switch")); -} - -#[test] -fn detect_external_modification_after_foreign_write() { - let dir = tempfile::tempdir().unwrap(); - let home = dir.path().join(".codex"); - std::fs::create_dir_all(&home).unwrap(); - std::fs::write(home.join("config.toml"), "model_provider = \"custom\"\n").unwrap(); - std::fs::write(home.join("auth.json"), "{}\n").unwrap(); - config_coordinator::record_write_marker("codexplusplus", &home).unwrap(); - - std::fs::write(home.join("config.toml"), "model_provider = \"openai\"\n").unwrap(); - let conflict = config_coordinator::detect_external_modification(&home); - assert!(conflict.is_some()); -} - -#[test] -fn current_codex_provider_from_db_reads_active_provider() { - let dir = tempfile::tempdir().unwrap(); - let db = dir.path().join("cc-switch.db"); - create_ccs_db(&db); - insert_provider( - &db, - "relay-a", - "Relay A", - json!({ - "auth": { "OPENAI_API_KEY": "sk-a" }, - "config": "model_provider = \"relay-a\"\n\n[model_providers.relay-a]\nbase_url = \"https://relay-a.example/v1\"\n" - }), - true, - ); - insert_provider( - &db, - "relay-b", - "Relay B", - json!({ - "auth": { "OPENAI_API_KEY": "sk-b" }, - "config": "model_provider = \"relay-b\"\n" - }), - false, - ); - - let provider = ccs_import::current_codex_provider_from_db(&db).unwrap().unwrap(); - assert_eq!(provider.source_id, "relay-a"); - assert_eq!(provider.name, "Relay A"); - assert!(provider.config_contents.contains("relay-a")); -} \ No newline at end of file diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 55ef1045c..74901fd89 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -772,7 +772,6 @@ async fn launch_starts_helper_when_chat_protocol_proxy_is_enabled() { enhancements_enabled: false, relay_profiles: vec![RelayProfile { id: "relay-chat".to_string(), - linked_ccs_provider_id: String::new(), name: "Chat".to_string(), model: String::new(), base_url: "https://chat-only.example.test/v1".to_string(), diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index 39af5c124..5d15f7d41 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -582,7 +582,7 @@ enabled = true assert!(updated.contains("[mcp_servers.ida-pro-mcp]")); assert!(updated.contains(r#"command = "python""#)); - assert!(!updated.contains("[plugins.\"browser@openai-bundled\"]")); + assert!(updated.contains("[plugins.\"browser@openai-bundled\"]")); } #[test] @@ -638,7 +638,7 @@ enabled = true } #[test] -fn global_common_config_is_not_filtered_by_supplier_selection() { +fn global_common_config_filters_context_by_supplier_selection() { let filtered = filter_common_config_for_selection( r#"disable_response_storage = true @@ -668,9 +668,9 @@ path = "plugin.js" assert!(filtered.contains("disable_response_storage = true")); assert!(filtered.contains("[features]")); assert!(filtered.contains("goals = true")); - assert!(filtered.contains("[mcp_servers.context7]")); + assert!(!filtered.contains("[mcp_servers.context7]")); assert!(filtered.contains("[mcp_servers.memory]")); - assert!(filtered.contains("[skills.writer]")); + assert!(!filtered.contains("[skills.writer]")); assert!(filtered.contains("[plugins.local]")); } @@ -821,7 +821,7 @@ path = "plugin.js" } #[test] -fn apply_relay_files_with_context_selection_writes_all_global_context() { +fn apply_relay_files_with_context_selection_writes_only_selected_global_context() { let temp = tempfile::tempdir().unwrap(); let selection = RelayContextSelection { mcp_servers: vec!["memory".to_string()], @@ -860,8 +860,8 @@ path = "plugin.js" let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); assert!(config.contains("[mcp_servers.memory]")); - assert!(config.contains("[mcp_servers.context7]")); - assert!(config.contains("[skills.writer]")); + assert!(!config.contains("[mcp_servers.context7]")); + assert!(!config.contains("[skills.writer]")); assert!(config.contains("[plugins.local]")); assert!(config.contains("model_context_window = 200000")); assert!(config.contains("model_auto_compact_token_limit = 160000")); @@ -870,7 +870,11 @@ path = "plugin.js" #[test] fn apply_relay_files_with_context_skips_disabled_global_context() { let temp = tempfile::tempdir().unwrap(); - let selection = RelayContextSelection::default(); + let selection = RelayContextSelection { + mcp_servers: vec!["enabled_one".to_string()], + skills: vec!["disabled_skill".to_string()], + plugins: vec!["disabled_one".to_string(), "enabled_two".to_string()], + }; codex_plus_core::relay_config::apply_relay_files_to_home_with_context( temp.path(), @@ -2120,6 +2124,175 @@ requires_openai_auth = true assert!(!config.contains("[model_providers.custom]")); } +#[test] +fn apply_relay_profile_to_home_with_switch_rules_preserves_unmanaged_live_context_entries() { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "old" + +[mcp_servers.manual] +command = "manual-command" + +[plugins.manual] +enabled = true +"#, + ) + .unwrap(); + let profile = RelayProfile { + id: "relay-a".to_string(), + relay_mode: RelayMode::PureApi, + config_contents: r#"model = "gpt-5.5" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://relay.example/v1" +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-new"}"#.to_string(), + ..RelayProfile::default() + }; + let common = r#"[mcp_servers.managed] +command = "managed-command" +"#; + + apply_relay_profile_to_home_with_switch_rules(temp.path(), &profile, common).unwrap(); + + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + assert!(config.contains("[mcp_servers.manual]")); + assert!(config.contains(r#"command = "manual-command""#)); + assert!(config.contains("[plugins.manual]")); + assert!(config.contains("[mcp_servers.managed]")); + assert!(config.contains(r#"command = "managed-command""#)); +} + +#[test] +fn apply_relay_profile_to_home_with_switch_rules_does_not_preserve_unselected_managed_context_entries() + { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "old" + +[mcp_servers.manual] +command = "manual-command" + +[mcp_servers.managed] +command = "old-managed" +"#, + ) + .unwrap(); + let profile = RelayProfile { + id: "relay-a".to_string(), + relay_mode: RelayMode::PureApi, + context_selection_initialized: true, + context_selection: RelayContextSelection::default(), + config_contents: r#"model = "gpt-5.5" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://relay.example/v1" +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-new"}"#.to_string(), + ..RelayProfile::default() + }; + let common = r#"[mcp_servers.managed] +command = "managed-command" +"#; + + apply_relay_profile_to_home_with_switch_rules(temp.path(), &profile, common).unwrap(); + + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + assert!(config.contains("[mcp_servers.manual]")); + assert!(!config.contains("[mcp_servers.managed]")); +} + +#[test] +fn filter_common_config_for_selection_writes_only_selected_context_entries() { + let common = r#"model_reasoning_effort = "high" + +[mcp_servers.keep] +command = "keep" + +[mcp_servers.skip] +command = "skip" + +[skills.writer] +enabled = true + +[plugins.browser] +enabled = true +"#; + let selection = RelayContextSelection { + mcp_servers: vec!["keep".to_string()], + skills: Vec::new(), + plugins: vec!["browser".to_string()], + }; + + let filtered = filter_common_config_for_selection(common, &selection).unwrap(); + + assert!(filtered.contains("model_reasoning_effort")); + assert!(filtered.contains("[mcp_servers.keep]")); + assert!(!filtered.contains("[mcp_servers.skip]")); + assert!(!filtered.contains("[skills.writer]")); + assert!(filtered.contains("[plugins.browser]")); +} + +#[test] +fn sync_live_config_context_entries_preserves_unmanaged_live_entries() { + let live = r#"model = "gpt-5" + +[mcp_servers.manual] +command = "manual" + +[mcp_servers.managed] +command = "old" +"#; + let context = r#"[mcp_servers.managed] +command = "new" + +[mcp_servers.disabled] +enabled = false +command = "disabled" +"#; + + let updated = sync_live_config_context_entries(live, context).unwrap(); + + assert!(updated.contains("[mcp_servers.manual]")); + assert!(updated.contains(r#"command = "manual""#)); + assert!(updated.contains("[mcp_servers.managed]")); + assert!(updated.contains(r#"command = "new""#)); + assert!(!updated.contains("[mcp_servers.disabled]")); +} + +#[test] +fn sync_live_config_context_entries_removes_disabled_managed_entries_from_live() { + let live = r#"model = "gpt-5" + +[mcp_servers.manual] +command = "manual" + +[mcp_servers.managed] +command = "old" +"#; + let context = r#"[mcp_servers.managed] +enabled = false +command = "old" +"#; + + let updated = sync_live_config_context_entries(live, context).unwrap(); + + assert!(updated.contains("[mcp_servers.manual]")); + assert!(!updated.contains("[mcp_servers.managed]")); +} + #[test] fn apply_relay_profile_to_home_with_switch_rules_writes_provider_even_when_auth_has_no_api_key() { let temp = tempfile::tempdir().unwrap(); diff --git a/crates/codex-plus-core/tests/relay_switch.rs b/crates/codex-plus-core/tests/relay_switch.rs new file mode 100644 index 000000000..e1fd99a99 --- /dev/null +++ b/crates/codex-plus-core/tests/relay_switch.rs @@ -0,0 +1,128 @@ +use codex_plus_core::relay_switch::switch_relay_profile_in_home; +use codex_plus_core::settings::{ + BackendSettings, LaunchMode, RelayMode, RelayProfile, SettingsStore, +}; + +#[test] +fn switch_rolls_back_active_settings_when_live_write_fails() { + let temp = tempfile::tempdir().unwrap(); + let store = SettingsStore::new(temp.path().join("settings.json")); + let original = BackendSettings { + active_relay_id: "a".to_string(), + relay_profiles: vec![pure_profile("a", "https://a.example/v1", "sk-a")], + ..BackendSettings::default() + }; + store.save(&original).unwrap(); + std::fs::create_dir(temp.path().join("codex")).unwrap(); + std::fs::write( + temp.path().join("codex").join("auth.json"), + r#"{"OPENAI_API_KEY":"sk-a"}"#, + ) + .unwrap(); + std::fs::write( + temp.path().join("codex").join("config.toml"), + r#"model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://a.example/v1" +"#, + ) + .unwrap(); + let next = BackendSettings { + active_relay_id: "b".to_string(), + relay_profiles: vec![ + pure_profile("a", "https://a.example/v1", "sk-a"), + RelayProfile { + id: "b".to_string(), + name: "B".to_string(), + relay_mode: RelayMode::PureApi, + config_contents: "model_provider = \"custom\"\n".to_string(), + auth_contents: "{bad json".to_string(), + ..RelayProfile::default() + }, + ], + ..BackendSettings::default() + }; + + let error = switch_relay_profile_in_home(&store, &temp.path().join("codex"), next, "a") + .expect_err("invalid auth should fail switch"); + + assert!(error.to_string().contains("auth.json")); + assert_eq!(store.load().unwrap().active_relay_id, "a"); +} + +#[test] +fn switch_backfills_previous_profile_from_live_before_selecting_target() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join("codex"); + std::fs::create_dir(&home).unwrap(); + std::fs::write( + home.join("config.toml"), + r#"model = "edited-live-model" +model_provider = "manual_a" + +[model_providers.manual_a] +name = "manual_a" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://edited-a.example/v1" +"#, + ) + .unwrap(); + std::fs::write( + home.join("auth.json"), + r#"{"OPENAI_API_KEY":"sk-edited-a"}"#, + ) + .unwrap(); + let store = SettingsStore::new(temp.path().join("settings.json")); + let original = BackendSettings { + active_relay_id: "a".to_string(), + relay_profiles: vec![ + pure_profile("a", "https://a.example/v1", "sk-a"), + pure_profile("b", "https://b.example/v1", "sk-b"), + ], + ..BackendSettings::default() + }; + store.save(&original).unwrap(); + let next = BackendSettings { + active_relay_id: "b".to_string(), + relay_profiles: original.relay_profiles.clone(), + ..BackendSettings::default() + }; + + switch_relay_profile_in_home(&store, &home, next, "a").unwrap(); + + let stored = store.load().unwrap(); + let previous = stored + .relay_profiles + .iter() + .find(|profile| profile.id == "a") + .unwrap(); + assert!(previous.config_contents.contains("edited-live-model")); + assert!(previous.config_contents.contains("manual_a")); + assert_eq!(stored.active_relay_id, "b"); + assert_eq!(stored.launch_mode, LaunchMode::Patch); +} + +fn pure_profile(id: &str, base_url: &str, key: &str) -> RelayProfile { + RelayProfile { + id: id.to_string(), + name: id.to_uppercase(), + relay_mode: RelayMode::PureApi, + config_contents: format!( + r#"model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "{base_url}" +"# + ), + auth_contents: format!(r#"{{"OPENAI_API_KEY":"{key}"}}"#), + ..RelayProfile::default() + } +} diff --git a/crates/codex-plus-core/tests/watcher.rs b/crates/codex-plus-core/tests/watcher.rs index ccad11732..716707dcf 100644 --- a/crates/codex-plus-core/tests/watcher.rs +++ b/crates/codex-plus-core/tests/watcher.rs @@ -1,8 +1,7 @@ use codex_plus_core::watcher::{ build_spawn_launcher_command, build_watcher_install_plan, cdp_listening, codex_process_ids, disable_watcher_at, enable_watcher_at, filter_killable_launcher_processes, - should_recover_stale_launcher, - watcher_disabled_flag, + should_recover_stale_launcher, watcher_disabled_flag, }; #[test] From e85812fed50064fcbf927a75ebd161220e987d5a Mon Sep 17 00:00:00 2001 From: AlbertLuo <46886876+kokotao@users.noreply.github.com> Date: Sun, 14 Jun 2026 08:26:55 +0800 Subject: [PATCH 036/156] Guard image overlay injection for Node test DOM --- assets/inject/renderer-inject.js | 9 +++++++-- 1 file changed, 7 insertions(+), 2 deletions(-) diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 7a6af4282..1488e4f0e 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -92,7 +92,8 @@ function installCodexPlusImageOverlay() { const config = window.__CODEX_PLUS_IMAGE_OVERLAY__ || {}; - const existing = document.getElementById(codexPlusImageOverlayId); + const canQueryById = typeof document?.getElementById === "function"; + const existing = canQueryById ? document.getElementById(codexPlusImageOverlayId) : null; const source = config.dataUrl || ""; if (!config.enabled || !source) { if (window.__codexPlusImageOverlayBlobUrl) { @@ -102,6 +103,10 @@ if (existing) existing.remove(); return; } + const root = document?.documentElement; + if (!root || typeof document?.createElement !== "function") { + return; + } const opacity = Math.min(1, Math.max(0.01, Number(config.opacity) || 0.35)); const image = existing || document.createElement("img"); image.id = codexPlusImageOverlayId; @@ -120,7 +125,7 @@ zIndex: "2147483646", userSelect: "none", }); - if (!existing) document.documentElement.appendChild(image); + if (!existing) root.appendChild(image); sendCodexPlusDiagnostic("image_overlay_installed", { opacity, sourceKind: source.startsWith("data:") ? "data-uri" : "unknown", From 5006eb4b822023e212f013b0d5bbccaacdd2d935 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Sun, 14 Jun 2026 18:50:22 +0800 Subject: [PATCH 037/156] feat: add computer use guard toggle --- Cargo.lock | 9 +- Cargo.toml | 2 +- apps/codex-plus-launcher/src/main.rs | 211 ++- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- apps/codex-plus-manager/src-tauri/Cargo.toml | 1 + .../src-tauri/src/commands.rs | 228 +++- .../src-tauri/tauri.conf.json | 2 +- apps/codex-plus-manager/src/App.tsx | 14 + crates/codex-plus-core/src/cdp.rs | 45 +- .../codex-plus-core/src/computer_use_guard.rs | 1162 +++++++++++++++++ crates/codex-plus-core/src/launcher.rs | 580 +++++++- crates/codex-plus-core/src/lib.rs | 1 + crates/codex-plus-core/src/ports.rs | 22 + crates/codex-plus-core/src/relay_config.rs | 89 +- crates/codex-plus-core/src/relay_switch.rs | 16 +- crates/codex-plus-core/src/settings.rs | 10 + crates/codex-plus-core/tests/cdp_bridge.rs | 50 +- crates/codex-plus-core/tests/launcher.rs | 85 +- crates/codex-plus-core/tests/relay_config.rs | 109 ++ crates/codex-plus-data/src/lib.rs | 2 +- crates/codex-plus-data/src/storage.rs | 26 + .../codex-plus-data/tests/storage_adapter.rs | 36 +- 23 files changed, 2572 insertions(+), 134 deletions(-) create mode 100644 crates/codex-plus-core/src/computer_use_guard.rs diff --git a/Cargo.lock b/Cargo.lock index 86b27fb73..c6159a0dc 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.7" +version = "1.2.8" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.7" +version = "1.2.8" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.7" +version = "1.2.8" dependencies = [ "anyhow", "async-trait", @@ -405,13 +405,14 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.7" +version = "1.2.8" dependencies = [ "anyhow", "async-trait", "codex-plus-core", "codex-plus-data", "directories", + "rusqlite", "serde", "serde_json", "tauri", diff --git a/Cargo.toml b/Cargo.toml index a0075ceae..d42008d9d 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.7" +version = "1.2.8" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 5f0842c88..6de89e23b 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -127,53 +127,115 @@ fn should_recover_stale_launcher(debug_port: u16) -> bool { async fn activate_existing_codex_app(options: &LaunchOptions) -> anyhow::Result<()> { let hooks = LauncherHooks::default(); let settings = hooks.load_settings().await?; + if settings.computer_use_guard_enabled { + hooks.ensure_computer_use_config(&settings).await?; + } let app_dir = hooks.resolve_app_dir(options.app_dir.as_deref(), &settings)?; - let launch_result = hooks - .launch_codex(&app_dir, options.debug_port, &settings.codex_extra_args) - .await; - if settings.enhancements_enabled { - hooks.start_helper(options.helper_port).await?; - } - let process_ids = codex_plus_core::watcher::find_codex_processes(); - let mut activated = false; - #[cfg(windows)] - { - for process_id in &process_ids { - if codex_plus_core::windows_activate_process_window(*process_id) { - activated = true; - break; + let mut helper_started = false; + + let result = async { + let process_ids = codex_plus_core::watcher::find_codex_processes(); + let activated = { + #[cfg(windows)] + { + let mut activated = false; + for process_id in &process_ids { + if codex_plus_core::windows_activate_process_window(*process_id) { + activated = true; + break; + } + } + activated + } + #[cfg(not(windows))] + { + false + } + }; + let cdp_listening_before_launch = + codex_plus_core::watcher::cdp_listening(options.debug_port); + if settings.enhancements_enabled { + hooks.start_helper(options.helper_port).await?; + helper_started = true; + } + let mut injection_ready = false; + if settings.enhancements_enabled && cdp_listening_before_launch { + injection_ready = hooks + .ensure_injection(options.debug_port, options.helper_port, &app_dir) + .await; + } + + let should_launch = + existing_instance_should_launch(cdp_listening_before_launch, injection_ready); + let mut launch_ok = None; + let mut launch_error = None; + if should_launch { + match hooks + .launch_codex(&app_dir, options.debug_port, &settings.codex_extra_args) + .await + { + Ok(_) => { + launch_ok = Some(true); + if settings.enhancements_enabled { + injection_ready = hooks + .ensure_injection(options.debug_port, options.helper_port, &app_dir) + .await; + } + } + Err(error) => { + launch_ok = Some(false); + launch_error = Some(error.to_string()); + let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( + "launcher.activate_existing_codex", + json!({ + "app_dir": app_dir.to_string_lossy(), + "debug_port": options.debug_port, + "helper_port": options.helper_port, + "process_ids": process_ids, + "activated": activated, + "cdp_listening_before_launch": cdp_listening_before_launch, + "injection_ready": injection_ready, + "launch_attempted": should_launch, + "launch_ok": launch_ok, + "launch_error": launch_error + }), + ); + return Err(error); + } } } + + if injection_ready || !settings.enhancements_enabled { + hooks.write_status("running").await; + } else { + hooks.write_status("running_degraded").await; + } + let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( + "launcher.activate_existing_codex", + json!({ + "app_dir": app_dir.to_string_lossy(), + "debug_port": options.debug_port, + "helper_port": options.helper_port, + "process_ids": process_ids, + "activated": activated, + "cdp_listening_before_launch": cdp_listening_before_launch, + "injection_ready": injection_ready, + "launch_attempted": should_launch, + "launch_ok": launch_ok, + "launch_error": launch_error + }), + ); + Ok(()) } - let injection_ready = if settings.enhancements_enabled { - hooks - .ensure_injection(options.debug_port, options.helper_port, &app_dir) - .await - } else { - false - }; - if injection_ready { - hooks - .start_bridge_watchdog(options.debug_port, options.helper_port) - .await?; - hooks.write_status("running").await; - } else if settings.enhancements_enabled { - hooks.write_status("running_degraded").await; + .await; + if helper_started { + hooks.shutdown_helper(options.helper_port).await; } - let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( - "launcher.activate_existing_codex", - json!({ - "app_dir": app_dir.to_string_lossy(), - "debug_port": options.debug_port, - "helper_port": options.helper_port, - "process_ids": process_ids, - "activated": activated, - "injection_ready": injection_ready, - "launch_ok": launch_result.is_ok(), - "launch_error": launch_result.as_ref().err().map(|error| error.to_string()) - }), - ); - launch_result.map(|_| ()) + result +} + +fn existing_instance_should_launch(cdp_listening: bool, injection_ready: bool) -> bool { + !cdp_listening && !injection_ready } fn log_launcher_already_running(debug_port: u16) { @@ -283,6 +345,13 @@ impl LaunchHooks for LauncherHooks { self.core.apply_active_relay_profile(settings).await } + async fn ensure_computer_use_config( + &self, + settings: &codex_plus_core::settings::BackendSettings, + ) -> anyhow::Result<()> { + self.core.ensure_computer_use_config(settings).await + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { self.core.start_helper(helper_port).await } @@ -324,6 +393,13 @@ impl LaunchHooks for LauncherHooks { self.core.inject(debug_port, helper_port).await } + async fn start_computer_use_guard_watchdog( + &self, + settings: &codex_plus_core::settings::BackendSettings, + ) -> anyhow::Result<()> { + self.core.start_computer_use_guard_watchdog(settings).await + } + async fn write_status(&self, status: &str) { self.core.write_status(status).await; } @@ -362,10 +438,13 @@ impl Default for LauncherDataService { #[async_trait::async_trait] impl BridgeDataService for LauncherDataService { async fn delete(&self, session: SessionRef) -> anyhow::Result { - let adapter = self.storage_adapter(); - tokio::task::spawn_blocking(move || adapter.delete_local(&session)) - .await - .map_err(|error| anyhow::anyhow!("delete task failed: {error}")) + let db_paths = self.candidate_db_paths(); + let backup_store = codex_plus_data::BackupStore::new(self.backup_dir.clone()); + tokio::task::spawn_blocking(move || { + codex_plus_data::delete_local_from_paths(db_paths, backup_store, &session) + }) + .await + .map_err(|error| anyhow::anyhow!("delete task failed: {error}")) } async fn undo(&self, undo_token: String) -> anyhow::Result { @@ -429,6 +508,18 @@ impl BridgeDataService for LauncherDataService { } impl LauncherDataService { + fn candidate_db_paths(&self) -> Vec { + let mut paths = vec![self.db_path.clone()]; + for path in codex_plus_core::codex_sqlite::codex_session_db_paths_from_home( + &codex_plus_core::codex_sqlite::default_codex_home_dir(), + ) { + if !paths.iter().any(|candidate| candidate == &path) { + paths.push(path); + } + } + paths + } + fn storage_adapter(&self) -> codex_plus_data::SQLiteStorageAdapter { codex_plus_data::SQLiteStorageAdapter::new( self.db_path.clone(), @@ -624,7 +715,7 @@ async fn try_inject_with_context( runtime: Arc, ) -> anyhow::Result<()> { let targets = codex_plus_core::cdp::list_targets(debug_port).await?; - let target = codex_plus_core::cdp::pick_page_target(&targets)?; + let target = codex_plus_core::cdp::pick_injectable_codex_page_target(&targets)?; let websocket_url = target .web_socket_debugger_url .as_deref() @@ -767,18 +858,22 @@ mod tests { } #[test] - fn existing_instance_path_starts_helper_and_ensures_injection() { - let source = include_str!("main.rs").replace("\r\n", "\n"); + fn existing_instance_launches_only_when_cdp_is_unavailable() { + assert!(existing_instance_should_launch(false, false)); + assert!(!existing_instance_should_launch(true, false)); + assert!(!existing_instance_should_launch(true, true)); + assert!(!existing_instance_should_launch(false, true)); + } - assert!(source.contains( - "async fn activate_existing_codex_app(options: &LaunchOptions) -> anyhow::Result<()> {\n let hooks = LauncherHooks::default();" - )); - assert!(source.contains("hooks.start_helper(options.helper_port).await?")); - assert!( - source - .contains("hooks.ensure_injection(options.debug_port, options.helper_port).await") - ); - assert!(source.contains("injection_ready")); + #[test] + fn launcher_hooks_forward_computer_use_guard_methods() { + let source = include_str!("main.rs"); + + assert!(source.contains("async fn ensure_computer_use_config")); + assert!(source.contains("self.core.ensure_computer_use_config(settings).await")); + assert!(source.contains("async fn start_computer_use_guard_watchdog")); + assert!(source.contains("self.core")); + assert!(source.contains(".start_computer_use_guard_watchdog(settings)")); } #[test] diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index ff06dcfda..b4df8d3f9 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.7", + "version": "1.2.8", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.7", + "version": "1.2.8", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index dea882b78..bb8d5479d 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.7", + "version": "1.2.8", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/Cargo.toml b/apps/codex-plus-manager/src-tauri/Cargo.toml index 184337a2a..6caec4f44 100644 --- a/apps/codex-plus-manager/src-tauri/Cargo.toml +++ b/apps/codex-plus-manager/src-tauri/Cargo.toml @@ -28,4 +28,5 @@ tauri-plugin-dialog = "2" tauri-build = { version = "2", features = [] } [dev-dependencies] +rusqlite.workspace = true tempfile.workspace = true diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index de2cffdd3..3fe01003c 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -453,6 +453,8 @@ pub fn list_local_sessions() -> CommandResult { .cmp(&left.updated_at_ms) .then_with(|| right.id.cmp(&left.id)) }); + let mut seen_session_ids = std::collections::HashSet::new(); + sessions.retain(|session| seen_session_ids.insert(session.id.clone())); let payload = LocalSessionsPayload { db_path: db_paths .first() @@ -569,32 +571,51 @@ pub fn delete_local_session(request: DeleteLocalSessionRequest) -> CommandResult session_id: session_id.to_string(), title: request.title, }; - let candidate_paths = request - .db_path - .as_deref() - .map(|path| vec![PathBuf::from(path)]) - .unwrap_or_else(|| { - codex_plus_core::codex_sqlite::codex_session_db_paths_from_home( - &codex_plus_core::codex_sqlite::default_codex_home_dir(), - ) - }); - let mut result = DeleteResult { - status: codex_plus_core::models::DeleteStatus::Failed, - session_id: session_id.to_string(), - message: "Thread not found in local storage".to_string(), - undo_token: None, - backup_path: None, - }; - for db_path in candidate_paths { - let adapter = local_session_adapter(&db_path); - result = adapter.delete_local(&session); - if matches!( - result.status, - codex_plus_core::models::DeleteStatus::LocalDeleted - ) { - break; + let mut candidate_paths = Vec::new(); + if let Some(path) = request.db_path.as_deref() { + let path = PathBuf::from(path); + if !candidate_paths.iter().any(|candidate| candidate == &path) { + candidate_paths.push(path); } } + for path in codex_plus_core::codex_sqlite::codex_session_db_paths_from_home( + &codex_plus_core::codex_sqlite::default_codex_home_dir(), + ) { + if !candidate_paths.iter().any(|candidate| candidate == &path) { + candidate_paths.push(path); + } + } + log_manager_event( + "manager.delete_local_session.start", + json!({ + "session_id": session_id, + "title": session.title, + "requested_db_path": request.db_path, + "candidate_paths": candidate_paths + .iter() + .map(|path| path.to_string_lossy().to_string()) + .collect::>(), + }), + ); + let result = codex_plus_data::delete_local_from_paths( + candidate_paths.clone(), + codex_plus_data::BackupStore::new( + codex_plus_core::paths::default_app_state_dir().join("backups"), + ), + &session, + ); + log_manager_event( + "manager.delete_local_session.finish", + json!({ + "session_id": session_id, + "final_status": format!("{:?}", result.status), + "final_message": result.message, + "candidate_paths": candidate_paths + .iter() + .map(|path| path.to_string_lossy().to_string()) + .collect::>(), + }), + ); let status = if matches!( result.status, codex_plus_core::models::DeleteStatus::LocalDeleted @@ -1768,10 +1789,11 @@ pub fn apply_relay_injection() -> CommandResult { let relay = settings.active_relay_profile(); log_relay_apply_request("manager.apply_relay_injection", &settings, &relay); if relay_has_complete_files(&relay) { - return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules( + return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( &home, &relay, &relay_combined_common_config(&settings), + settings.computer_use_guard_enabled, ) { Ok(result) => { let status = codex_plus_core::relay_config::relay_status_from_home(&home); @@ -1872,10 +1894,11 @@ pub fn apply_pure_api_injection() -> CommandResult { let relay = settings.active_relay_profile(); log_relay_apply_request("manager.apply_pure_api_injection", &settings, &relay); if relay_has_complete_files(&relay) { - return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules( + return match codex_plus_core::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( &home, &relay, &relay_combined_common_config(&settings), + settings.computer_use_guard_enabled, ) { Ok(result) => { let status = codex_plus_core::relay_config::relay_status_from_home(&home); @@ -2629,6 +2652,159 @@ mod tests { assert_eq!(payload.auth_contents, "{\"OPENAI_API_KEY\":\"sk-test\"}\n"); } + #[test] + fn delete_local_session_falls_back_when_requested_db_no_longer_contains_thread() { + let temp = tempfile::tempdir().unwrap(); + let previous_codex_home = std::env::var_os("CODEX_HOME"); + let codex_home = temp.path().join("codex-home"); + let sqlite_dir = codex_home.join("sqlite"); + std::fs::create_dir_all(&sqlite_dir).unwrap(); + let stale_db = sqlite_dir.join("codex-dev.db"); + let active_db = sqlite_dir.join("state_5.sqlite"); + let rollout_path = temp.path().join("rollout.jsonl"); + std::fs::write(&rollout_path, "{\"type\":\"message\"}\n").unwrap(); + let stale = rusqlite::Connection::open(&stale_db).unwrap(); + stale + .execute( + "CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT, title TEXT)", + [], + ) + .unwrap(); + drop(stale); + let active = rusqlite::Connection::open(&active_db).unwrap(); + active + .execute( + "CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT, title TEXT)", + [], + ) + .unwrap(); + active + .execute( + "INSERT INTO threads VALUES ('t1', ?1, 'Active Thread')", + [rollout_path.to_string_lossy().to_string()], + ) + .unwrap(); + drop(active); + + unsafe { + std::env::set_var("CODEX_HOME", &codex_home); + } + let result = delete_local_session(DeleteLocalSessionRequest { + session_id: "t1".to_string(), + title: "Active Thread".to_string(), + db_path: Some(stale_db.to_string_lossy().to_string()), + }); + unsafe { + if let Some(value) = previous_codex_home { + std::env::set_var("CODEX_HOME", value); + } else { + std::env::remove_var("CODEX_HOME"); + } + } + + assert_eq!(result.status, "ok"); + assert_eq!( + result.payload.status, + codex_plus_core::models::DeleteStatus::LocalDeleted + ); + let active = rusqlite::Connection::open(&active_db).unwrap(); + assert_eq!( + active + .query_row("SELECT COUNT(*) FROM threads WHERE id = 't1'", [], |row| { + row.get::<_, i64>(0) + }) + .unwrap(), + 0 + ); + } + + #[test] + fn list_local_sessions_deduplicates_threads_across_current_and_legacy_dbs() { + let temp = tempfile::tempdir().unwrap(); + let previous_codex_home = std::env::var_os("CODEX_HOME"); + let codex_home = temp.path().join("codex-home"); + let sqlite_dir = codex_home.join("sqlite"); + std::fs::create_dir_all(&sqlite_dir).unwrap(); + let current_db = sqlite_dir.join("state_5.sqlite"); + let legacy_db = codex_home.join("state_5.sqlite"); + create_minimal_thread_db(¤t_db, "t1", "Current Copy", 100); + create_minimal_thread_db(&legacy_db, "t1", "Legacy Copy", 200); + + unsafe { + std::env::set_var("CODEX_HOME", &codex_home); + } + let result = list_local_sessions(); + restore_codex_home(previous_codex_home); + + assert_eq!(result.status, "ok"); + assert_eq!(result.payload.sessions.len(), 1); + assert_eq!(result.payload.sessions[0].id, "t1"); + assert_eq!(result.payload.sessions[0].title, "Legacy Copy"); + assert_eq!( + result.payload.sessions[0].db_path, + legacy_db.to_string_lossy() + ); + } + + #[test] + fn delete_local_session_removes_duplicate_threads_from_all_candidate_dbs() { + let temp = tempfile::tempdir().unwrap(); + let previous_codex_home = std::env::var_os("CODEX_HOME"); + let codex_home = temp.path().join("codex-home"); + let sqlite_dir = codex_home.join("sqlite"); + std::fs::create_dir_all(&sqlite_dir).unwrap(); + let current_db = sqlite_dir.join("state_5.sqlite"); + let legacy_db = codex_home.join("state_5.sqlite"); + create_minimal_thread_db(¤t_db, "t1", "Current Copy", 100); + create_minimal_thread_db(&legacy_db, "t1", "Legacy Copy", 200); + + unsafe { + std::env::set_var("CODEX_HOME", &codex_home); + } + let result = delete_local_session(DeleteLocalSessionRequest { + session_id: "t1".to_string(), + title: "Legacy Copy".to_string(), + db_path: Some(legacy_db.to_string_lossy().to_string()), + }); + restore_codex_home(previous_codex_home); + + assert_eq!(result.status, "ok"); + assert_eq!(thread_count(¤t_db, "t1"), 0); + assert_eq!(thread_count(&legacy_db, "t1"), 0); + } + + fn create_minimal_thread_db(path: &Path, id: &str, title: &str, updated_at_ms: i64) { + let db = rusqlite::Connection::open(path).unwrap(); + db.execute( + "CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT, title TEXT, updated_at_ms INTEGER)", + [], + ) + .unwrap(); + db.execute( + "INSERT INTO threads VALUES (?1, '', ?2, ?3)", + (id, title, updated_at_ms), + ) + .unwrap(); + } + + fn thread_count(path: &Path, id: &str) -> i64 { + let db = rusqlite::Connection::open(path).unwrap(); + db.query_row("SELECT COUNT(*) FROM threads WHERE id = ?1", [id], |row| { + row.get::<_, i64>(0) + }) + .unwrap() + } + + fn restore_codex_home(previous: Option) { + unsafe { + if let Some(value) = previous { + std::env::set_var("CODEX_HOME", value); + } else { + std::env::remove_var("CODEX_HOME"); + } + } + } + #[test] fn apply_relay_profile_to_home_with_switch_rules_preserves_custom_provider_id() { let temp = tempfile::tempdir().unwrap(); diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index b9c605ce8..c955f041d 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.7", + "version": "1.2.8", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 6786aa247..86113670c 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -101,6 +101,7 @@ type BackendSettings = { providerSyncLastSelectedProvider: string; relayProfilesEnabled: boolean; enhancementsEnabled: boolean; + computerUseGuardEnabled: boolean; codexAppPluginEntryUnlock: boolean; codexAppPluginMarketplaceUnlock: boolean; codexAppForcePluginInstall: boolean; @@ -507,6 +508,7 @@ const defaultSettings: BackendSettings = { providerSyncLastSelectedProvider: "", relayProfilesEnabled: true, enhancementsEnabled: true, + computerUseGuardEnabled: false, codexAppPluginEntryUnlock: true, codexAppPluginMarketplaceUnlock: true, codexAppForcePluginInstall: true, @@ -1937,6 +1939,17 @@ function EnhanceScreen({ 关闭后会停用删除、导出、项目移动、Timeline、插件相关和菜单位置增强。 + {form.launchMode === "relay" ? (
- diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 38ae03f39..9111d9bd9 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -254,9 +254,6 @@ where if settings.provider_sync_enabled { hooks.run_provider_sync().await?; } - if settings.relay_profiles_enabled { - hooks.apply_active_relay_profile(&settings).await?; - } if settings.computer_use_guard_enabled { hooks.ensure_computer_use_config(&settings).await?; } diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 09157708a..3d74064e8 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -450,7 +450,6 @@ async fn launch_lifecycle_runs_sync_before_launch_writes_success_and_shutdowns_o "select-helper:57321", "load-settings", "provider-sync", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", @@ -535,7 +534,6 @@ async fn launch_lifecycle_keeps_js_injection_in_relay_mode() { "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", @@ -577,7 +575,6 @@ async fn launch_lifecycle_skips_helper_and_injection_when_enhancements_disabled( "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "launch:9229", "status:running", "wait-codex", @@ -616,7 +613,6 @@ async fn launch_lifecycle_runs_computer_use_guard_when_enabled() { "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "computer-use-guard", "start-helper:57321", "launch:9229", @@ -657,6 +653,36 @@ async fn launch_lifecycle_skips_computer_use_guard_by_default() { assert!(events.contains(&"launch:9229".to_string())); } +#[tokio::test] +async fn launch_lifecycle_does_not_apply_relay_profile_while_launching_codex() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_profiles_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"apply-relay".to_string())); + assert!(events.contains(&"launch:9229".to_string())); +} + #[tokio::test] async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabled() { let temp = tempfile::tempdir().unwrap(); @@ -689,7 +715,7 @@ async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabl } #[tokio::test] -async fn launch_lifecycle_tolerates_duplicate_context_parent_tables_before_applying_relay() { +async fn launch_lifecycle_tolerates_duplicate_context_parent_tables_without_applying_relay() { let temp = tempfile::tempdir().unwrap(); let app_dir = temp.path().join("Codex.app"); std::fs::create_dir_all(&app_dir).unwrap(); @@ -735,7 +761,7 @@ experimental_bearer_token = "sk-test" handle.wait_for_codex_exit().await.unwrap(); let events = events.lock().unwrap().clone(); - assert!(events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"apply-relay".to_string())); assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } @@ -767,7 +793,6 @@ async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails( "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", @@ -813,7 +838,6 @@ async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "shutdown-helper:57321", @@ -920,7 +944,6 @@ async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", From b589419c946f8532831f3cfd616364e363375af1 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Mon, 15 Jun 2026 00:43:07 +0800 Subject: [PATCH 040/156] fix: detect microsoft store codex beta package --- crates/codex-plus-core/src/app_paths.rs | 35 +++++++++++++++++------- crates/codex-plus-core/tests/launcher.rs | 26 ++++++++++++++++++ 2 files changed, 51 insertions(+), 10 deletions(-) diff --git a/crates/codex-plus-core/src/app_paths.rs b/crates/codex-plus-core/src/app_paths.rs index 5a3280f6c..528956400 100644 --- a/crates/codex-plus-core/src/app_paths.rs +++ b/crates/codex-plus-core/src/app_paths.rs @@ -1,6 +1,8 @@ use std::ffi::OsStr; use std::path::{Path, PathBuf}; +const CODEX_PACKAGE_IDENTITIES: &[&str] = &["OpenAI.Codex", "OpenAI.CodexBeta"]; + pub fn find_latest_codex_app_dir(root: &Path) -> Option { let mut matches = std::fs::read_dir(root) .ok()? @@ -219,11 +221,7 @@ pub fn codex_app_version(app_dir: &Path) -> Option { pub fn packaged_app_user_model_id(app_dir: &Path) -> Option { let package_name = package_name_from_app_dir(app_dir)?; - if !package_name.starts_with("OpenAI.Codex_") || !package_name.contains("__") { - return None; - } - let identity_name = package_name.split_once('_')?.0; - let publisher_id = package_name.rsplit_once("__")?.1; + let (identity_name, _, publisher_id) = codex_package_parts(&package_name)?; if publisher_id.is_empty() { return None; } @@ -245,9 +243,8 @@ fn codex_package_version(package_dir: &Path) -> Option { let name = path .split('/') .rev() - .find(|part| part.starts_with("OpenAI.Codex_"))?; - let rest = name.strip_prefix("OpenAI.Codex_")?; - let version = rest.split_once('_')?.0; + .find(|part| codex_package_parts(part).is_some())?; + let (_, version, _) = codex_package_parts(name)?; if version.is_empty() { None } else { @@ -291,8 +288,7 @@ fn macos_app_candidates(root: &Path) -> Vec { fn version_tuple(path: &Path) -> Option> { let name = path.file_name()?.to_str()?; - let rest = name.strip_prefix("OpenAI.Codex_")?; - let version = rest.split_once('_')?.0; + let (_, version, _) = codex_package_parts(name)?; let parts = version .split('.') .map(str::parse::) @@ -300,3 +296,22 @@ fn version_tuple(path: &Path) -> Option> { .ok()?; if parts.is_empty() { None } else { Some(parts) } } + +fn codex_package_parts(package_name: &str) -> Option<(&str, &str, &str)> { + for identity in CODEX_PACKAGE_IDENTITIES { + let Some(rest) = package_name.strip_prefix(identity) else { + continue; + }; + let Some(rest) = rest.strip_prefix('_') else { + continue; + }; + let Some((version, rest)) = rest.split_once('_') else { + continue; + }; + let Some((_, publisher_id)) = rest.rsplit_once("__") else { + continue; + }; + return Some((*identity, version, publisher_id)); + } + None +} diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 3d74064e8..8532ab601 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -34,6 +34,32 @@ fn app_paths_find_latest_windows_package_prefers_highest_version_app_dir() { ); } +#[test] +fn app_paths_find_latest_windows_package_detects_beta_package() { + let temp = tempfile::tempdir().unwrap(); + std::fs::create_dir_all( + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app"), + ) + .unwrap(); + + let latest = find_latest_codex_app_dir(temp.path()).unwrap(); + + assert_eq!( + latest, + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") + ); + assert_eq!( + codex_app_version(&latest).as_deref(), + Some("26.527.7698.0") + ); + assert_eq!( + packaged_app_user_model_id(&latest).as_deref(), + Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") + ); +} + #[test] fn app_paths_find_latest_windows_package_returns_package_when_app_dir_missing() { let temp = tempfile::tempdir().unwrap(); From 01640c6687e3607bb17429fc5645f16d3514f2c9 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Mon, 15 Jun 2026 00:55:17 +0800 Subject: [PATCH 041/156] chore: release version 1.2.9 --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 ++-- apps/codex-plus-manager/package.json | 2 +- apps/codex-plus-manager/src-tauri/tauri.conf.json | 2 +- 5 files changed, 9 insertions(+), 9 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index c6159a0dc..7736b2afa 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.8" +version = "1.2.9" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.8" +version = "1.2.9" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.8" +version = "1.2.9" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.8" +version = "1.2.9" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index d42008d9d..b8828d42f 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.8" +version = "1.2.9" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index b4df8d3f9..f3c4f4712 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.8", + "version": "1.2.9", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.8", + "version": "1.2.9", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index bb8d5479d..fa129b3a1 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.8", + "version": "1.2.9", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index c955f041d..32945459c 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.8", + "version": "1.2.9", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", From b5b63e3132e201d6a5376eb81a39b6f99c7b6ea7 Mon Sep 17 00:00:00 2001 From: Geng Ruofan <80880080+jupiternaut@users.noreply.github.com> Date: Mon, 15 Jun 2026 01:11:25 +0800 Subject: [PATCH 042/156] Add optional sidebar thread ID badge --- apps/codex-plus-manager/src/App.tsx | 3 + assets/inject/renderer-inject.js | 145 +++++++++++++++++- crates/codex-plus-core/src/settings.rs | 7 + crates/codex-plus-core/tests/bridge_routes.rs | 2 + crates/codex-plus-core/tests/cdp_bridge.rs | 17 ++ 5 files changed, 172 insertions(+), 2 deletions(-) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 86113670c..8cf117f07 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -110,6 +110,7 @@ type BackendSettings = { codexAppMarkdownExport: boolean; codexAppProjectMove: boolean; codexAppConversationTimeline: boolean; + codexAppThreadIdBadge: boolean; codexAppConversationView: boolean; codexAppThreadScrollRestore: boolean; codexAppZedRemoteOpen: boolean; @@ -517,6 +518,7 @@ const defaultSettings: BackendSettings = { codexAppMarkdownExport: true, codexAppProjectMove: true, codexAppConversationTimeline: true, + codexAppThreadIdBadge: false, codexAppConversationView: false, codexAppThreadScrollRestore: true, codexAppZedRemoteOpen: true, @@ -1967,6 +1969,7 @@ function EnhanceScreen({ setEnhanceFlag("codexAppMarkdownExport", value)} /> setEnhanceFlag("codexAppProjectMove", value)} /> setEnhanceFlag("codexAppConversationTimeline", value)} /> + setEnhanceFlag("codexAppThreadIdBadge", value)} /> setEnhanceFlag("codexAppConversationView", value)} /> setEnhanceFlag("codexAppThreadScrollRestore", value)} /> setEnhanceFlag("codexAppZedRemoteOpen", value)} /> diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 7a6af4282..665385eb0 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -9,6 +9,7 @@ const moreButtonClass = "codex-session-more-button"; const moreMenuClass = "codex-session-more-menu"; const actionTooltipClass = "codex-session-action-tooltip"; + const threadIdBadgeClass = "codex-thread-id-badge"; const timelineClass = "codex-conversation-timeline"; const timelineTrackClass = "codex-conversation-timeline-track"; const timelineMarkerClass = "codex-conversation-timeline-marker"; @@ -40,7 +41,7 @@ const chatsSortRefreshIntervalMs = 1500; const chatsSortDbRefreshIntervalMs = 5000; const styleId = "codex-delete-style"; - const codexDeleteStyleVersion = "13"; + const codexDeleteStyleVersion = "14"; const codexPlusMenuId = "codex-plus-menu"; const codexPlusMenuFloatingClass = "codex-plus-menu-floating"; const codexDeleteVersion = "7"; @@ -52,6 +53,7 @@ const codexConversationTimelineVersion = "2"; const codexConversationViewVersion = "1"; const codexThreadScrollVersion = "1"; + const codexThreadIdBadgeVersion = "1"; const codexThreadServiceTierVersion = "1"; const codexServiceTierBadgeClass = "codex-service-tier-badge"; const codexServiceTierBadgeVersion = "3"; @@ -251,6 +253,30 @@ width: 16px; text-align: center; } + .${threadIdBadgeClass} { + flex: 0 0 auto; + display: inline-flex; + align-items: center; + max-width: 152px; + margin-right: 8px; + color: var(--text-secondary, var(--token-text-secondary, rgba(142,142,160,.95))); + font: 11px/1.1 ui-monospace, SFMono-Regular, Menlo, Monaco, Consolas, "Liberation Mono", monospace; + letter-spacing: .01em; + opacity: .9; + white-space: nowrap; + user-select: text; + } + ${selectors.sidebarThread} [data-codex-thread-id-badge-wrap="true"] { + display: inline-flex; + align-items: center; + min-width: 0; + max-width: 100%; + } + ${selectors.sidebarThread} [data-codex-thread-id-badge-wrap="true"] ${selectors.threadTitle}, + ${selectors.sidebarThread} [data-codex-thread-id-badge-wrap="true"] .truncate.select-none, + ${selectors.sidebarThread} [data-codex-thread-id-badge-wrap="true"] .truncate.text-base { + min-width: 0; + } .codex-archive-row-button { border: 1px solid #ef4444; border-radius: 7px; @@ -931,7 +957,7 @@ } function defaultCodexPlusSettings() { - return { pluginEntryUnlock: true, pluginMarketplaceUnlock: true, forcePluginInstall: true, modelWhitelistUnlock: true, sessionDelete: true, markdownExport: true, projectMove: true, conversationTimeline: true, conversationView: false, conversationViewMaxWidth: conversationViewDefaultWidth, threadScrollRestore: true, zedRemoteOpen: true, upstreamWorktreeCreate: true, nativeMenuPlacement: true, serviceTierControls: false }; + return { pluginEntryUnlock: true, pluginMarketplaceUnlock: true, forcePluginInstall: true, modelWhitelistUnlock: true, sessionDelete: true, markdownExport: true, projectMove: true, conversationTimeline: true, threadIdBadge: false, conversationView: false, conversationViewMaxWidth: conversationViewDefaultWidth, threadScrollRestore: true, zedRemoteOpen: true, upstreamWorktreeCreate: true, nativeMenuPlacement: true, serviceTierControls: false }; } const codexPlusBackendSettingMap = { @@ -943,6 +969,7 @@ markdownExport: "codexAppMarkdownExport", projectMove: "codexAppProjectMove", conversationTimeline: "codexAppConversationTimeline", + threadIdBadge: "codexAppThreadIdBadge", conversationView: "codexAppConversationView", threadScrollRestore: "codexAppThreadScrollRestore", zedRemoteOpen: "codexAppZedRemoteOpen", @@ -973,6 +1000,7 @@ markdownExport: false, projectMove: false, conversationTimeline: false, + threadIdBadge: false, conversationView: false, conversationViewMaxWidth: conversationViewDefaultWidth, threadScrollRestore: false, @@ -2197,6 +2225,10 @@
对话 Timeline
在对话右侧显示用户提问时间线,悬停查看摘要,点击跳转。
+
+
会话 ID 标识
在侧边栏会话标题前显示短 ID 和 UUIDv7 创建时间,方便定位历史会话。
+ +
@@ -4550,6 +4563,7 @@ function normalizeSettings(settings: BackendSettings): BackendSettings { ...defaultSettings, ...settings, relayProfilesEnabled: settings.relayProfilesEnabled !== false, + computerUseGuardEnabled: settings.computerUseGuardEnabled === true, codexAppImageOverlayOpacity: clampNumber(settings.codexAppImageOverlayOpacity || 35, 1, 100), relayCommonConfigContents, relayContextConfigContents, diff --git a/crates/codex-plus-core/src/cdp.rs b/crates/codex-plus-core/src/cdp.rs index ad991977b..a561c28b0 100644 --- a/crates/codex-plus-core/src/cdp.rs +++ b/crates/codex-plus-core/src/cdp.rs @@ -58,19 +58,13 @@ async fn query_targets_url(client: &reqwest::Client, url: &str) -> anyhow::Resul } pub fn pick_page_target(targets: &[CdpTarget]) -> anyhow::Result { - let pages = targets.iter().filter(|target| { - target.target_type == "page" - && target - .web_socket_debugger_url - .as_deref() - .is_some_and(|url| !url.is_empty()) - }); - let mut first_page = None; - for target in pages { + for target in targets + .iter() + .filter(|target| is_injectable_page_target(target)) + { first_page.get_or_insert(target); - let haystack = format!("{} {}", target.title, target.url).to_lowercase(); - if haystack.contains("codex") { + if is_codex_page_target(target) { return Ok(target.clone()); } } @@ -79,5 +73,34 @@ pub fn pick_page_target(targets: &[CdpTarget]) -> anyhow::Result { return Ok(target.clone()); } + bail!("No injectable page target found") +} + +pub fn pick_injectable_codex_page_target(targets: &[CdpTarget]) -> anyhow::Result { + for target in targets + .iter() + .filter(|target| is_injectable_page_target(target)) + { + if is_codex_page_target(target) { + return Ok(target.clone()); + } + } + bail!("No injectable Codex page target found") } + +pub fn is_injectable_page_target(target: &CdpTarget) -> bool { + target.target_type == "page" + && target + .web_socket_debugger_url + .as_deref() + .is_some_and(|url| !url.is_empty()) +} + +pub fn is_codex_page_target(target: &CdpTarget) -> bool { + if target.target_type != "page" { + return false; + } + let haystack = format!("{} {}", target.title, target.url).to_lowercase(); + haystack.contains("codex") +} diff --git a/crates/codex-plus-core/src/computer_use_guard.rs b/crates/codex-plus-core/src/computer_use_guard.rs new file mode 100644 index 000000000..fa3c09ffd --- /dev/null +++ b/crates/codex-plus-core/src/computer_use_guard.rs @@ -0,0 +1,1162 @@ +#![cfg_attr(not(windows), allow(dead_code))] + +use std::path::{Path, PathBuf}; + +use anyhow::Context; +use toml_edit::{Array, DocumentMut, Item, Table}; + +const BUNDLED_MARKETPLACE: &str = "openai-bundled"; +const BUNDLED_MARKETPLACE_PLUGINS: &[&str] = &["browser", "chrome", "computer-use", "latex"]; +const COMPUTER_USE_PLUGINS: &[&str] = &[ + "browser@openai-bundled", + "chrome@openai-bundled", + "computer-use@openai-bundled", +]; +const COMPUTER_USE_EXE: &str = "codex-computer-use.exe"; +const COMPUTER_USE_CLIENT_SCRIPT: &str = "computer-use-client.mjs"; +const SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT: &str = + "./dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js"; +const SKY_INTERNAL_COMPUTER_USE_CLIENT_IMPORT: &str = + "@oai/sky/dist/project/cua/sky_js/src/targets/windows/internal/computer_use_client_base.js"; +const SKY_PACKAGE_EXPORTS_BACKUP: &str = "package.json.bak-codexpp-runtime-exports"; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct GuardResult { + pub changed: bool, + pub notify_exe: Option, +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct GuardArtifacts { + pub notify_exe: Option, + pub marketplace_path: Option, + pub sky_package_json: Option, + pub runtime_exports_needed: bool, +} + +pub(crate) fn resolve_computer_use_guard_artifacts(home: &Path) -> anyhow::Result { + #[cfg(windows)] + { + let notify_exe = find_computer_use_notify_exe(home); + let runtime_exports_needed = computer_use_client_needs_sky_internal_export(home)?; + Ok(GuardArtifacts { + sky_package_json: find_sky_package_json_for_notify_exe(notify_exe.as_deref()) + .or_else(find_latest_sky_package_json), + notify_exe, + marketplace_path: ensure_openai_bundled_marketplace(home)?, + runtime_exports_needed, + }) + } + #[cfg(not(windows))] + { + let _ = home; + Ok(GuardArtifacts { + notify_exe: None, + marketplace_path: None, + sky_package_json: None, + runtime_exports_needed: false, + }) + } +} + +pub(crate) fn ensure_computer_use_config_with_artifacts( + home: &Path, + artifacts: &GuardArtifacts, +) -> anyhow::Result { + #[cfg(windows)] + { + ensure_computer_use_config_with_artifacts_windows(home, artifacts) + } + #[cfg(not(windows))] + { + let _ = (home, artifacts); + Ok(GuardResult { + changed: false, + notify_exe: None, + }) + } +} + +#[cfg(windows)] +fn ensure_computer_use_config_with_artifacts_windows( + home: &Path, + artifacts: &GuardArtifacts, +) -> anyhow::Result { + let config_path = home.join("config.toml"); + let existing = match std::fs::read(&config_path) { + Ok(bytes) => String::from_utf8(bytes) + .with_context(|| format!("failed to read UTF-8 {}", config_path.display()))?, + Err(error) if error.kind() == std::io::ErrorKind::NotFound => String::new(), + Err(error) => { + return Err(error).with_context(|| format!("failed to read {}", config_path.display())); + } + }; + let updated = if let Some(marketplace_path) = artifacts.marketplace_path.as_deref() { + guard_config_text_with_marketplace( + &existing, + artifacts.notify_exe.as_deref(), + Some(marketplace_path), + )? + } else { + guard_config_text(&existing, artifacts.notify_exe.as_deref())? + }; + let changed = updated.as_bytes() != existing.as_bytes(); + if changed { + crate::settings::atomic_write(&config_path, updated.as_bytes())?; + } + let runtime_compat = ensure_computer_use_runtime_exports_compat_windows( + home, + artifacts.sky_package_json.as_deref(), + )?; + Ok(GuardResult { + changed: changed || runtime_compat.changed, + notify_exe: artifacts.notify_exe.clone(), + }) +} + +#[derive(Debug, Clone, PartialEq, Eq)] +pub(crate) struct RuntimeCompatResult { + pub changed: bool, + pub package_json: Option, + pub backup_path: Option, +} + +#[cfg(not(windows))] +pub(crate) fn ensure_computer_use_runtime_exports_compat( + home: &Path, +) -> anyhow::Result { + let _ = home; + Ok(RuntimeCompatResult { + changed: false, + package_json: None, + backup_path: None, + }) +} + +#[cfg(windows)] +#[allow(dead_code)] +pub(crate) fn ensure_computer_use_runtime_exports_compat( + home: &Path, +) -> anyhow::Result { + ensure_computer_use_runtime_exports_compat_windows( + home, + find_latest_sky_package_json().as_deref(), + ) +} + +#[cfg(windows)] +fn ensure_computer_use_runtime_exports_compat_windows( + home: &Path, + sky_package_json: Option<&Path>, +) -> anyhow::Result { + if !computer_use_client_needs_sky_internal_export(home)? { + return Ok(RuntimeCompatResult { + changed: false, + package_json: sky_package_json.map(Path::to_path_buf), + backup_path: None, + }); + } + let Some(package_json) = sky_package_json else { + return Ok(RuntimeCompatResult { + changed: false, + package_json: None, + backup_path: None, + }); + }; + if !sky_internal_computer_use_client_file_exists(package_json) { + return Ok(RuntimeCompatResult { + changed: false, + package_json: Some(package_json.to_path_buf()), + backup_path: None, + }); + } + + let existing = std::fs::read_to_string(package_json) + .with_context(|| format!("failed to read {}", package_json.display()))?; + let Some(updated) = add_sky_internal_computer_use_export(&existing)? else { + return Ok(RuntimeCompatResult { + changed: false, + package_json: Some(package_json.to_path_buf()), + backup_path: None, + }); + }; + + let backup_path = package_json + .parent() + .ok_or_else(|| anyhow::anyhow!("invalid @oai/sky package.json path"))? + .join(SKY_PACKAGE_EXPORTS_BACKUP); + if !backup_path.exists() { + std::fs::copy(package_json, &backup_path).with_context(|| { + format!( + "failed to back up {} to {}", + package_json.display(), + backup_path.display() + ) + })?; + } + atomic_write_runtime_file(package_json, updated.as_bytes())?; + Ok(RuntimeCompatResult { + changed: true, + package_json: Some(package_json.to_path_buf()), + backup_path: Some(backup_path), + }) +} + +pub(crate) fn guard_config_text( + config_text: &str, + notify_exe: Option<&Path>, +) -> anyhow::Result { + guard_config_text_with_marketplace(config_text, notify_exe, None) +} + +pub(crate) fn guard_config_text_with_marketplace( + config_text: &str, + notify_exe: Option<&Path>, + marketplace_path: Option<&Path>, +) -> anyhow::Result { + let without_bom = config_text.trim_start_matches('\u{feff}'); + let mut doc = parse_toml_document(without_bom)?; + + let features = table_mut_or_insert(&mut doc, "features")?; + features["js_repl"] = toml_edit::value(true); + + for plugin_id in COMPUTER_USE_PLUGINS { + ensure_plugin_enabled(&mut doc, plugin_id)?; + } + + if let Some(notify_exe) = notify_exe { + let mut notify = Array::default(); + notify.push(notify_exe.to_string_lossy().as_ref()); + notify.push("turn-ended"); + doc["notify"] = toml_edit::value(notify); + } + + if let Some(marketplace_path) = marketplace_path { + ensure_openai_bundled_marketplace_config(&mut doc, marketplace_path)?; + } + + Ok(ensure_trailing_newline(doc.to_string())) +} + +pub(crate) fn find_computer_use_notify_exe(home: &Path) -> Option { + #[cfg(windows)] + { + find_computer_use_notify_exe_windows(home) + } + #[cfg(not(windows))] + { + let _ = home; + None + } +} + +#[cfg(windows)] +fn find_computer_use_notify_exe_windows(home: &Path) -> Option { + let mut candidates = Vec::new(); + if let Some(local_app_data) = std::env::var_os("LOCALAPPDATA") { + collect_named_files( + &PathBuf::from(local_app_data) + .join("OpenAI") + .join("Codex") + .join("runtimes") + .join("cua_node"), + COMPUTER_USE_EXE, + 12, + &mut candidates, + ); + } + if candidates.is_empty() { + collect_named_files( + &home + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use"), + COMPUTER_USE_EXE, + 12, + &mut candidates, + ); + } + candidates.sort_by(|left, right| { + modified_millis(right) + .cmp(&modified_millis(left)) + .then_with(|| left.cmp(right)) + }); + candidates.into_iter().next() +} + +#[cfg(windows)] +fn collect_named_files(root: &Path, file_name: &str, depth: usize, output: &mut Vec) { + if depth == 0 { + return; + } + let Ok(entries) = std::fs::read_dir(root) else { + return; + }; + for entry in entries.flatten() { + let path = entry.path(); + if path.is_file() { + if path + .file_name() + .and_then(|value| value.to_str()) + .is_some_and(|name| name.eq_ignore_ascii_case(file_name)) + { + output.push(path); + } + } else if path.is_dir() { + collect_named_files(&path, file_name, depth - 1, output); + } + } +} + +#[cfg(windows)] +fn modified_millis(path: &Path) -> u128 { + 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()) + .unwrap_or(0) +} + +#[cfg(windows)] +fn computer_use_client_needs_sky_internal_export(home: &Path) -> anyhow::Result { + let mut candidates = Vec::new(); + collect_named_files( + &home + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use"), + COMPUTER_USE_CLIENT_SCRIPT, + 8, + &mut candidates, + ); + candidates.sort_by(|left, right| { + modified_millis(right) + .cmp(&modified_millis(left)) + .then_with(|| left.cmp(right)) + }); + for candidate in candidates { + let contents = std::fs::read_to_string(&candidate) + .with_context(|| format!("failed to read {}", candidate.display()))?; + if contents.contains(SKY_INTERNAL_COMPUTER_USE_CLIENT_IMPORT) { + return Ok(true); + } + } + Ok(false) +} + +#[cfg(windows)] +fn find_sky_package_json_for_notify_exe(notify_exe: Option<&Path>) -> Option { + let notify_exe = notify_exe?; + for ancestor in notify_exe.ancestors() { + if ancestor + .file_name() + .and_then(|value| value.to_str()) + .is_some_and(|name| name.eq_ignore_ascii_case("sky")) + && ancestor + .parent() + .and_then(|parent| parent.file_name()) + .and_then(|value| value.to_str()) + .is_some_and(|name| name.eq_ignore_ascii_case("@oai")) + { + let package_json = ancestor.join("package.json"); + if package_json.is_file() { + return Some(package_json); + } + } + } + None +} + +#[cfg(windows)] +fn find_latest_sky_package_json() -> Option { + let local_app_data = std::env::var_os("LOCALAPPDATA")?; + let runtimes = PathBuf::from(local_app_data) + .join("OpenAI") + .join("Codex") + .join("runtimes") + .join("cua_node"); + let Ok(entries) = std::fs::read_dir(runtimes) else { + return None; + }; + let mut candidates: Vec = entries + .flatten() + .map(|entry| { + entry + .path() + .join("bin") + .join("node_modules") + .join("@oai") + .join("sky") + .join("package.json") + }) + .filter(|path| path.is_file()) + .collect(); + candidates.sort_by(|left, right| { + modified_millis(right) + .cmp(&modified_millis(left)) + .then_with(|| left.cmp(right)) + }); + candidates.into_iter().next() +} + +#[cfg(windows)] +fn sky_internal_computer_use_client_file_exists(package_json: &Path) -> bool { + let Some(package_root) = package_json.parent() else { + return false; + }; + package_root + .join(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT.trim_start_matches("./")) + .is_file() +} + +fn add_sky_internal_computer_use_export(contents: &str) -> anyhow::Result> { + let mut package: serde_json::Value = + serde_json::from_str(contents).with_context(|| "@oai/sky package.json parse failed")?; + let Some(exports) = package + .get_mut("exports") + .and_then(|value| value.as_object_mut()) + else { + return Ok(None); + }; + if exports.contains_key(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT) { + return Ok(None); + } + exports.insert( + SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT.to_string(), + serde_json::Value::String(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT.to_string()), + ); + let mut updated = serde_json::to_string_pretty(&package)?; + updated.push('\n'); + Ok(Some(updated)) +} + +#[cfg(windows)] +fn atomic_write_runtime_file(path: &Path, bytes: &[u8]) -> anyhow::Result<()> { + let parent = path + .parent() + .ok_or_else(|| anyhow::anyhow!("invalid runtime file path"))?; + let temp = parent.join(format!( + ".{}.codexpp-tmp", + path.file_name() + .and_then(|value| value.to_str()) + .unwrap_or("package.json") + )); + std::fs::write(&temp, bytes).with_context(|| format!("failed to write {}", temp.display()))?; + match std::fs::rename(&temp, path) { + Ok(()) => Ok(()), + Err(error) => { + let _ = std::fs::remove_file(&temp); + Err(error).with_context(|| format!("failed to replace {}", path.display())) + } + } +} + +#[cfg(windows)] +pub(crate) fn ensure_openai_bundled_marketplace(home: &Path) -> anyhow::Result> { + let active = home + .join(".tmp") + .join("bundled-marketplaces") + .join(BUNDLED_MARKETPLACE); + if is_complete_openai_bundled_marketplace(&active) { + return Ok(Some(active)); + } + if let Some(configured) = configured_openai_bundled_marketplace(home) { + if is_complete_openai_bundled_marketplace(&configured) { + return Ok(Some(configured)); + } + } + + let parent = active + .parent() + .ok_or_else(|| anyhow::anyhow!("invalid bundled marketplace path"))?; + std::fs::create_dir_all(parent)?; + + let staging = parent.join(format!( + "{BUNDLED_MARKETPLACE}.guard-staging-{}", + std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_millis() + )); + if staging.exists() { + std::fs::remove_dir_all(&staging)?; + } + + if let Some(source) = find_complete_openai_bundled_marketplace(parent, &active) { + copy_dir_recursive(&source, &staging)?; + } else if can_build_marketplace_from_cache(home) { + build_marketplace_from_cache(home, &staging)?; + } else { + return Ok(None); + } + + match replace_active_marketplace(&active, &staging) { + Ok(()) => Ok(Some(active)), + Err(_) if is_complete_openai_bundled_marketplace(&staging) => { + // Windows can keep the active marketplace directory pinned while + // Codex extension hosts are still alive. Pointing config at the + // complete staging marketplace still restores plugin discovery. + Ok(Some(staging)) + } + Err(error) => Err(error).with_context(|| { + format!( + "failed to replace active bundled marketplace at {}", + active.display() + ) + }), + } +} + +#[cfg(windows)] +fn configured_openai_bundled_marketplace(home: &Path) -> Option { + let config = std::fs::read_to_string(home.join("config.toml")).ok()?; + let without_bom = config.trim_start_matches('\u{feff}'); + let doc = parse_toml_document(without_bom).ok()?; + let source = doc + .get("marketplaces")? + .as_table()? + .get(BUNDLED_MARKETPLACE)? + .as_table()? + .get("source")? + .as_str()?; + Some(path_from_configured_marketplace_source(source)) +} + +#[cfg(windows)] +fn path_from_configured_marketplace_source(source: &str) -> PathBuf { + source + .strip_prefix(r"\\?\") + .map(PathBuf::from) + .unwrap_or_else(|| PathBuf::from(source)) +} + +#[cfg(windows)] +fn is_complete_openai_bundled_marketplace(path: &Path) -> bool { + if !path + .join(".agents") + .join("plugins") + .join("marketplace.json") + .is_file() + { + return false; + } + BUNDLED_MARKETPLACE_PLUGINS.iter().all(|plugin| { + path.join("plugins") + .join(plugin) + .join(".codex-plugin") + .join("plugin.json") + .is_file() + }) +} + +#[cfg(windows)] +fn find_complete_openai_bundled_marketplace(parent: &Path, active: &Path) -> Option { + let mut candidates = Vec::new(); + let Ok(entries) = std::fs::read_dir(parent) else { + return None; + }; + for entry in entries.flatten() { + let path = entry.path(); + if path == active || !path.is_dir() { + continue; + } + let Some(name) = path.file_name().and_then(|value| value.to_str()) else { + continue; + }; + if name.starts_with(BUNDLED_MARKETPLACE) && is_complete_openai_bundled_marketplace(&path) { + candidates.push(path); + } + } + candidates.sort_by(|left, right| { + modified_millis(right) + .cmp(&modified_millis(left)) + .then_with(|| left.cmp(right)) + }); + candidates.into_iter().next() +} + +#[cfg(windows)] +fn cache_plugin_root(home: &Path, plugin: &str) -> PathBuf { + home.join("plugins") + .join("cache") + .join(BUNDLED_MARKETPLACE) + .join(plugin) +} + +#[cfg(windows)] +fn can_build_marketplace_from_cache(home: &Path) -> bool { + BUNDLED_MARKETPLACE_PLUGINS + .iter() + .all(|plugin| latest_cache_plugin_version(home, plugin).is_some()) +} + +#[cfg(windows)] +fn latest_cache_plugin_version(home: &Path, plugin: &str) -> Option { + let root = cache_plugin_root(home, plugin); + let mut candidates = Vec::new(); + let Ok(entries) = std::fs::read_dir(root) else { + return None; + }; + for entry in entries.flatten() { + let path = entry.path(); + if path.join(".codex-plugin").join("plugin.json").is_file() { + candidates.push(path); + } + } + candidates.sort_by(|left, right| { + let left_name = left + .file_name() + .and_then(|value| value.to_str()) + .unwrap_or_default(); + let right_name = right + .file_name() + .and_then(|value| value.to_str()) + .unwrap_or_default(); + right_name + .cmp(left_name) + .then_with(|| modified_millis(right).cmp(&modified_millis(left))) + }); + candidates.into_iter().next() +} + +#[cfg(windows)] +fn build_marketplace_from_cache(home: &Path, staging: &Path) -> anyhow::Result<()> { + let plugins_dir = staging.join("plugins"); + std::fs::create_dir_all(staging.join(".agents").join("plugins"))?; + std::fs::create_dir_all(&plugins_dir)?; + std::fs::write( + staging + .join(".agents") + .join("plugins") + .join("marketplace.json"), + bundled_marketplace_json().as_bytes(), + )?; + for plugin in BUNDLED_MARKETPLACE_PLUGINS { + let Some(source) = latest_cache_plugin_version(home, plugin) else { + anyhow::bail!("missing cached {plugin} plugin for openai-bundled marketplace"); + }; + copy_dir_recursive(&source, &plugins_dir.join(plugin))?; + } + Ok(()) +} + +#[cfg(windows)] +fn bundled_marketplace_json() -> String { + let plugins = [ + ("browser", "Engineering"), + ("chrome", "Productivity"), + ("computer-use", "Productivity"), + ("latex", "Research"), + ] + .into_iter() + .map(|(name, category)| { + serde_json::json!({ + "name": name, + "source": { + "source": "local", + "path": format!("./plugins/{name}") + }, + "policy": { + "installation": "AVAILABLE", + "authentication": "ON_INSTALL" + }, + "category": category + }) + }) + .collect::>(); + serde_json::to_string_pretty(&serde_json::json!({ + "name": BUNDLED_MARKETPLACE, + "interface": { + "displayName": "OpenAI Bundled" + }, + "plugins": plugins + })) + .expect("bundled marketplace JSON should serialize") +} + +#[cfg(windows)] +fn replace_active_marketplace(active: &Path, staging: &Path) -> anyhow::Result<()> { + if active.exists() { + let backup = active.with_file_name(format!( + "{BUNDLED_MARKETPLACE}.bak-guard-{}", + std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_millis() + )); + std::fs::rename(active, backup)?; + } + std::fs::rename(staging, active)?; + Ok(()) +} + +#[cfg(windows)] +fn copy_dir_recursive(source: &Path, destination: &Path) -> anyhow::Result<()> { + std::fs::create_dir_all(destination)?; + for entry in std::fs::read_dir(source)? { + let entry = entry?; + let source_path = entry.path(); + let destination_path = destination.join(entry.file_name()); + if source_path.is_dir() { + copy_dir_recursive(&source_path, &destination_path)?; + } else { + std::fs::copy(&source_path, &destination_path)?; + } + } + Ok(()) +} + +fn ensure_openai_bundled_marketplace_config( + doc: &mut DocumentMut, + marketplace_path: &Path, +) -> anyhow::Result<()> { + let marketplaces = table_mut_or_insert(doc, "marketplaces")?; + if marketplaces + .get(BUNDLED_MARKETPLACE) + .and_then(Item::as_table) + .is_none() + { + marketplaces[BUNDLED_MARKETPLACE] = toml_edit::table(); + } + marketplaces[BUNDLED_MARKETPLACE]["source_type"] = toml_edit::value("local"); + marketplaces[BUNDLED_MARKETPLACE]["source"] = + toml_edit::value(windows_extended_path(marketplace_path)); + Ok(()) +} + +fn windows_extended_path(path: &Path) -> String { + let value = path.to_string_lossy(); + if value.starts_with(r"\\?\") { + value.into_owned() + } else { + format!(r"\\?\{value}") + } +} + +fn parse_toml_document(contents: &str) -> anyhow::Result { + if contents.trim().is_empty() { + Ok(DocumentMut::new()) + } else { + contents + .parse::() + .with_context(|| "config.toml TOML parse failed") + } +} + +fn table_mut_or_insert<'a>(doc: &'a mut DocumentMut, key: &str) -> anyhow::Result<&'a mut Table> { + if !doc.as_table().contains_key(key) { + doc[key] = toml_edit::table(); + } + if doc.get(key).and_then(Item::as_table).is_none() { + doc[key] = toml_edit::table(); + } + doc.get_mut(key) + .and_then(Item::as_table_mut) + .ok_or_else(|| anyhow::anyhow!("{key} must be a TOML table")) +} + +fn ensure_plugin_enabled(doc: &mut DocumentMut, plugin_id: &str) -> anyhow::Result<()> { + let plugins = table_mut_or_insert(doc, "plugins")?; + if !plugins.contains_key(plugin_id) { + plugins[plugin_id] = toml_edit::table(); + } + if plugins.get(plugin_id).and_then(Item::as_table).is_none() { + plugins[plugin_id] = toml_edit::table(); + } + plugins[plugin_id]["enabled"] = toml_edit::value(true); + Ok(()) +} + +fn ensure_trailing_newline(mut contents: String) -> String { + if !contents.ends_with('\n') { + contents.push('\n'); + } + contents +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn guard_config_text_repairs_computer_use_settings() { + let updated = guard_config_text( + "\u{feff}notify = [\"old.exe\", \"turn-ended\"]\n\n[features]\njs_repl = false\n\n[plugins.\"computer-use@openai-bundled\"]\nenabled = false\n", + Some(Path::new(r"C:\tools\codex-computer-use.exe")), + ) + .unwrap(); + + assert!(!updated.as_bytes().starts_with(&[0xef, 0xbb, 0xbf])); + assert!(updated.contains("js_repl = true")); + assert!(updated.contains("[plugins.\"browser@openai-bundled\"]")); + assert!(updated.contains("[plugins.\"chrome@openai-bundled\"]")); + assert!(updated.contains("[plugins.\"computer-use@openai-bundled\"]")); + assert!(updated.contains("enabled = true")); + let parsed = updated.parse::().unwrap(); + let notify = parsed["notify"].as_array().unwrap(); + assert_eq!( + notify.get(0).and_then(|value| value.as_str()), + Some(r"C:\tools\codex-computer-use.exe") + ); + assert_eq!( + notify.get(1).and_then(|value| value.as_str()), + Some("turn-ended") + ); + assert!(!updated.contains("old.exe")); + } + + #[test] + fn guard_config_text_creates_missing_sections() { + let updated = guard_config_text("model = \"gpt-5\"\n", None).unwrap(); + + assert!(updated.contains("[features]")); + assert!(updated.contains("js_repl = true")); + for plugin_id in COMPUTER_USE_PLUGINS { + assert!(updated.contains(&format!("[plugins.\"{plugin_id}\"]"))); + } + assert!(!updated.contains("notify =")); + } + + #[test] + fn guard_config_text_writes_openai_bundled_marketplace_source() { + let updated = guard_config_text_with_marketplace( + "model = \"gpt-5\"\n\n[marketplaces.openai-bundled]\nsource_type = \"remote\"\nsource = \"old\"\n", + None, + Some(Path::new(r"C:\Users\me\.codex\.tmp\bundled-marketplaces\openai-bundled")), + ) + .unwrap(); + let parsed = updated.parse::().unwrap(); + assert_eq!( + parsed["marketplaces"]["openai-bundled"]["source_type"].as_str(), + Some("local") + ); + assert_eq!( + parsed["marketplaces"]["openai-bundled"]["source"].as_str(), + Some(r"\\?\C:\Users\me\.codex\.tmp\bundled-marketplaces\openai-bundled") + ); + } + + #[test] + fn add_sky_internal_computer_use_export_adds_exact_subpath() { + let updated = add_sky_internal_computer_use_export( + r#"{ + "name": "@oai/sky", + "exports": { + ".": "./dist/project/cua/sky_js/src/index.js" + } +}"#, + ) + .unwrap() + .unwrap(); + let parsed: serde_json::Value = serde_json::from_str(&updated).unwrap(); + + assert_eq!( + parsed["exports"][SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT].as_str(), + Some(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT) + ); + assert!(updated.ends_with('\n')); + } + + #[test] + fn add_sky_internal_computer_use_export_is_idempotent() { + let updated = add_sky_internal_computer_use_export(&format!( + r#"{{ + "name": "@oai/sky", + "exports": {{ + ".": "./dist/project/cua/sky_js/src/index.js", + "{SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT}": "{SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT}" + }} +}}"# + )) + .unwrap(); + + assert!(updated.is_none()); + } + + #[test] + fn add_sky_internal_computer_use_export_ignores_non_object_exports() { + let updated = + add_sky_internal_computer_use_export(r#"{ "name": "@oai/sky", "exports": "." }"#) + .unwrap(); + + assert!(updated.is_none()); + } + + #[cfg(not(windows))] + #[test] + fn runtime_exports_compat_is_noop_off_windows() { + let temp = tempfile::tempdir().unwrap(); + let result = ensure_computer_use_runtime_exports_compat(temp.path()).unwrap(); + + assert!(!result.changed); + assert!(result.package_json.is_none()); + assert!(result.backup_path.is_none()); + } + + #[cfg(windows)] + #[test] + fn runtime_exports_compat_adds_missing_exact_export() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join(".codex"); + let script = home + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use") + .join("26.608.12217") + .join("scripts") + .join(COMPUTER_USE_CLIENT_SCRIPT); + std::fs::create_dir_all(script.parent().unwrap()).unwrap(); + std::fs::write( + &script, + format!("import {{ x }} from \"{SKY_INTERNAL_COMPUTER_USE_CLIENT_IMPORT}\";\n"), + ) + .unwrap(); + + let package_json = temp.path().join("@oai").join("sky").join("package.json"); + let internal_file = package_json + .parent() + .unwrap() + .join(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT.trim_start_matches("./")); + std::fs::create_dir_all(internal_file.parent().unwrap()).unwrap(); + std::fs::write( + &internal_file, + "export class WindowsComputerUseClientBase {}\n", + ) + .unwrap(); + std::fs::write( + &package_json, + r#"{ + "name": "@oai/sky", + "exports": { + ".": "./dist/project/cua/sky_js/src/index.js" + } +} +"#, + ) + .unwrap(); + + let result = + ensure_computer_use_runtime_exports_compat_windows(&home, Some(&package_json)).unwrap(); + + assert!(result.changed); + assert_eq!(result.package_json.as_deref(), Some(package_json.as_path())); + assert!(result.backup_path.as_deref().unwrap().is_file()); + let parsed: serde_json::Value = + serde_json::from_str(&std::fs::read_to_string(&package_json).unwrap()).unwrap(); + assert_eq!( + parsed["exports"][SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT].as_str(), + Some(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT) + ); + } + + #[cfg(windows)] + #[test] + fn runtime_exports_compat_skips_when_internal_file_missing() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join(".codex"); + let script = home + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use") + .join("26.608.12217") + .join("scripts") + .join(COMPUTER_USE_CLIENT_SCRIPT); + std::fs::create_dir_all(script.parent().unwrap()).unwrap(); + std::fs::write( + &script, + format!("import {{ x }} from \"{SKY_INTERNAL_COMPUTER_USE_CLIENT_IMPORT}\";\n"), + ) + .unwrap(); + let package_json = temp.path().join("@oai").join("sky").join("package.json"); + std::fs::create_dir_all(package_json.parent().unwrap()).unwrap(); + std::fs::write( + &package_json, + r#"{ "name": "@oai/sky", "exports": { ".": "./index.js" } }"#, + ) + .unwrap(); + + let result = + ensure_computer_use_runtime_exports_compat_windows(&home, Some(&package_json)).unwrap(); + + assert!(!result.changed); + assert!( + !package_json + .parent() + .unwrap() + .join(SKY_PACKAGE_EXPORTS_BACKUP) + .exists() + ); + } + + #[cfg(windows)] + #[test] + fn runtime_exports_compat_skips_when_plugin_script_no_longer_needs_patch() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join(".codex"); + let script = home + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use") + .join("26.608.12217") + .join("scripts") + .join(COMPUTER_USE_CLIENT_SCRIPT); + std::fs::create_dir_all(script.parent().unwrap()).unwrap(); + std::fs::write(&script, "import { sky } from \"@oai/sky\";\n").unwrap(); + let package_json = temp.path().join("@oai").join("sky").join("package.json"); + let internal_file = package_json + .parent() + .unwrap() + .join(SKY_INTERNAL_COMPUTER_USE_CLIENT_EXPORT.trim_start_matches("./")); + std::fs::create_dir_all(internal_file.parent().unwrap()).unwrap(); + std::fs::write( + &internal_file, + "export class WindowsComputerUseClientBase {}\n", + ) + .unwrap(); + std::fs::write( + &package_json, + r#"{ "name": "@oai/sky", "exports": { ".": "./index.js" } }"#, + ) + .unwrap(); + + let result = + ensure_computer_use_runtime_exports_compat_windows(&home, Some(&package_json)).unwrap(); + + assert!(!result.changed); + } + + #[cfg(windows)] + #[test] + fn ensure_openai_bundled_marketplace_rebuilds_damaged_active_from_cache() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path(); + let active = home + .join(".tmp") + .join("bundled-marketplaces") + .join(BUNDLED_MARKETPLACE); + std::fs::create_dir_all(active.join("plugins").join("chrome").join(".codex-plugin")) + .unwrap(); + std::fs::write( + active + .join("plugins") + .join("chrome") + .join(".codex-plugin") + .join("plugin.json"), + "{}", + ) + .unwrap(); + + for plugin in BUNDLED_MARKETPLACE_PLUGINS { + let root = home + .join("plugins") + .join("cache") + .join(BUNDLED_MARKETPLACE) + .join(plugin) + .join("26.608.12217"); + std::fs::create_dir_all(root.join(".codex-plugin")).unwrap(); + std::fs::write(root.join(".codex-plugin").join("plugin.json"), "{}").unwrap(); + std::fs::write(root.join("payload.txt"), plugin).unwrap(); + } + + let repaired = ensure_openai_bundled_marketplace(home).unwrap().unwrap(); + assert_eq!(repaired, active); + assert!( + active + .join(".agents") + .join("plugins") + .join("marketplace.json") + .is_file() + ); + let marketplace = std::fs::read_to_string( + active + .join(".agents") + .join("plugins") + .join("marketplace.json"), + ) + .unwrap(); + assert!(marketplace.contains("\"computer-use\"")); + for plugin in BUNDLED_MARKETPLACE_PLUGINS { + assert!( + active + .join("plugins") + .join(plugin) + .join(".codex-plugin") + .join("plugin.json") + .is_file() + ); + assert_eq!( + std::fs::read_to_string(active.join("plugins").join(plugin).join("payload.txt")) + .unwrap(), + *plugin + ); + } + let backup_count = std::fs::read_dir(active.parent().unwrap()) + .unwrap() + .flatten() + .filter(|entry| { + entry + .file_name() + .to_string_lossy() + .starts_with("openai-bundled.bak-guard-") + }) + .count(); + assert_eq!(backup_count, 1); + } + + #[cfg(windows)] + #[test] + fn ensure_openai_bundled_marketplace_reuses_configured_complete_staging() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path(); + let parent = home.join(".tmp").join("bundled-marketplaces"); + let active = parent.join(BUNDLED_MARKETPLACE); + let configured = parent.join("openai-bundled.guard-staging-existing"); + std::fs::create_dir_all(active.join("plugins")).unwrap(); + std::fs::create_dir_all(configured.join(".agents").join("plugins")).unwrap(); + std::fs::write( + configured + .join(".agents") + .join("plugins") + .join("marketplace.json"), + "{}", + ) + .unwrap(); + for plugin in BUNDLED_MARKETPLACE_PLUGINS { + let plugin_root = configured + .join("plugins") + .join(plugin) + .join(".codex-plugin"); + std::fs::create_dir_all(&plugin_root).unwrap(); + std::fs::write(plugin_root.join("plugin.json"), "{}").unwrap(); + } + let source = format!(r"\\?\{}", configured.display()); + std::fs::write( + home.join("config.toml"), + format!( + "[marketplaces.openai-bundled]\nsource_type = \"local\"\nsource = '{}'\n", + source + ), + ) + .unwrap(); + + let repaired = ensure_openai_bundled_marketplace(home).unwrap().unwrap(); + assert_eq!(repaired, configured); + let guard_staging_count = std::fs::read_dir(parent) + .unwrap() + .flatten() + .filter(|entry| { + entry + .file_name() + .to_string_lossy() + .starts_with("openai-bundled.guard-staging-") + }) + .count(); + assert_eq!(guard_staging_count, 1); + } +} diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index f1560d9de..38ae03f39 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -1,3 +1,4 @@ +use std::collections::HashSet; use std::net::SocketAddr; use std::path::{Path, PathBuf}; use std::process::Stdio; @@ -15,6 +16,13 @@ use tokio::sync::Mutex; use crate::settings::{BackendSettings, SettingsStore, normalize_codex_extra_args}; use crate::status::{LaunchStatus, StatusStore}; +#[cfg(windows)] +const POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS: &[u64] = &[0, 5, 15, 30, 60, 120, 180, 240, 300]; +#[cfg_attr(not(windows), allow(dead_code))] +const POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS: usize = 3; +const PACKAGED_CDP_READY_ATTEMPTS: usize = 10; +const PACKAGED_CDP_READY_DELAY: std::time::Duration = std::time::Duration::from_millis(500); + #[derive(Debug, Clone, PartialEq, Eq)] pub enum CodexLaunch { Process { @@ -127,6 +135,9 @@ pub trait LaunchHooks: Send + Sync { async fn apply_active_relay_profile(&self, _settings: &BackendSettings) -> anyhow::Result<()> { Ok(()) } + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + Ok(()) + } async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()>; async fn launch_codex( &self, @@ -182,6 +193,12 @@ pub trait LaunchHooks: Send + Sync { ) -> anyhow::Result<()> { Ok(()) } + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + Ok(()) + } async fn write_status(&self, status: &str); async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()>; async fn shutdown_helper(&self, helper_port: u16); @@ -193,6 +210,8 @@ pub struct DefaultLaunchHooks { child: Mutex>, helper: Mutex>, bridge_watchdog: Mutex>, + computer_use_guard_watchdog: Mutex>, + computer_use_guard_artifacts: Mutex>, } struct HelperRuntime { @@ -205,6 +224,11 @@ struct BridgeWatchdogRuntime { task: tokio::task::JoinHandle<()>, } +struct ComputerUseGuardWatchdogRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + pub async fn launch_and_inject(options: LaunchOptions) -> anyhow::Result { launch_and_inject_with_hooks(options, DefaultLaunchHooks::shared()).await } @@ -230,6 +254,12 @@ where if settings.provider_sync_enabled { hooks.run_provider_sync().await?; } + if settings.relay_profiles_enabled { + hooks.apply_active_relay_profile(&settings).await?; + } + if settings.computer_use_guard_enabled { + hooks.ensure_computer_use_config(&settings).await?; + } let protocol_proxy_enabled = relay_protocol_proxy_enabled(&settings); if protocol_proxy_enabled { helper_port = crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT; @@ -244,6 +274,9 @@ where .await?; launched = Some(launch.clone()); keep_launched_on_error = true; + if settings.computer_use_guard_enabled { + hooks.start_computer_use_guard_watchdog(&settings).await?; + } let mut injection_degraded = false; if settings.enhancements_enabled { @@ -256,7 +289,7 @@ where } else { let degraded = launch_status( "running_degraded", - "Codex 已启动,Codex++ 增强仍在等待页面就绪。", + "Codex launched; Codex++ enhancements are still waiting for the page bridge.", debug_port, helper_port, &app_dir, @@ -361,7 +394,7 @@ impl LaunchHooks for DefaultLaunchHooks { } fn select_debug_port(&self, requested: u16) -> u16 { - crate::ports::select_platform_loopback_port(requested) + crate::ports::select_packaged_codex_debug_port(requested) } fn select_helper_port(&self, requested: u16) -> u16 { @@ -398,17 +431,33 @@ impl LaunchHooks for DefaultLaunchHooks { { let auth_contents = (!profile.auth_contents.trim().is_empty()) .then_some(profile.auth_contents.as_str()); - crate::relay_config::clear_relay_config_to_home_with_auth(&home, auth_contents)?; + crate::relay_config::clear_relay_config_to_home_with_auth_and_computer_use_guard( + &home, + auth_contents, + settings.computer_use_guard_enabled, + )?; return Ok(()); } - crate::relay_config::apply_relay_profile_to_home_with_switch_rules( + crate::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( &home, &profile, &common_config, + settings.computer_use_guard_enabled, )?; Ok(()) } + async fn ensure_computer_use_config(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home)?; + crate::computer_use_guard::ensure_computer_use_config_with_artifacts(&home, &artifacts)?; + *self.computer_use_guard_artifacts.lock().await = Some(artifacts); + Ok(()) + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { let listener = tokio::net::TcpListener::bind(("127.0.0.1", helper_port)) .await @@ -458,8 +507,26 @@ impl LaunchHooks for DefaultLaunchHooks { else { unreachable!(); }; + let app_user_model_id_for_log = app_user_model_id.clone(); + let preexisting_cdp_targets = query_cdp_targets(debug_port).await; + let preexisting_cdp_target_ids = cdp_target_fingerprints(&preexisting_cdp_targets); + if preexisting_cdp_targets.iter().any(is_codex_cdp_target) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.packaged_activation_reuse_preexisting_cdp", + serde_json::json!({ + "debug_port": debug_port, + "app_user_model_id": app_user_model_id_for_log, + "preexisting_cdp_target_count": preexisting_cdp_targets.len() + }), + ); + return Ok(CodexLaunch::PackagedActivation { + app_user_model_id: app_user_model_id.clone(), + arguments: arguments.clone(), + process_id: None, + }); + } let process_id = activate_packaged_app(app_user_model_id, arguments).await?; - return Ok(match activation { + let packaged_launch = match activation { CodexLaunch::PackagedActivation { app_user_model_id, arguments, @@ -470,7 +537,27 @@ impl LaunchHooks for DefaultLaunchHooks { process_id: Some(process_id), }, CodexLaunch::Process { .. } => unreachable!(), - }); + }; + if cdp_json_ready( + debug_port, + PACKAGED_CDP_READY_ATTEMPTS, + PACKAGED_CDP_READY_DELAY, + &preexisting_cdp_target_ids, + ) + .await + { + return Ok(packaged_launch); + } + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.packaged_activation_cdp_unready_direct_fallback", + serde_json::json!({ + "debug_port": debug_port, + "app_user_model_id": app_user_model_id_for_log, + "process_id": process_id, + "preexisting_cdp_target_count": preexisting_cdp_targets.len() + }), + ); + let _ = terminate_windows_process_id(process_id).await; } } @@ -549,6 +636,34 @@ impl LaunchHooks for DefaultLaunchHooks { Ok(()) } + async fn start_computer_use_guard_watchdog( + &self, + settings: &BackendSettings, + ) -> anyhow::Result<()> { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + #[cfg(windows)] + { + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = self.computer_use_guard_artifacts.lock().await.clone(); + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + run_post_launch_computer_use_guard(home, artifacts, &mut shutdown_rx).await; + }); + if let Some(runtime) = self + .computer_use_guard_watchdog + .lock() + .await + .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + Ok(()) + } + async fn write_status(&self, _status: &str) {} async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()> { @@ -569,6 +684,10 @@ impl LaunchHooks for DefaultLaunchHooks { } async fn shutdown_helper(&self, _helper_port: u16) { + if let Some(runtime) = self.computer_use_guard_watchdog.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } if let Some(runtime) = self.bridge_watchdog.lock().await.take() { let _ = runtime.shutdown.send(()); let _ = runtime.task.await; @@ -1124,7 +1243,7 @@ fn log_helper_response( } #[cfg(test)] -mod tests { +mod computer_use_tests { use super::overlay_image_content_type; use std::path::Path; @@ -1249,6 +1368,145 @@ pub fn build_packaged_activation( }) } +async fn cdp_json_ready( + debug_port: u16, + attempts: usize, + delay: std::time::Duration, + preexisting_targets: &HashSet, +) -> bool { + let client = match reqwest::Client::builder() + .no_proxy() + .timeout(std::time::Duration::from_millis(500)) + .build() + { + Ok(client) => client, + Err(_) => return false, + }; + for attempt in 0..attempts { + if cdp_json_ready_once(&client, debug_port, preexisting_targets).await { + return true; + } + if attempt + 1 < attempts { + tokio::time::sleep(delay).await; + } + } + false +} + +async fn query_cdp_targets(debug_port: u16) -> Vec { + let client = match reqwest::Client::builder() + .no_proxy() + .timeout(std::time::Duration::from_millis(500)) + .build() + { + Ok(client) => client, + Err(_) => return Vec::new(), + }; + let Some(targets) = query_cdp_targets_once(&client, debug_port).await else { + return Vec::new(); + }; + targets +} + +fn cdp_target_fingerprints(targets: &[crate::cdp::CdpTarget]) -> HashSet { + targets.iter().map(cdp_target_fingerprint).collect() +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum CdpTargetReadiness { + Ready, + NotPage, + MissingWebsocket, + NotCodexContext, + Preexisting, +} + +async fn cdp_json_ready_once( + client: &reqwest::Client, + debug_port: u16, + preexisting_targets: &HashSet, +) -> bool { + let Some(targets) = query_cdp_targets_once(client, debug_port).await else { + return false; + }; + targets.iter().any(|target| { + let readiness = cdp_target_readiness(target, preexisting_targets); + let accepted = readiness == CdpTargetReadiness::Ready; + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.cdp_readiness_target", + serde_json::json!({ + "debug_port": debug_port, + "target_id": target.id, + "target_type": target.target_type, + "title": target.title, + "url": target.url, + "has_websocket": target.web_socket_debugger_url.as_deref().is_some_and(|url| !url.is_empty()), + "fingerprint": cdp_target_fingerprint(target), + "readiness": format!("{readiness:?}"), + "accepted": accepted + }), + ); + accepted + }) +} + +async fn query_cdp_targets_once( + client: &reqwest::Client, + debug_port: u16, +) -> Option> { + for url in [ + format!("http://127.0.0.1:{debug_port}/json"), + format!("http://[::1]:{debug_port}/json"), + ] { + let Ok(response) = client.get(url).send().await else { + continue; + }; + let Ok(response) = response.error_for_status() else { + continue; + }; + let Ok(targets) = response.json::>().await else { + continue; + }; + return Some(targets); + } + None +} + +fn cdp_target_fingerprint(target: &crate::cdp::CdpTarget) -> String { + if !target.id.is_empty() { + return target.id.clone(); + } + target.web_socket_debugger_url.clone().unwrap_or_default() +} + +fn is_codex_cdp_target(target: &crate::cdp::CdpTarget) -> bool { + cdp_target_readiness(target, &HashSet::new()) == CdpTargetReadiness::Ready +} + +fn cdp_target_readiness( + target: &crate::cdp::CdpTarget, + preexisting_targets: &HashSet, +) -> CdpTargetReadiness { + if target.target_type != "page" { + return CdpTargetReadiness::NotPage; + } + if !target + .web_socket_debugger_url + .as_deref() + .is_some_and(|url| !url.is_empty()) + { + return CdpTargetReadiness::MissingWebsocket; + } + if preexisting_targets.contains(&cdp_target_fingerprint(target)) { + return CdpTargetReadiness::Preexisting; + } + let haystack = format!("{} {}", target.title, target.url).to_lowercase(); + if !haystack.contains("codex") { + return CdpTargetReadiness::NotCodexContext; + } + CdpTargetReadiness::Ready +} + async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { let mut last_error = None; for _ in 0..20 { @@ -1316,7 +1574,7 @@ pub async fn check_and_reinject_bridge(debug_port: u16, helper_port: u16) -> boo async fn bridge_health_ok(debug_port: u16) -> anyhow::Result { let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_page_target(&targets)?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; let websocket_url = target .web_socket_debugger_url .as_deref() @@ -1341,7 +1599,7 @@ fn runtime_evaluate_result_is_true(result: &Value) -> bool { async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_page_target(&targets)?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; let websocket_url = target .web_socket_debugger_url .as_deref() @@ -1456,6 +1714,119 @@ async fn is_macos_app_running(app_dir: &Path) -> bool { .eq_ignore_ascii_case("true") } +#[cfg_attr(not(windows), allow(dead_code))] +fn post_launch_guard_artifacts_ready( + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + artifacts.notify_exe.is_some() + && artifacts.marketplace_path.is_some() + && (!artifacts.runtime_exports_needed || artifacts.sky_package_json.is_some()) +} + +#[cfg_attr(not(windows), allow(dead_code))] +fn should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts: usize, + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + stable_unchanged_attempts >= POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS + && post_launch_guard_artifacts_ready(artifacts) +} + +#[cfg(windows)] +async fn run_post_launch_computer_use_guard( + home: PathBuf, + mut artifacts: Option, + shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, +) { + let mut previous_delay = 0_u64; + let mut stable_unchanged_attempts = 0_usize; + for (index, delay) in POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS + .iter() + .copied() + .enumerate() + { + let wait_seconds = delay.saturating_sub(previous_delay); + previous_delay = delay; + if wait_seconds > 0 { + tokio::select! { + _ = &mut *shutdown_rx => return, + _ = tokio::time::sleep(std::time::Duration::from_secs(wait_seconds)) => {} + } + } + let attempt = index + 1; + let resolved_artifacts = match artifacts.take() { + Some(artifacts) => artifacts, + None => match crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home) { + Ok(resolved) => resolved, + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "phase": "resolve_artifacts", + "message": error.to_string() + }), + ); + continue; + } + }, + }; + let artifacts_ready = post_launch_guard_artifacts_ready(&resolved_artifacts); + artifacts = artifacts_ready.then_some(resolved_artifacts.clone()); + match crate::computer_use_guard::ensure_computer_use_config_with_artifacts( + &home, + &resolved_artifacts, + ) { + Ok(result) => { + if !result.changed && artifacts_ready { + stable_unchanged_attempts += 1; + } else { + stable_unchanged_attempts = 0; + } + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_ok", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "changed": result.changed, + "stable_unchanged_attempts": stable_unchanged_attempts, + "notify_exe": result + .notify_exe + .map(|path| path.to_string_lossy().to_string()) + }), + ); + if should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts, + &resolved_artifacts, + ) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_stable_stop", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "stable_unchanged_attempts": stable_unchanged_attempts + }), + ); + return; + } + } + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "message": error.to_string() + }), + ); + } + } + } +} + #[cfg(windows)] async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { tokio::task::spawn_blocking(move || wait_for_windows_process_id_blocking(process_id)) @@ -1643,3 +2014,194 @@ fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> a result.map_err(Into::into) } } + +#[cfg(test)] +mod tests { + use super::*; + + fn cdp_target( + id: &str, + target_type: &str, + title: &str, + url: &str, + ws: Option<&str>, + ) -> crate::cdp::CdpTarget { + crate::cdp::CdpTarget { + id: id.to_string(), + target_type: target_type.to_string(), + title: title.to_string(), + url: url.to_string(), + web_socket_debugger_url: ws.map(str::to_string), + } + } + + #[test] + fn cdp_readiness_accepts_only_codex_page_targets_with_websocket() { + assert!(is_codex_cdp_target(&cdp_target( + "target-1", + "page", + "Codex", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-1"), + ))); + assert!(!is_codex_cdp_target(&cdp_target( + "target-2", + "page", + "Other App", + "https://example.test/", + Some("ws://127.0.0.1:9229/devtools/page/target-2"), + ))); + assert!(!is_codex_cdp_target(&cdp_target( + "target-3", + "worker", + "Codex Worker", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-3"), + ))); + assert!(!is_codex_cdp_target(&cdp_target( + "target-4", + "page", + "Codex", + "https://codex.local/", + None, + ))); + } + + #[test] + fn cdp_readiness_rejects_preexisting_codex_target() { + let target = cdp_target( + "target-1", + "page", + "Codex", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-1"), + ); + let mut preexisting = HashSet::new(); + preexisting.insert(cdp_target_fingerprint(&target)); + + assert_eq!( + cdp_target_readiness(&target, &preexisting), + CdpTargetReadiness::Preexisting + ); + } + + #[test] + fn cdp_readiness_reports_rejection_reasons() { + assert_eq!( + cdp_target_readiness( + &cdp_target( + "target-1", + "worker", + "Codex Worker", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-1"), + ), + &HashSet::new(), + ), + CdpTargetReadiness::NotPage + ); + assert_eq!( + cdp_target_readiness( + &cdp_target( + "target-2", + "page", + "Other App", + "https://example.test/", + None + ), + &HashSet::new(), + ), + CdpTargetReadiness::MissingWebsocket + ); + assert_eq!( + cdp_target_readiness( + &cdp_target( + "target-3", + "page", + "Other App", + "https://example.test/", + Some("ws://127.0.0.1:9229/devtools/page/target-3"), + ), + &HashSet::new(), + ), + CdpTargetReadiness::NotCodexContext + ); + } + + #[test] + fn cdp_target_fingerprint_prefers_stable_id() { + let target = cdp_target( + "target-1", + "page", + "Codex", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-1"), + ); + + assert_eq!(cdp_target_fingerprint(&target), "target-1"); + } + + #[test] + fn cdp_target_fingerprint_falls_back_to_websocket_url() { + let target = cdp_target( + "", + "page", + "Codex", + "https://codex.local/", + Some("ws://127.0.0.1:9229/devtools/page/target-1"), + ); + + assert_eq!( + cdp_target_fingerprint(&target), + "ws://127.0.0.1:9229/devtools/page/target-1" + ); + } + + #[test] + fn post_launch_guard_stops_after_stable_ready_artifacts() { + let artifacts = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + + assert!(!should_stop_post_launch_computer_use_guard(2, &artifacts)); + assert!(should_stop_post_launch_computer_use_guard(3, &artifacts)); + } + + #[test] + fn post_launch_guard_keeps_retrying_until_artifacts_are_ready() { + let missing_notify = crate::computer_use_guard::GuardArtifacts { + notify_exe: None, + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_marketplace = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: None, + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_runtime_package = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: true, + }; + + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_notify + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_marketplace + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_runtime_package + )); + } +} diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 6742086ac..152338e03 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -5,6 +5,7 @@ pub mod bridge; pub mod cdp; pub mod cli_wrapper; pub mod codex_sqlite; +mod computer_use_guard; pub mod diagnostic_log; pub mod http_client; pub mod install; diff --git a/crates/codex-plus-core/src/ports.rs b/crates/codex-plus-core/src/ports.rs index e105e81b1..7fa0f1ad6 100644 --- a/crates/codex-plus-core/src/ports.rs +++ b/crates/codex-plus-core/src/ports.rs @@ -16,6 +16,28 @@ pub fn select_platform_loopback_port(requested: u16) -> u16 { ) } +pub fn select_packaged_codex_debug_port(requested: u16) -> u16 { + select_packaged_codex_debug_port_with( + requested, + cfg!(windows), + can_bind_loopback_port, + find_available_loopback_port, + ) +} + +pub fn select_packaged_codex_debug_port_with( + requested: u16, + is_windows: bool, + can_bind: impl Fn(u16) -> bool, + find_available: impl Fn() -> u16, +) -> u16 { + if is_windows { + requested + } else { + select_platform_loopback_port_with(requested, is_windows, can_bind, find_available) + } +} + pub fn select_platform_loopback_port_with( requested: u16, is_windows: bool, diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 4809bf35e..97b2886fd 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -263,7 +263,7 @@ pub fn apply_relay_config_to_home_with_protocol( "OPENAI_API_KEY": bearer_token }))?; let backup_path = - write_codex_live_atomic(home, Some(&updated), Some(auth_contents.as_bytes()))?; + write_codex_live_atomic(home, Some(&updated), Some(auth_contents.as_bytes()), false)?; let status = relay_config_status_from_home(home); Ok(RelayApplyResult { config_path: status.config_path, @@ -290,14 +290,27 @@ pub fn apply_relay_files_to_home( home: &Path, config_contents: &str, auth_contents: &str, +) -> anyhow::Result { + apply_relay_files_to_home_with_computer_use_guard(home, config_contents, auth_contents, false) +} + +pub fn apply_relay_files_to_home_with_computer_use_guard( + home: &Path, + config_contents: &str, + auth_contents: &str, + preserve_computer_use_guard: bool, ) -> anyhow::Result { if config_contents.trim().is_empty() { anyhow::bail!("config.toml 内容不能为空"); } std::fs::create_dir_all(home)?; - let backup_path = - write_codex_live_atomic(home, Some(config_contents), Some(auth_contents.as_bytes()))?; + let backup_path = write_codex_live_atomic( + home, + Some(config_contents), + Some(auth_contents.as_bytes()), + preserve_computer_use_guard, + )?; let status = relay_config_status_from_home(home); Ok(RelayApplyResult { @@ -361,6 +374,20 @@ pub fn apply_relay_profile_to_home_with_switch_rules( home: &Path, profile: &RelayProfile, common_config_contents: &str, +) -> anyhow::Result { + apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + home, + profile, + common_config_contents, + false, + ) +} + +pub fn apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + home: &Path, + profile: &RelayProfile, + common_config_contents: &str, + preserve_computer_use_guard: bool, ) -> anyhow::Result { let selected_common = if profile.use_common_config { filter_common_config_for_profile(common_config_contents, profile)? @@ -378,10 +405,20 @@ pub fn apply_relay_profile_to_home_with_switch_rules( )?; if profile.relay_mode == crate::settings::RelayMode::PureApi { - apply_relay_files_to_home(home, &config_with_limits, &profile.auth_contents) + apply_relay_files_to_home_with_computer_use_guard( + home, + &config_with_limits, + &profile.auth_contents, + preserve_computer_use_guard, + ) } else { let auth_contents = official_profile_auth_for_switch(home, &profile.auth_contents)?; - apply_relay_files_to_home(home, &config_with_limits, &auth_contents) + apply_relay_files_to_home_with_computer_use_guard( + home, + &config_with_limits, + &auth_contents, + preserve_computer_use_guard, + ) } } @@ -414,7 +451,7 @@ pub fn apply_relay_config_file_to_home( } std::fs::create_dir_all(home)?; - let backup_path = write_codex_live_atomic(home, Some(config_contents), None)?; + let backup_path = write_codex_live_atomic(home, Some(config_contents), None, false)?; let status = relay_config_status_from_home(home); Ok(RelayApplyResult { @@ -445,7 +482,7 @@ pub fn apply_pure_api_config_to_home_with_protocol( "OPENAI_API_KEY": bearer_token }))?; let backup_path = - write_codex_live_atomic(home, Some(&updated), Some(auth_contents.as_bytes()))?; + write_codex_live_atomic(home, Some(&updated), Some(auth_contents.as_bytes()), false)?; let status = relay_config_status_from_home(home); Ok(RelayApplyResult { config_path: status.config_path, @@ -560,6 +597,14 @@ pub fn clear_relay_config_to_home(home: &Path) -> anyhow::Result, +) -> anyhow::Result { + clear_relay_config_to_home_with_auth_and_computer_use_guard(home, auth_contents, false) +} + +pub fn clear_relay_config_to_home_with_auth_and_computer_use_guard( + home: &Path, + auth_contents: Option<&str>, + preserve_computer_use_guard: bool, ) -> anyhow::Result { std::fs::create_dir_all(home)?; let auth_bytes = match auth_contents { @@ -584,7 +629,12 @@ pub fn clear_relay_config_to_home_with_auth( ] { updated = remove_root_key(&updated, key); } - let backup_path = write_codex_live_atomic(home, Some(&updated), auth_bytes.as_deref())?; + let backup_path = write_codex_live_atomic( + home, + Some(&updated), + auth_bytes.as_deref(), + preserve_computer_use_guard, + )?; let status = relay_config_status_from_home(home); Ok(RelayApplyResult { config_path: status.config_path, @@ -990,10 +1040,33 @@ fn write_codex_live_atomic( home: &Path, config_text: Option<&str>, auth_bytes: Option<&[u8]>, + preserve_computer_use_guard: bool, ) -> anyhow::Result> { std::fs::create_dir_all(home)?; let config_path = home.join("config.toml"); let auth_path = home.join("auth.json"); + #[cfg(windows)] + let guarded_config_text = match config_text { + Some(config_text) if preserve_computer_use_guard => { + let notify_exe = crate::computer_use_guard::find_computer_use_notify_exe(home); + let marketplace_path = + crate::computer_use_guard::ensure_openai_bundled_marketplace(home)?; + let guarded = if let Some(marketplace_path) = marketplace_path.as_deref() { + crate::computer_use_guard::guard_config_text_with_marketplace( + config_text, + notify_exe.as_deref(), + Some(marketplace_path), + )? + } else { + crate::computer_use_guard::guard_config_text(config_text, notify_exe.as_deref())? + }; + Some(guarded) + } + Some(config_text) => Some(config_text.to_string()), + None => None, + }; + #[cfg(windows)] + let config_text = guarded_config_text.as_deref(); if let Some(config_text) = config_text { validate_toml_config(config_text, &config_path)?; diff --git a/crates/codex-plus-core/src/relay_switch.rs b/crates/codex-plus-core/src/relay_switch.rs index b995ee754..80c772a0a 100644 --- a/crates/codex-plus-core/src/relay_switch.rs +++ b/crates/codex-plus-core/src/relay_switch.rs @@ -3,8 +3,7 @@ use std::path::Path; use anyhow::Context; use crate::relay_config::{ - apply_relay_profile_to_home_with_switch_rules, backfill_relay_profile_from_home_with_common, - clear_relay_config_to_home_with_auth, relay_config_status_from_home, + backfill_relay_profile_from_home_with_common, relay_config_status_from_home, }; use crate::settings::{BackendSettings, LaunchMode, RelayMode, SettingsStore}; @@ -75,10 +74,19 @@ fn apply_selected_relay_profile( let result = if relay.relay_mode == RelayMode::Official && !relay.official_mix_api_key { let auth_contents = (!relay.auth_contents.trim().is_empty()).then_some(relay.auth_contents.as_str()); - clear_relay_config_to_home_with_auth(home, auth_contents)? + crate::relay_config::clear_relay_config_to_home_with_auth_and_computer_use_guard( + home, + auth_contents, + settings.computer_use_guard_enabled, + )? } else { validate_switch_profile_files(&relay)?; - apply_relay_profile_to_home_with_switch_rules(home, &relay, &common_config)? + crate::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + home, + &relay, + &common_config, + settings.computer_use_guard_enabled, + )? }; let status = relay_config_status_from_home(home); if relay.relay_mode == RelayMode::PureApi && !status.configured { diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index 64de7b5ea..c3f837d7a 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -159,6 +159,8 @@ pub struct BackendSettings { pub relay_profiles_enabled: bool, #[serde(rename = "enhancementsEnabled", default = "default_true")] pub enhancements_enabled: bool, + #[serde(rename = "computerUseGuardEnabled", default)] + pub computer_use_guard_enabled: bool, #[serde(rename = "codexAppPluginEntryUnlock", default = "default_true")] pub codex_app_plugin_entry_unlock: bool, #[serde(rename = "codexAppPluginMarketplaceUnlock", default = "default_true")] @@ -246,6 +248,7 @@ impl Default for BackendSettings { provider_sync_last_selected_provider: String::new(), relay_profiles_enabled: true, enhancements_enabled: true, + computer_use_guard_enabled: false, codex_app_plugin_entry_unlock: true, codex_app_plugin_marketplace_unlock: true, codex_app_force_plugin_install: true, @@ -544,6 +547,12 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + computer_use_guard_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ + "select-debug:9229", + "select-helper:57321", + "load-settings", + "apply-relay", + "computer-use-guard", + "start-helper:57321", "launch:9229", + "computer-use-guard-watchdog", + "inject:9229:57321", "status:running", "wait-codex", + "shutdown-helper:57321", ] ); } #[tokio::test] -async fn launch_lifecycle_does_not_apply_active_relay_profile_before_starting_codex() { +async fn launch_lifecycle_skips_computer_use_guard_by_default() { let temp = tempfile::tempdir().unwrap(); let app_dir = temp.path().join("Codex.app"); std::fs::create_dir_all(&app_dir).unwrap(); @@ -596,7 +652,8 @@ async fn launch_lifecycle_does_not_apply_active_relay_profile_before_starting_co handle.wait_for_codex_exit().await.unwrap(); let events = events.lock().unwrap().clone(); - assert!(!events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"computer-use-guard".to_string())); + assert!(!events.contains(&"computer-use-guard-watchdog".to_string())); assert!(events.contains(&"launch:9229".to_string())); } @@ -627,6 +684,7 @@ async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabl let events = events.lock().unwrap().clone(); assert!(!events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } @@ -677,7 +735,8 @@ experimental_bearer_token = "sk-test" handle.wait_for_codex_exit().await.unwrap(); let events = events.lock().unwrap().clone(); - assert!(!events.contains(&"apply-relay".to_string())); + assert!(events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } @@ -708,6 +767,7 @@ async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails( "select-debug:9229", "select-helper:57321", "load-settings", + "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", @@ -716,7 +776,7 @@ async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails( ); let status = status_store.load_latest().unwrap().unwrap(); assert_eq!(status.status, "running_degraded"); - assert!(status.message.contains("Codex 已启动")); + assert!(status.message.contains("Codex launched")); handle.wait_for_codex_exit().await.unwrap(); let events = events.lock().unwrap().clone(); @@ -753,6 +813,7 @@ async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() "select-debug:9229", "select-helper:57321", "load-settings", + "apply-relay", "start-helper:57321", "launch:9229", "shutdown-helper:57321", @@ -859,6 +920,7 @@ async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { "select-debug:9229", "select-helper:57321", "load-settings", + "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", @@ -1054,6 +1116,11 @@ impl LaunchHooks for FakeHooks { Ok(()) } + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + self.event("computer-use-guard"); + Ok(()) + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { self.event(format!("start-helper:{helper_port}")); Ok(()) @@ -1098,6 +1165,14 @@ impl LaunchHooks for FakeHooks { Ok(()) } + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + self.event("computer-use-guard-watchdog"); + Ok(()) + } + async fn write_status(&self, status: &str) { self.event(format!("status:{status}")); } diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index 5d15f7d41..e9ac06655 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -3,6 +3,7 @@ use codex_plus_core::relay_config::{ apply_pure_api_config_to_home, apply_relay_config_file_to_home, apply_relay_config_to_home, apply_relay_files_to_home, apply_relay_files_to_home_with_common, apply_relay_profile_files_to_home_with_context, apply_relay_profile_to_home_with_switch_rules, + apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard, backfill_relay_profile_from_home, backfill_relay_profile_from_home_with_common, chatgpt_auth_status_from_home, clear_relay_config_to_home, clear_relay_config_to_home_with_auth, delete_context_entry_from_common_config, @@ -2124,6 +2125,114 @@ requires_openai_auth = true assert!(!config.contains("[model_providers.custom]")); } +#[cfg(windows)] +#[test] +fn apply_relay_profile_to_home_with_switch_rules_does_not_preserve_computer_use_guard_config_by_default() + { + let temp = tempfile::tempdir().unwrap(); + let helper = temp + .path() + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use") + .join("26.608.12217") + .join("node_modules") + .join("@oai") + .join("sky") + .join("bin") + .join("windows") + .join("codex-computer-use.exe"); + std::fs::create_dir_all(helper.parent().unwrap()).unwrap(); + std::fs::write(&helper, "").unwrap(); + let profile = RelayProfile { + id: "relay-a".to_string(), + relay_mode: RelayMode::PureApi, + config_contents: r#"model_provider = "max_ai" +model = "gpt-5.4" + +[features] +js_repl = false + +[model_providers.max_ai] +name = "max_ai" +base_url = "https://max2.jojocode.com/v1" +wire_api = "responses" +requires_openai_auth = true +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-new"}"#.to_string(), + ..RelayProfile::default() + }; + + apply_relay_profile_to_home_with_switch_rules(temp.path(), &profile, "").unwrap(); + + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + assert!(config.contains("js_repl = false")); + assert!(!config.contains("[plugins.\"browser@openai-bundled\"]")); + assert!(!config.contains("[plugins.\"chrome@openai-bundled\"]")); + assert!(!config.contains("[plugins.\"computer-use@openai-bundled\"]")); + assert!(!config.contains(r#"notify = ["#)); + assert!(!config.contains("codex-computer-use.exe")); +} + +#[cfg(windows)] +#[test] +fn apply_relay_profile_to_home_with_switch_rules_preserves_computer_use_guard_config_when_enabled() +{ + let temp = tempfile::tempdir().unwrap(); + let helper = temp + .path() + .join("plugins") + .join("cache") + .join("openai-bundled") + .join("computer-use") + .join("26.608.12217") + .join("node_modules") + .join("@oai") + .join("sky") + .join("bin") + .join("windows") + .join("codex-computer-use.exe"); + std::fs::create_dir_all(helper.parent().unwrap()).unwrap(); + std::fs::write(&helper, "").unwrap(); + let profile = RelayProfile { + id: "relay-a".to_string(), + relay_mode: RelayMode::PureApi, + config_contents: r#"model_provider = "max_ai" +model = "gpt-5.4" + +[features] +js_repl = false + +[model_providers.max_ai] +name = "max_ai" +base_url = "https://max2.jojocode.com/v1" +wire_api = "responses" +requires_openai_auth = true +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-new"}"#.to_string(), + ..RelayProfile::default() + }; + + apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + temp.path(), + &profile, + "", + true, + ) + .unwrap(); + + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + assert!(config.contains("js_repl = true")); + assert!(config.contains("[plugins.\"browser@openai-bundled\"]")); + assert!(config.contains("[plugins.\"chrome@openai-bundled\"]")); + assert!(config.contains("[plugins.\"computer-use@openai-bundled\"]")); + assert!(config.contains(r#"notify = ["#)); + assert!(config.contains("codex-computer-use.exe")); +} + #[test] fn apply_relay_profile_to_home_with_switch_rules_preserves_unmanaged_live_context_entries() { let temp = tempfile::tempdir().unwrap(); diff --git a/crates/codex-plus-data/src/lib.rs b/crates/codex-plus-data/src/lib.rs index 5ab762e20..fe0a3fe44 100644 --- a/crates/codex-plus-data/src/lib.rs +++ b/crates/codex-plus-data/src/lib.rs @@ -10,4 +10,4 @@ pub use provider_sync::{ ProviderSyncTargetSource, load_provider_sync_targets, run_provider_sync, run_provider_sync_with_target, }; -pub use storage::{LocalSession, SQLiteStorageAdapter}; +pub use storage::{LocalSession, SQLiteStorageAdapter, delete_local_from_paths}; diff --git a/crates/codex-plus-data/src/storage.rs b/crates/codex-plus-data/src/storage.rs index 0a02b0d3e..e3c1f2ea3 100644 --- a/crates/codex-plus-data/src/storage.rs +++ b/crates/codex-plus-data/src/storage.rs @@ -10,6 +10,32 @@ use std::fs::File; use std::io::{BufRead, BufReader}; use std::path::{Path, PathBuf}; +pub fn delete_local_from_paths( + db_paths: impl IntoIterator, + backup_store: BackupStore, + session: &SessionRef, +) -> DeleteResult { + let mut result = failed( + &session.session_id, + "Thread not found in local storage".to_string(), + ); + let mut deleted_count = 0usize; + for db_path in db_paths { + let adapter = SQLiteStorageAdapter::new(db_path, backup_store.clone()); + let candidate_result = adapter.delete_local(session); + if matches!(candidate_result.status, DeleteStatus::LocalDeleted) { + deleted_count += 1; + result = candidate_result; + } else if deleted_count == 0 { + result = candidate_result; + } + } + if deleted_count > 1 { + result.message = format!("已从 {deleted_count} 个本地存储删除"); + } + result +} + #[derive(Debug, Clone)] pub struct SQLiteStorageAdapter { db_path: PathBuf, diff --git a/crates/codex-plus-data/tests/storage_adapter.rs b/crates/codex-plus-data/tests/storage_adapter.rs index 995f42996..a069ec0f0 100644 --- a/crates/codex-plus-data/tests/storage_adapter.rs +++ b/crates/codex-plus-data/tests/storage_adapter.rs @@ -1,5 +1,5 @@ use codex_plus_core::models::{DeleteStatus, SessionRef}; -use codex_plus_data::{BackupStore, SQLiteStorageAdapter}; +use codex_plus_data::{BackupStore, SQLiteStorageAdapter, delete_local_from_paths}; use rusqlite::Connection; use serde_json::json; use std::fs; @@ -83,6 +83,14 @@ fn create_codex_thread_db(path: &Path, rollout_path: &Path) { .unwrap(); } +fn thread_count(path: &Path, id: &str) -> i64 { + let db = Connection::open(path).unwrap(); + db.query_row("SELECT COUNT(*) FROM threads WHERE id = ?1", [id], |row| { + row.get::<_, i64>(0) + }) + .unwrap() +} + #[test] fn backup_store_writes_reads_and_sanitizes_tokens() { let tmp = tempdir().unwrap(); @@ -372,6 +380,32 @@ fn delete_codex_thread_schema_removes_related_rows_file_and_undo_restores_everyt ); } +#[test] +fn delete_local_from_paths_removes_duplicate_threads_from_all_databases() { + let tmp = tempdir().unwrap(); + let first_db = tmp.path().join("first.sqlite"); + let second_db = tmp.path().join("second.sqlite"); + let first_rollout = tmp.path().join("first.jsonl"); + let second_rollout = tmp.path().join("second.jsonl"); + fs::write(&first_rollout, "{\"type\":\"message\"}\n").unwrap(); + fs::write(&second_rollout, "{\"type\":\"message\"}\n").unwrap(); + create_codex_thread_db(&first_db, &first_rollout); + create_codex_thread_db(&second_db, &second_rollout); + + let result = delete_local_from_paths( + vec![first_db.clone(), second_db.clone()], + BackupStore::new(tmp.path().join("backups")), + &session("t1", "Codex Thread"), + ); + + assert_eq!(result.status, DeleteStatus::LocalDeleted); + assert_eq!(result.message, "已从 2 个本地存储删除"); + assert_eq!(thread_count(&first_db, "t1"), 0); + assert_eq!(thread_count(&second_db, "t1"), 0); + assert!(!first_rollout.exists()); + assert!(!second_rollout.exists()); +} + #[test] fn list_local_sessions_reads_codex_threads_ordered_by_update_time() { let tmp = tempdir().unwrap(); From 13d2242da1367a5b196d2c05de2761ba6b0556e0 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Sun, 14 Jun 2026 20:20:23 +0800 Subject: [PATCH 038/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 188802 -> 188190 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 8403f9cd40ecb69d8deb8dd4bac5ec6888a5366b..3b0e962fe41e7417ea18f0f285dfaa6f8465ac36 100644 GIT binary patch literal 188190 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

W^;Pv>hQY}{dZjgw(?Vbpmp-g(>X#d*h&W|a~* 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 ybSsM1u_vm^bb0Q0|r{ZSCj?_5l< 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 literal 188802 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 From 1dcb85a5beaa961feeb7d7a69bb1dec8d0521aa8 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Mon, 15 Jun 2026 00:33:09 +0800 Subject: [PATCH 039/156] fix: preserve user config during reset and launch --- .../src-tauri/src/commands.rs | 59 +++++++++++++++++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 1 + apps/codex-plus-manager/src/App.tsx | 15 ++++- crates/codex-plus-core/src/launcher.rs | 3 - crates/codex-plus-core/tests/launcher.rs | 41 ++++++++++--- 5 files changed, 105 insertions(+), 14 deletions(-) diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 3fe01003c..bdc31beba 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -1321,6 +1321,30 @@ pub fn reset_settings() -> CommandResult { } } +#[tauri::command] +pub fn reset_image_overlay_settings() -> CommandResult { + let store = SettingsStore::default(); + let mut settings = store.load().unwrap_or_default(); + let defaults = BackendSettings::default(); + settings.codex_app_image_overlay_enabled = defaults.codex_app_image_overlay_enabled; + settings.codex_app_image_overlay_path = defaults.codex_app_image_overlay_path; + settings.codex_app_image_overlay_opacity = defaults.codex_app_image_overlay_opacity; + let settings = normalize_settings_before_save(settings); + match store.save(&settings) { + Ok(()) => settings_payload("图片覆盖层设置已重置。", "图片覆盖层重置后重新读取失败"), + Err(error) => failed( + &format!("重置图片覆盖层失败:{error}"), + SettingsPayload { + settings, + settings_path: codex_plus_core::paths::default_settings_path() + .to_string_lossy() + .to_string(), + user_scripts: user_script_inventory(), + }, + ), + } +} + #[tauri::command] pub fn relay_status() -> CommandResult { let status = codex_plus_core::relay_config::default_relay_status(); @@ -2886,6 +2910,41 @@ mod tests { ); } + #[test] + fn reset_image_overlay_settings_preserves_supplier_settings() { + let temp = tempfile::tempdir().unwrap(); + let settings_path = temp.path().join("settings.json"); + let previous = codex_plus_core::paths::set_settings_path_for_tests(Some(settings_path)); + + let settings = BackendSettings { + codex_app_image_overlay_enabled: true, + codex_app_image_overlay_path: "C:\\Users\\me\\Pictures\\overlay.png".to_string(), + codex_app_image_overlay_opacity: 42, + active_relay_id: "supplier-a".to_string(), + relay_profiles: vec![RelayProfile { + id: "supplier-a".to_string(), + name: "供应商 A".to_string(), + relay_mode: codex_plus_core::settings::RelayMode::PureApi, + api_key: "sk-test".to_string(), + ..RelayProfile::default() + }], + ..BackendSettings::default() + }; + SettingsStore::default().save(&settings).unwrap(); + + let result = reset_image_overlay_settings(); + codex_plus_core::paths::set_settings_path_for_tests(previous); + + assert_eq!(result.status, "ok"); + assert!(!result.payload.settings.codex_app_image_overlay_enabled); + assert_eq!(result.payload.settings.codex_app_image_overlay_path, ""); + assert_eq!(result.payload.settings.codex_app_image_overlay_opacity, 35); + assert_eq!(result.payload.settings.active_relay_id, "supplier-a"); + assert_eq!(result.payload.settings.relay_profiles.len(), 1); + assert_eq!(result.payload.settings.relay_profiles[0].id, "supplier-a"); + assert_eq!(result.payload.settings.relay_profiles[0].api_key, "sk-test"); + } + #[test] fn normalize_settings_before_save_preserves_official_profile_auth() { let settings = BackendSettings { diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 2cec32d55..87ae71556 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -63,6 +63,7 @@ pub fn run() { commands::read_latest_logs, commands::copy_diagnostics, commands::reset_settings, + commands::reset_image_overlay_settings, commands::relay_status, commands::read_relay_files, commands::save_relay_file, diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 86113670c..4482d12b6 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -977,6 +977,15 @@ export function App() { } }; + const resetImageOverlaySettings = async () => { + const result = await run(() => call("reset_image_overlay_settings")); + if (result) { + setSettings(result); + setSettingsForm(normalizeSettings(result.settings)); + showNotice("图片覆盖层", result.message, result.status); + } + }; + const refreshAds = async (silent = false) => { const result = await run(() => call("load_ads")); if (result) { @@ -1365,6 +1374,7 @@ export function App() { saveSettingsValue, refreshSettings, resetSettings, + resetImageOverlaySettings, chooseCodexAppPath: async (mode: "folder" | "file") => { let selected: unknown; try { @@ -1652,6 +1662,7 @@ type Actions = { saveSettingsValue: (settings: BackendSettings, silent?: boolean) => Promise; refreshSettings: (silent?: boolean) => Promise; resetSettings: () => Promise; + resetImageOverlaySettings: () => Promise; chooseCodexAppPath: (mode: "folder" | "file") => Promise; clearCodexAppPath: () => Promise; chooseImageOverlayPath: () => Promise; @@ -2655,8 +2666,8 @@ function SettingsScreen({

对话居中宽度
开启后把主对话和输入框限制到固定最大宽度,适合大屏阅读。
@@ -3048,6 +3080,7 @@ let cachedSessionRows = []; let cachedSessionRowsAt = 0; + let threadIdBadgeActive = false; function sessionRows(forceRefresh = false) { const now = Date.now(); @@ -3112,6 +3145,113 @@ return { session_id: sessionId, title }; } + function threadIdBadgeTitleNode(row) { + return row.querySelector(`${selectors.threadTitle}, .truncate.select-none, .truncate.text-base`); + } + + function padThreadIdBadgePart(value) { + return String(value).padStart(2, "0"); + } + + function threadIdBadgeCreatedAt(sessionId) { + const timestampMs = uuidV7TimestampMs(sessionId); + const minReasonableMs = Date.UTC(2020, 0, 1); + const maxReasonableMs = Date.now() + 366 * 24 * 60 * 60 * 1000; + if (!timestampMs || timestampMs < minReasonableMs || timestampMs > maxReasonableMs) return null; + return new Date(timestampMs); + } + + function formatThreadIdBadgeCreatedAt(date) { + if (!(date instanceof Date) || Number.isNaN(date.getTime())) return ""; + return `${padThreadIdBadgePart(date.getMonth() + 1)}-${padThreadIdBadgePart(date.getDate())} ${padThreadIdBadgePart(date.getHours())}:${padThreadIdBadgePart(date.getMinutes())}`; + } + + function threadIdBadgeMeta(sessionId) { + const id = projectMoveSessionKey(sessionId); + const compact = id.replaceAll("-", ""); + const shortId = compact.slice(0, 8); + const createdAt = threadIdBadgeCreatedAt(sessionId); + const createdLabel = formatThreadIdBadgeCreatedAt(createdAt); + return { + id, + shortId, + createdAt, + label: shortId ? `[${shortId}${createdLabel ? ` ${createdLabel}` : ""}]` : "", + }; + } + + function wrapThreadTitleForBadge(row, titleNode) { + const parent = titleNode?.parentElement; + if (!parent) return null; + if (parent.dataset?.codexThreadIdBadgeWrap === "true") return parent; + const wrapper = document.createElement("span"); + wrapper.dataset.codexThreadIdBadgeWrap = "true"; + parent.insertBefore(wrapper, titleNode); + wrapper.appendChild(titleNode); + return wrapper; + } + + function removeThreadIdBadges(root = document) { + root.querySelectorAll?.(`.${threadIdBadgeClass}`).forEach((badge) => badge.remove()); + root.querySelectorAll?.('[data-codex-thread-id-badge-wrap="true"]').forEach((wrapper) => { + const parent = wrapper.parentElement; + if (!parent) return; + while (wrapper.firstChild) parent.insertBefore(wrapper.firstChild, wrapper); + wrapper.remove(); + }); + const rows = root.matches?.(selectors.sidebarThread) ? [root] : Array.from(root.querySelectorAll?.(selectors.sidebarThread) || []); + rows.forEach((row) => { + delete row.dataset.codexThreadIdBadge; + delete row.dataset.codexThreadIdBadgeVersion; + }); + } + + function installThreadIdBadge(row) { + const ref = sessionRefFromRow(row); + if (!ref.session_id) { + removeThreadIdBadges(row); + return; + } + const meta = threadIdBadgeMeta(ref.session_id); + const titleNode = threadIdBadgeTitleNode(row); + if (!meta.label || !titleNode) { + removeThreadIdBadges(row); + return; + } + + const wrapper = wrapThreadTitleForBadge(row, titleNode); + if (!wrapper) return; + + let badge = wrapper.querySelector(`.${threadIdBadgeClass}`); + if (!badge) { + badge = document.createElement("span"); + badge.className = threadIdBadgeClass; + wrapper.insertBefore(badge, titleNode); + } + + badge.dataset.codexThreadIdBadgeVersion = codexThreadIdBadgeVersion; + if (badge.textContent !== meta.label) badge.textContent = meta.label; + const fullTitle = meta.createdAt + ? `${meta.label}\nSession ID: ${meta.id}\nCreated: ${meta.createdAt.toLocaleString()}` + : `${meta.label}\nSession ID: ${meta.id}`; + badge.setAttribute("title", fullTitle); + badge.setAttribute("aria-label", fullTitle); + row.dataset.codexThreadIdBadge = meta.label; + row.dataset.codexThreadIdBadgeVersion = codexThreadIdBadgeVersion; + } + + function refreshThreadIdBadges() { + if (!codexPlusSettings().threadIdBadge) { + if (threadIdBadgeActive) { + removeThreadIdBadges(); + threadIdBadgeActive = false; + } + return; + } + threadIdBadgeActive = true; + sessionRows().forEach(installThreadIdBadge); + } + function codexPlusDiagnosticPayload(event, detail) { return { event, @@ -7978,6 +8118,7 @@ unblockPluginInstallButtons(); refreshForcePluginInstallUnlockLoop(); } + refreshThreadIdBadges(); sessionRows().forEach(tryAttachButton); syncActionGroupsLayout(); updateDeleteButtonOffsets(); diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index c3f837d7a..b3264f3c7 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -177,6 +177,8 @@ pub struct BackendSettings { pub codex_app_project_move: bool, #[serde(rename = "codexAppConversationTimeline", default = "default_true")] pub codex_app_conversation_timeline: bool, + #[serde(rename = "codexAppThreadIdBadge", default)] + pub codex_app_thread_id_badge: bool, #[serde(rename = "codexAppConversationView", default)] pub codex_app_conversation_view: bool, #[serde(rename = "codexAppThreadScrollRestore", default = "default_true")] @@ -257,6 +259,7 @@ impl Default for BackendSettings { codex_app_markdown_export: true, codex_app_project_move: true, codex_app_conversation_timeline: true, + codex_app_thread_id_badge: false, codex_app_conversation_view: false, codex_app_thread_scroll_restore: true, codex_app_zed_remote_open: true, @@ -561,6 +564,7 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map Date: Mon, 15 Jun 2026 11:15:18 +0800 Subject: [PATCH 043/156] docs: add icreat api sponsor --- README.md | 8 ++++++++ docs/images/sponsor-icreat-api.jpg | Bin 0 -> 21762 bytes 2 files changed, 8 insertions(+) create mode 100644 docs/images/sponsor-icreat-api.jpg diff --git a/README.md b/README.md index c922699e9..18ce97da5 100644 --- a/README.md +++ b/README.md @@ -157,6 +157,14 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 Unity2.ai
感谢 Unity2.ai 赞助了本项目!Unity2.ai 是面向个人开发者、团队和企业的高性能 AI 模型 API 中转平台,长期服务国内头部企业,日均承载超 300 亿 token 调用,支持 5000 RPM 级高并发。支持余额计费、首充赠额、组合订阅、企业开票和专属对接。通过
此链接注册可领取 $2 余额,加入官方群再送 $10 余额,最高可领 $12 免费额度。 + + + + iCreat API + + + iCreat API
感谢 iCreat API 赞助了本项目!iCreat API 是面向个人开发者、团队和企业的高性能 AI 模型 API 中转平台,稳定接入官方渠道,覆盖谷歌、火山、昆仑万维、腾讯云等开白名单资源。平台集成 Anthropic、ByteDance、OpenAI、DeepSeek、Google、Minimax、Kwai 等主流供应商,提供超 60 款模型调用,并通过统一控制台支持多维度模型筛选、计费类型管理和分组权限控制。支持 Pay as you go 与余额计费,企业用户可正常开票并获得专属对接服务。 + ## 交流与支持 diff --git a/docs/images/sponsor-icreat-api.jpg b/docs/images/sponsor-icreat-api.jpg new file mode 100644 index 0000000000000000000000000000000000000000..88ea158283d259697d7c7c607dbe76c6c376c7cf GIT binary patch literal 21762 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 Date: Mon, 15 Jun 2026 15:06:45 +0800 Subject: [PATCH 044/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 188190 -> 182553 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 3b0e962fe41e7417ea18f0f285dfaa6f8465ac36..47ebc4e185548615569163b63b0d024aa3467c1f 100644 GIT binary patch literal 182553 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%0AEgD{r{k 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 z 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%0Ae*Q~ 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

W^;Pv>hQY}{dZjgw(?Vbpmp-g(>X#d*h&W|a~* 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 ybSsM1u_vm^bb0Q0|r{ZSCj?_5l< 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 From 8ebce49ebcfac72c954cbfbd8133d86f20785d30 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E8=B1=86=E5=8C=85?= Date: Mon, 15 Jun 2026 20:02:59 +0800 Subject: [PATCH 045/156] fix: reduce sidebar hover ghosting --- assets/inject/renderer-inject.js | 17 +++++++---------- 1 file changed, 7 insertions(+), 10 deletions(-) diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 7a6af4282..6202f4ce2 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -328,14 +328,6 @@ pointer-events: auto; z-index: 2147483201; } - [data-codex-delete-row="true"]:hover [data-thread-title] { - display: block; - max-width: var(--codex-session-title-max-width, 100%); - min-width: 0; - overflow: hidden; - text-overflow: ellipsis; - white-space: nowrap; - } [data-codex-delete-row="true"].codex-archive-confirm-visible .${actionGroupClass} { right: max(66px, var(--codex-session-actions-right, 28px)); } @@ -6301,6 +6293,7 @@ function syncActionGroupLayout(row, group) { if (!row || !group) return; + if (group.dataset.codexActionLayoutStable === "true") return; const rowRect = row.getBoundingClientRect(); const nativeButtons = nativeActionButtonsFromRow(row); const leftmostNative = nativeButtons @@ -6320,6 +6313,7 @@ group.style.setProperty("--codex-session-actions-right", `${right}px`); row.style.setProperty("--codex-session-title-mask", `${right + groupWidth + 12}px`); row.style.setProperty("--codex-session-title-max-width", `${maxTitleWidth}px`); + group.dataset.codexActionLayoutStable = "true"; } function syncActionGroupsLayout() { @@ -6515,7 +6509,6 @@ const deleteReady = !settings.sessionDelete || existingDeleteButton?.dataset.codexDeleteVersion === codexDeleteVersion; const groupReady = existingGroup?.dataset.codexActionGroupVersion === codexActionGroupVersion; if (groupReady && deleteReady && !hasUnexpectedDelete && !hasUnexpectedMore && !hasUnexpectedExport && !hasUnexpectedMove && !missingDelete && !missingMore) { - syncActionGroupLayout(row, existingGroup); return; } removeActionGroups(row); @@ -7979,7 +7972,6 @@ refreshForcePluginInstallUnlockLoop(); } sessionRows().forEach(tryAttachButton); - syncActionGroupsLayout(); updateDeleteButtonOffsets(); scheduleProjectMoveProjection(); scheduleChatsSortCorrection(); @@ -8094,6 +8086,11 @@ window.__codexPlusResizeHandler = () => { cancelAnimationFrame(codexPlusResizeRafId); codexPlusResizeRafId = requestAnimationFrame(() => { + sessionRows().forEach((row) => { + const group = actionGroupFromRow(row); + if (group) delete group.dataset.codexActionLayoutStable; + }); + syncActionGroupsLayout(); updateFloatingCodexPlusMenuPosition(document.getElementById(codexPlusMenuId)); runScanStep(refreshConversationTimeline); runScanStep(refreshConversationView); From afd6d60638b03b8751ef4aef48c69a941083c8d1 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 16 Jun 2026 10:52:38 +0800 Subject: [PATCH 046/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 182553 -> 185100 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 47ebc4e185548615569163b63b0d024aa3467c1f..3c98832b491c62c06aa441135e59f0b4e5ad2197 100644 GIT binary patch literal 185100 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 literal 182553 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%0AEgD{r{k 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 z z?0l92p?_1yvy%Yb%QXCj@NOan7p?c+v!74@o%49WulS04sNQW?$#Ac?|o&6@l->uOz>+eez~e6lip+?VbTdnjbWi&fImmk53-h#GRle0izK0 zB$cp#qdp{)qX=>32URK0oQ8Gv&KqeHac4RcF2;2;L~Y7C&Hl-cdU*WIr5MA3J8?I| zU+{@W7PHON8Mb0KqemKS}~7A@}0v-m;^A#3JRnN6wH@hg9ON!HpIr~3E|EX zwNIc=zp<`K^=2;4>^^#8xg$2PU9*C%N1M7gMg}1soPmt~{DGQq|6ONr( zkXQ}XU6{n#cF-q=hQS2^>D0IY{OFJ6p zrH6$7toG~uEToMOz**qZfG>pEJ*hIe%>jIAgI1))zY<0qp|kMklbn%J-m`cTYG6(3 zWxK*;GJM_PiDh7;s+6#n$E4h}w;-lt1ndAJkXP)T$!A<#f2OTUGAR1glZWzaUe0#x zl9*z;toh46Nku8oUSz9gS7jRz3`u#e;Jp0<=74`I1;Ri5M3WLjT0`(Tj@@%S;^4eC zLXGl@<)MDZp0cl$5o*II%Kem^UVjeX(4s`ro6-<_=fSPu&nDDJig`0K{dleE)?VD2 zlm@)>>H_ob>i|WchVL+_L>0~nmq>6;*p*Ya2IuKNu-YEfCxnC0j$rc`lKsB})VJ-)Ba%(z*S-cyf)jo|((1hkwa?jBio8_|a z310oueli^TI^op^>%@j0O`lD`lkz^1q-vLut-3SHr|%4Tdxk`KV2`Ta!X_((`Yi8S zr=r0LlT@1d7gDD}j|%!m0Vd_RQVVj6rt~Kh=0QQuPC}5BFLDadW<~=-jlty)+<851 z#&>)TboPAgw9iq-fa0b_P(-srB`taE#R*i!$3mWWgfqgkVw*T9MHpNSsRI^w4=_g) zZ^)H&;|v1uKY(@8v4!m5n5mw#oi3AhEr$b9(&M5sk5sYWu{D*HlUoEc#&H(q?q? zP?61Hc7)1UDCQ{arH~hUb+x7#xuK`nqe)xfz(FG|(4IMgo*=EB^j^fq4d6n+_l~JU zHgS=EA>4Ec^O-I=2c@PQ1AMjjF;Uzx%}B39zXFASW53rB;8f%fv~ZF5iJ76b?Nx5g zZ0BcZ1<6AlI3AW*l8l_Pwx^X>N$M&nBxuUTJ^fStCwlZ?7 z`w`K^Lv&fC=7pZvm(@GtW_)5|8>sJcLmt!X;2FSj45l|dngs3A*F->ym$njWtWm_E z1n9oCnEh)PlLPi%Y8zKddU-qIt&51AlVxet6gk}9P8h(6nOww10*|(+N>mx;6JG3G z*Xuhxt^RWc=nq~Dvx!MQiG6i%>`6mWxH3cAzE$sUYOJoYYW7=g9y2{`e<2e?|iBTHtE$N`DLHmWl@E$pGjz9{U7n_Q9o?%g|j zhbxnw&8m6ZOF;9q3J2wW^^7LajTI_sVJ={QBw0Z9rhB3=98$y;TNqUFwbH9Yj*m0W z&Q^yF8BQM6)S>7J!FNsai>vnD?jWw2B`Jz8v zbl!$lcH*+C8Eip>7%jswDitF@SFDxcle4`Q1LVkGY)}SO3L3 zb38@)Jx_`gOe$<|=r)oQEqJ6bFQRPft1h&Y1&3m!Uor=;c46!w6Lx1_i7uN(_NKmpg%ehefhT68ziFpxjF%I*c1v}vRBY~T z@H}3LE+E*1+~bx8U=yh5td`*th`D5s$u+>K0dXPFv*D3byHCW-KmOjHY1jJ# zs`@QKG zz?Lwl@ukeXWY}&G(e%!xEMI=CXT;lf>_xl$HAQjJ{O`(KhMFS3Jz5cW;Jf@=341j7 zp1gI1#UXCi#`$U$itE$|=kDous>z+SLI1Ls4DYfRYrGZvCw z(*aoS`XizRuPEa4UD&sFEm^zEan0~6)>V`p`Xz5}u=5wd&OeV9yQ0N_*L@q~lxag@(q838IYLSxSn zilIY!eI+R(h4!NNbCQRj(8Y#W=+`9JMNpj~UfudT_6w34p$QyCN76s=UcZ;YzHXtp zht=^X$Q+zrW|K*Y>6qt9b@ny&=L5|OL|~EU61ZCBZ6)4#J12d1<<4|y7hhK2ncjKk z&t9PDjn=rO(DEK1?<{;*%cvM+ad-4;p3gx&mNq?drQ);AWo1?i#ToV6JGdic!4^dL zHIINem1mf;_wHQFWud1}c&&CqlgHzOh`s(Kd7!L%{}+Nf5E|?iPVK~?1wYwOjG)X7 zM6^0|&y}1rE|NXOvikM1q(B?nx?`rgbr)#!*-m{aI=Ro>2^PFFE+3Remm0#j!8qM( z-gUpdVH-Xb{*^78m8WAl_U+beZqP5ZD9|c)IPcJF!8fu*Abb7OldYbxcH5Vuk6#Kt zs`N3OfA-Em+%Htu(ooEQYo=n${1EEe^}5uZtG)7yUU$`!te<M#xUoRRVpR^ccRTTCWl9&~HsNtb-QM$1$sG6>cnO%=aq(B6zRY(qK}dDLj0AuO%=iNtGZp7af-4$Jqh!uv^BArbTo0BKXv=rNnJ_RJG;+ipmnIq zm307lU5)=jd@(fMt?yLuucW9MvmU_YNJ+_;u7AkLQzqVI+Q*;u`%2HnLAQo&aVM z0L9HqDRH3Jx-sH8K#o!fdW0L}I9&iWHocZLbIWDA2PQ6hHRHnNcheSk+K)3>f;!Tw zVpiT!+G-RZ@0qR`PmgBgnBex5{`sbh_|rWdCfr66ga{N)jsgR3;R43z36gf?_+9Ev z@D^z^N_+G)kZ)B%RUi|ZyY*VH-dvOrRoBjX5L``g$6P%^E(Oq$?TBbtZi~nnIk)qoyc<2PHOwlT-w>&pd?p zo597^!*2o+r{giwvWG|<-uTPq&jn`~|1ceY-UHRV?dRBzgrkGN-AZwoIv71FK19oW zniyX%GL9-98Z#hGZfnunZiW7uHph=MF&zp03C28qOCg|18%}2WtzG`!cH(PHx#P`7 zC#|!{qf|w3rMT&yeKs&wS<(AW4>P%f4M~WIhjs&XePtSQCNDc|Tw+-)P^t*yH%L;( z)0tDVZ|wR!y>CZ7lIjwY7gTEtnyJ{g?1gH)M~OC#YHc|F4gxWSuZIL~&N8HFM^vu^ zzX8~eP=EivwX7O^?XZOYQv)d|v+vE=IlnfK-sL&$s0!V<2*jv;0EpKwf`GS+)Yhc< z*$ye3>vzq!Ip6<0)n?F`Mf0Sp^akp;!&>#U1AB`SU;2EC$75-okLP}bUYE$xP9bAM zF>`*s06%zx-7QcL^jLnTB-pdf+F{&75F!~Kvu_G8lr>;HwZ-3OX$ibmJ90wn#Ni*f z`=8L(*?%GTf37IEg&se_CnG%G;xCn{RX9-i3pW}=H`au2bH)4<0Z=#RpkAWbNDyuh z(fQPGPdM@X#Is)F9I0{++F^_@U!3HopIodzR9jg(;9ONxlYvm_4B_~AJESEEDh+b$ zqIY?l=?LHwEoWoSI2P?+2hmOt;{R-q*}Gs1*%VjVjwF@;q@K11(h{G`jkZ8O-oEyz zM0JnRk${9)Pj3F7ilYAG`wa6)VYJ~?oT7%Px$tlAk6&B5Iq~j)+UnTX#;Yt1&SaQ- zsZO0kicrO4tjm%RY~v#xNd-2)bUJx@IGVqyG2-+#KN8BlsqrG#G!$ml5GM#KA=RHj zr8TO1W?;Q%#nrZ4U%k!@mG1gD6}l^5C0>&8SatUMW{)scEa6&3qUO;6uNzjk&gF}9 zFRb&-i#;U@A&d+6%`qLW&6C?)@I8Li2tc-vFa4Hgla>}5(L2Q`#?xwaeKTQ~$p%AY z1-667`ky+8j7lwz@IJhuv;0=A5YCB1Og@B~H^9?@FkZMtF`aU|V|1jsVk|L?^V`bV zHFhWZ`7uiisN5_l?(HtY*gsV@nCdPv9j(h;6S^Mj)pi*IF$|h%D(DoM1YIv z&Lw=WY5|v#w}W08I<%1F5|coEQiYAfY#7tUz^0D|_ViU@TaO+{IiX%5Bg3*u4n^zF zr|1Ly=f%I+Hbteq$>OMP8)tl*q&izK*O}agU;&4CN8%IwmL$(^-~d(#Gxvh32~gKn zKu#p#y+H3FGBkmzHH~GnS^mDV_qZ>=EPg`sT$mUn4|40VPpos*I>l|B9n&iZC|iOL zhWvH5UKX$d>?9>BBiMQ(WEW5Yp_}+bYEeY#nJ3j$y3hPpz|;Fj%`@(*O)?kYY!FYTHBG2YVvkT9C|6H=S+7Y>~nF+I5ga;f2X@*B zVH2G)(aR+8=(CM&tEc;6T_#yx)gKQ&W;#J+gHC21R?onCd>rm^$scR?^LUUe9oMGE zNcYQVt430;XD|Uf=sQW@Po{cQwem4oU+D+w8Yl06I%*Q^#wYC~*g93SMgvN86DB1(O_#6hURDlsuc?0;g~O9wLv~ zjum&z#6Bpb2W7n9DlB_7pBi#jQ@_Xt6<|;^SZ;%VV{(UMwJf<40?|mi%((1mk8xW+ z49t^W@aVqc*-?hO~8cNUt$6 zO0MzG0Kvd(D&VrRL@j6t%9aG6YLi{aNZK>QKNUD(Q26mK^}+!D%nXbrn{v0+sqZCT z*~U0*&ZSE(^s*XM%S<;Pc%fG*FnV|`a(~VI0I!dj(=VBt)0=>)&CbEOh@WI+D0&Ek zQfyJJpDx&*e`~hU#{FewuEOwmX~u3hN{M;`$wFAXOgQj|ByjgBwZL!d0zBQ^7Wpyc zaU$uBEvcMyo4@b$>3-fAf(oPF9v0TH&LwJ*IOMrNgVDaL9fZMhP zdqS)Ry;nE8*w(%8@Yvb4^>rOx{K#TNE$p1!jv-~&%KomY4S67B$lWu)HG#eg&N{yt z#6HvtA~ifH%Imo^&p)kF9nCwOLnTxzJ71Te1jep`cY4k z&bMrsDn)u$cC?OpsK;jDSsM1Zr#Tc^|`Bj zkX$)oo~{pld-~B7ud*uDV~7)t+dqTpH1^&jrS0ZEHrHVe1iEw$l*^?dud;sc0!OV+ z5i&^=(j)i>*S(xjnh$Z7xQGKRD3uBz`7QPYn$Q5l7W`?w0wuVurlfDhrLL@2*701m zzJ!yo46{un#Pw~kH9wgh7*+Obt!arK65>^Z-ZS2^Gc!yKCO9Usnz>jP@FXF$w}8ee zbf4U6!_Wiz{+1*E zHP6olay$NPJmnMidHrdMZH59q(w6kAtuVi7!m71}mCxJpF!r6V!D%zC($>I*6<|=0 zyBYxx0GyGR>in?0n7J%UG6)hN4}t^}_1u)g>DGnk6J1TC(lrKoKEka1AFg~<{`PU~ zjTlEFNUG(>lFuHzQF3dgg~x=%n;Qd8E!XVrGOt#nMveSC#n~D+d-&(E5X4;3B4(Qm zcBAws^Jw_SRjMHvHDISU&+170B4JxGoW*!E1x=;QuAHR+o-c;dzp>L-GnJ6YRWqhMFx@alx=>9pQAWQ zFhWxW?fuYHVxn)c!2G<)S!OMrPSu|B!1h)cKl)51*}j4!Z=j(6_KFf5KM%$+$-3uB>@X`u$U7Dcj%Ud(tw_#Q&8yqyd~TM@B5!#!5PS^m;}T}-F_P(8422XTNM7(3dR)c)MR&{J09u|c0l9?zwnlW&AOn~JTXIyJe@ zSfc~T!Ois?Lx?Z9YA}GTJ zezzIKEWaZhyv8<;6aA1>Usp8d9^;um()n=aWX8<7Vf(kT)K8bCNwSe`U>$3g56wXa3DTpfmj2elzxD8 z4*~CX&^Ak2;h}tg!LljP+$J*{E zg)o{JnSdQ`-G<~vv76$*l#)}E6^jBsckw;Q>*hTYn>vo?Rlf}ihZG_e=mVIIt3|+R z6&IvO9*1~SkZl;&EHZO!YKBm4zZX+ZS51{p=aEOwOmVAWVPQS@iDjsSrXaznBxzz< zhxaqJGi9%t{RVDx0~=O<;`3if!q|VX{|p`OlN?m>+{xx(mrOf-KSpT$l~T`Jy;E;} z#`k1&Znh-Q5s~S*1Fsv^`%^QwdHy|B< zsiNNht=qTtRwxsv^sBZR21%#et}<1{Ac+Is#CzrAP&(fD8$&>-)<-QfF>Hs(0>Z*!7;J=%66ljAX{Y_9VBT*-%Jb+pQ(Xg&G+tfPh( z-#g**n0(re=liF2LK2&mB5!qUrGvw;)H+Zfa@!+AwD0`tN%x?7EdSt((Hkd3FQ)u1 zi{;;(+MLbx!;tdOOo(}hNOHzM-v|Ig^u$jnzsp0L2`lfenMDM1^T|tlULV_eG%M=U z9}8}?fS5L=Fw(;p0Xn7W(|;6x}rCTKT1MEhr1IcXNwGH{oMX<3-LJG38Hr`D*(kYi364_C)F_LgWJd&hWuZPJ)?yXu~B)XmR9_U({56tM@dt0prE=)E*nms9Jk?8r--WIXJGt~;M=}uRE>hxv zXlBtTQd=hJ=Hkw6YCS*{$@Lz zgud1(V!QN5_RQ5|x)Q`4;TK}?2e9%7h|+axG?x1xhW_7-KQ;u7$)>E020px|tW|yJ zrWc=lG)yn#a%1EAXwApng>A6M5i_CS4MGo$1mA5 zf)2)-v{cO8{UH#xz-&5O#|31AGRtwy+5rXwUn%wTHp z=f!>Xcm7js15n5X^}T!lD!Wwm6FD6j<{xJqOf%FCwR;osQ?9U6Vtec8O^!Ws=R(mV zpqEpdPGCj_G<`8q49nGbm2Y4ZJF9Vevx`?}o4?b8AdZ&F@eow^XfJT+yg#p!G{JW! zRa{4Y>aB#jb-s1egaUv7dDaI(Hh?)@ETDt+%#@<(b&(}s_ffan%9`sFB|nc9yx^*R zRLZ5XAn}vjfZAz=vqna*6KzSfiJW}tH(rVg)~w%I03UU;S}IF*d7Q|z529F|SIfX< z0f5^)JVOOOvQ!4x`Uehy$Nahqf ze^*`cCqzu}68(kGi`!iaomsOFOj>`a6h9{iF(=sW&TjjGRb7+^Xe4293maUK8{=zI z&r`I@bZ~*yywFs-m)E2 zZW4buN&3p?MKjn36wV(PrF|UJ35p`q!WA)_9u`nMRSMLd(!lc6QQGH)#!M}S8?8o4d+skY;2$R-8dJ$&Yq1s{^84NUL&3NI#A{f0V@v-+ zs3}FT-w68iqH?)_gK_#@pfH4+qLD4p}SBm`B$0 zlh5zg50$wodPP4|UVA9b^?I~fX0kte$^9f_DrvHraG2s@A-H!Tfw{cbGSuPw93xTm z)zp6cxb-!CK8W>Ma1FWuS!=P5cn(!uoN|#ZpoTY-#5E*L_4tsR$z`rX@tam)v^3Sb z{Nq+-t3n49yM1~k_~DFF4~BCXUQ5Ee(;NZ>yJy)76I$$63{D$D-ZyH z9>ZHek7uDTkRqPuf5>{j_@XfYKK`<{!+PAynPF$yJ^;8{U^#smDq2M&-}ih(whK~g z64IqrB{iV-3;DvT%WZ*MOS^L0@nFpq%5#m#~%Z(c1DQSHABkQwD`4a6<^LQ-9Wne2&K0I$?$GWBOG@jfFHjHd04t-&}{)u>e z^yHZ4S;kXB&|=+>*ngvB;B#%~5Mw|+My${llEL=ou>Nc?V)f8^{irB9%8Wq_0SC(iBMQLeBaaH7fPtpeioD3%K_0Ov4^R z7RLCVa!gXDOupv z-lI}?@t>cb3B+xH_7P%XYjPka9IikDj86C#nDGJvrDlCGllA_pQ%QOBP#<3?>vd_L zwk#{YhY+rm^L!SEegN}!Ri7o~4EoxPsYcW2xzP_Lh-7a8D5LyJkZk-MI7CTmI3Np; zh#+}WNrQm>6-Q8N(zXGIlmy5r?-I-jT#6gx>N0yBd;0{x%~b)=0ETc;SXyXX*3hD1 z@1a!K#Am{^2~``o0)ZHkEQYRFK>v=|FkV3{mrd@SDeQAQ6d#v6;#PB8)!DpSdXLD0al=3vx{FHy{yrH0p~-fjQa>QS z;r}MTeNlR?BCatHFPEE&xG2G(+s#(D?_8a_ zki1>MYc6&+75{O&h-b7>O5g#T^TN+J()1J61#~VHm-}40IZV=BsG7}3IbVA7uoy%uq+!)z>o~+2 zW!IFh6s{m$PNId{w90uu{`BqJa!G6$OVEoBZUnv3uWm|ZX{k%*cncth_z7Th zl>J*O$v@?IfvC-yz;}=FM(^4>F3B>v`<}QA(%q;)8Tidk;Yil#+Rx*?{9|8?Q>i*DOY?He-2~48l`?;!mRki>Z>@a`hrZ zF@BhQsryyw{l0DX96T-2Y~pO~j`LNRky^TO3YPW&_?bGzN^O%HY954b?y7&?LXRpr zNEaFRNIQ*Exsql&@IHp_7<2Y(SQ2+>#hHPpK(ZrtkCHHpd`3ll8vpJ0W~`vdt}CS| zn#ISN2?KVOvl!Y(mvZbI3|ZOVFh>|GP2q6?BJU# z{nFKy_+dxYwH($vjKzIyOiw$-eL5C>n$dypC1T0=K1%0xYN$s2v{kqN3=w< zb3L2dbCpU^r@aHjbCEk@%^p+(FZP>3QeT?$VusBY{zW_YG%0vYKbw$FnrsreJ?fPw zZ+NSAy!%+Zjf?zh*wZ8yHi@d);Z}6mJ_68;y`W$q;a?c=Klv*>s1Sk?1esl?w>E3% zYpSZF^e!u0wLgkz@@;k(`6D~Y*Dru9>2xnTs`!ddTVx(MlR ze$Cz7S2uzgu?*2_ZpMge%HWnS z?A>PB9ADS8_>mS8SIE;@G#w<}hrw9l%0Ae*Q~ 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 Date: Tue, 16 Jun 2026 22:49:59 +0800 Subject: [PATCH 047/156] release: prepare v1.2.10 --- Cargo.lock | 8 +- Cargo.toml | 2 +- README.md | 14 +- README_EN.md | 12 +- apps/codex-plus-launcher/src/main.rs | 11 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/src/commands.rs | 110 ++++++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 2 + .../src-tauri/tauri.conf.json | 2 +- apps/codex-plus-manager/src/App.tsx | 105 +++++++- apps/codex-plus-manager/src/styles.css | 68 +++++ assets/inject/renderer-inject.js | 81 +++++- crates/codex-plus-core/src/codex_home.rs | 96 +++++++ crates/codex-plus-core/src/codex_sqlite.rs | 10 +- crates/codex-plus-core/src/env_conflicts.rs | 232 +++++++++++++++++ crates/codex-plus-core/src/lib.rs | 2 + crates/codex-plus-core/src/model_catalog.rs | 5 +- crates/codex-plus-core/src/relay_config.rs | 4 +- .../src/upstream_worktree/remote.rs | 12 +- .../src/windows_integration.rs | 70 ++++- crates/codex-plus-core/src/zed_remote.rs | 6 +- crates/codex-plus-core/tests/cdp_bridge.rs | 16 ++ crates/codex-plus-core/tests/launcher.rs | 5 +- crates/codex-plus-data/src/lib.rs | 2 +- crates/codex-plus-data/src/markdown.rs | 245 +++++++++++++++--- crates/codex-plus-data/tests/markdown.rs | 102 ++++++++ docs/images/sponsor-codelf.png | Bin 0 -> 9106 bytes 28 files changed, 1113 insertions(+), 115 deletions(-) create mode 100644 crates/codex-plus-core/src/codex_home.rs create mode 100644 crates/codex-plus-core/src/env_conflicts.rs create mode 100644 docs/images/sponsor-codelf.png diff --git a/Cargo.lock b/Cargo.lock index 7736b2afa..61585cfc9 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.9" +version = "1.2.10" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.9" +version = "1.2.10" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.9" +version = "1.2.10" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.9" +version = "1.2.10" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index b8828d42f..c36d8e051 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.9" +version = "1.2.10" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/README.md b/README.md index 18ce97da5..1a9542331 100644 --- a/README.md +++ b/README.md @@ -101,14 +101,6 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 0029云桥|codex api中转站(gpt5.5 gpt-image-2)
支持个人和企业接入。包月套餐/按量计费,Pro/Plus 号池,全站接口稳定可用,7×24 小时技术支持! - - - - RawChat - - - RawChat|Codex 中转站
老牌中转站,支持包月套餐。低倍率调用,高缓存命中,Pro/Plus 号池,全天专人维护。 - @@ -165,6 +157,12 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 iCreat API
感谢 iCreat API 赞助了本项目!iCreat API 是面向个人开发者、团队和企业的高性能 AI 模型 API 中转平台,稳定接入官方渠道,覆盖谷歌、火山、昆仑万维、腾讯云等开白名单资源。平台集成 Anthropic、ByteDance、OpenAI、DeepSeek、Google、Minimax、Kwai 等主流供应商,提供超 60 款模型调用,并通过统一控制台支持多维度模型筛选、计费类型管理和分组权限控制。支持 Pay as you go 与余额计费,企业用户可正常开票并获得专属对接服务。 + + + Codelf + + Codelf
Codelf 是内置自主式 AI Agent 的桌面应用,也是一款完整编辑器。它支持用自然语言开发项目、整理资料、操作电脑和调用本地程序,国内可直接使用,支持多家大模型,并通过高上下文缓存命中降低使用成本。 + ## 交流与支持 diff --git a/README_EN.md b/README_EN.md index a30f59b39..1743c5f51 100644 --- a/README_EN.md +++ b/README_EN.md @@ -103,19 +103,17 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in - - RawChat + + VisionCoder - RawChat | Codex Relay Station
A long-running relay station with monthly plans, low-rate usage, high cache hit rates, Pro/Plus account pools, and dedicated all-day maintenance. + VisionCoder Developer Platform
Thanks to VisionCoder for supporting this project. VisionCoder Developer Platform is a reliable and efficient API relay service provider, offering access to mainstream AI models such as Claude Code, Codex, and Gemini. It helps developers and teams integrate AI capabilities more easily and improve productivity. VisionCoder is also offering our users a limited-time Token Plan promotion: buy 1 month and get 1 month free. - - VisionCoder - + Codelf - VisionCoder Developer Platform
Thanks to VisionCoder for supporting this project. VisionCoder Developer Platform is a reliable and efficient API relay service provider, offering access to mainstream AI models such as Claude Code, Codex, and Gemini. It helps developers and teams integrate AI capabilities more easily and improve productivity. VisionCoder is also offering our users a limited-time Token Plan promotion: buy 1 month and get 1 month free. + Codelf
Codelf is a desktop app with an autonomous AI Agent and a full editor. It can help users build projects, organize materials, operate local apps, and work with multiple AI model providers through natural language, with direct access in China and high context-cache efficiency. diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 6de89e23b..359ce3da8 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -455,11 +455,12 @@ impl BridgeDataService for LauncherDataService { } async fn export_markdown(&self, session: SessionRef) -> anyhow::Result { - let export_service = - codex_plus_data::MarkdownExportService::new(Some(self.db_path.clone())); - tokio::task::spawn_blocking(move || export_service.export(&session)) - .await - .map_err(|error| anyhow::anyhow!("export markdown task failed: {error}")) + let db_paths = self.candidate_db_paths(); + tokio::task::spawn_blocking(move || { + codex_plus_data::export_markdown_from_paths(db_paths, &session) + }) + .await + .map_err(|error| anyhow::anyhow!("export markdown task failed: {error}")) } async fn thread_usage_history(&self, session: SessionRef) -> anyhow::Result { diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index f3c4f4712..40952518c 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.9", + "version": "1.2.10", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.9", + "version": "1.2.10", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index fa129b3a1..6bc777ea7 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.9", + "version": "1.2.10", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index bdc31beba..c755a417b 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -161,6 +161,26 @@ pub struct RelayProfileModelsPayload { pub endpoint: String, } +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EnvConflictsPayload { + pub conflicts: Vec, +} + +#[derive(Debug, Clone, serde::Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct RemoveEnvConflictsRequest { + pub names: Vec, +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct RemoveEnvConflictsPayload { + pub removed: Vec, + pub backup_path: Option, + pub remaining: Vec, +} + #[derive(Debug, Clone, serde::Deserialize)] #[serde(rename_all = "camelCase")] pub struct SaveRelayFileRequest { @@ -1373,6 +1393,45 @@ pub fn read_relay_files() -> CommandResult { } } +#[tauri::command] +pub fn check_env_conflicts() -> CommandResult { + let conflicts = codex_plus_core::env_conflicts::detect_env_conflicts(); + let message = if conflicts.is_empty() { + "未检测到会覆盖 Codex 供应商配置的 OPENAI 环境变量。" + } else { + "检测到可能覆盖 Codex 供应商配置的 OPENAI 环境变量。" + }; + ok(message, EnvConflictsPayload { conflicts }) +} + +#[tauri::command] +pub fn remove_env_conflicts( + request: RemoveEnvConflictsRequest, +) -> CommandResult { + let backup_dir = codex_plus_core::paths::default_app_state_dir().join("backups"); + match codex_plus_core::env_conflicts::remove_env_conflicts(&request.names, backup_dir) { + Ok(result) => { + let remaining = codex_plus_core::env_conflicts::detect_env_conflicts(); + ok( + "环境变量已按确认项删除;重新启动 Codex 后生效。", + RemoveEnvConflictsPayload { + removed: result.removed, + backup_path: result.backup_path, + remaining, + }, + ) + } + Err(error) => failed( + &format!("删除环境变量失败:{error}"), + RemoveEnvConflictsPayload { + removed: Vec::new(), + backup_path: None, + remaining: codex_plus_core::env_conflicts::detect_env_conflicts(), + }, + ), + } +} + #[tauri::command] pub fn save_relay_file(request: SaveRelayFileRequest) -> CommandResult { let home = codex_plus_core::relay_config::default_codex_home_dir(); @@ -2676,6 +2735,57 @@ mod tests { assert_eq!(payload.auth_contents, "{\"OPENAI_API_KEY\":\"sk-test\"}\n"); } + #[test] + fn env_conflict_commands_ignore_codex_home_and_remove_openai_vars() { + let test_openai_name = "OPENAI_CODEX_PLUS_ENV_CONFLICT_TEST"; + let previous_openai = std::env::var_os(test_openai_name); + let previous_codex_home = std::env::var_os("CODEX_HOME"); + let temp = tempfile::tempdir().unwrap(); + unsafe { + std::env::set_var(test_openai_name, "sk-test"); + std::env::set_var("CODEX_HOME", temp.path()); + } + + let check = check_env_conflicts(); + assert_eq!(check.status, "ok"); + assert!( + check + .payload + .conflicts + .iter() + .any(|item| item.name == test_openai_name) + ); + assert!( + !check + .payload + .conflicts + .iter() + .any(|item| item.name == "CODEX_HOME") + ); + + codex_plus_core::env_conflicts::remove_process_env_conflicts_for_tests( + &[test_openai_name.to_string(), "CODEX_HOME".to_string()], + codex_plus_core::paths::default_app_state_dir().join("test-backups"), + ) + .unwrap(); + assert!(std::env::var_os(test_openai_name).is_none()); + assert_eq!( + std::env::var_os("CODEX_HOME"), + Some(temp.path().as_os_str().to_os_string()) + ); + + unsafe { + match previous_openai { + Some(value) => std::env::set_var(test_openai_name, value), + None => std::env::remove_var(test_openai_name), + } + match previous_codex_home { + Some(value) => std::env::set_var("CODEX_HOME", value), + None => std::env::remove_var("CODEX_HOME"), + } + } + } + #[test] fn delete_local_session_falls_back_when_requested_db_no_longer_contains_thread() { let temp = tempfile::tempdir().unwrap(); diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 8e3b4300a..8e13104bb 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -80,6 +80,8 @@ pub fn run() { commands::reset_image_overlay_settings, commands::relay_status, commands::read_relay_files, + commands::check_env_conflicts, + commands::remove_env_conflicts, commands::save_relay_file, commands::write_diagnostic_event, commands::backfill_relay_profile_from_live, diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 32945459c..2477003c4 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.9", + "version": "1.2.10", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 4482d12b6..30381a202 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -42,6 +42,7 @@ import { Save, Settings, ShieldCheck, + ShieldAlert, Sun, TestTube, Trash2, @@ -322,6 +323,26 @@ type RelayProfileModelsResult = CommandResult<{ endpoint: string; }>; +type EnvConflict = { + name: string; + source: "process" | "user" | string; + valuePresent: boolean; +}; + +type EnvConflictsResult = CommandResult<{ + conflicts: EnvConflict[]; +}>; + +type RemoveEnvConflictsResult = CommandResult<{ + removed: Array<{ + name: string; + removedProcess: boolean; + removedUser: boolean; + }>; + backupPath: string | null; + remaining: EnvConflict[]; +}>; + type ProviderSyncPayload = { syncStatus?: string; targetProvider?: string; @@ -574,6 +595,7 @@ export function App() { const [settings, setSettings] = useState(null); const [relay, setRelay] = useState(null); const [relayFiles, setRelayFiles] = useState(null); + const [envConflicts, setEnvConflicts] = useState(null); const [localSessions, setLocalSessions] = useState(null); const [zedRemoteProjects, setZedRemoteProjects] = useState(null); const [liveContextEntries, setLiveContextEntries] = useState(null); @@ -703,6 +725,30 @@ export function App() { return result; }; + const refreshEnvConflicts = async (silent = false) => { + const result = await run(() => call("check_env_conflicts")); + if (result) { + setEnvConflicts(result); + if (!silent || !isSuccessStatus(result.status)) showResultNotice("环境变量检测", result, { silentSuccess: true }); + } + return result; + }; + + const removeEnvConflicts = async (names: string[]) => { + const uniqueNames = Array.from(new Set(names.map((name) => name.trim()).filter(Boolean))); + if (!uniqueNames.length) return; + if (!window.confirm(`删除这些环境变量?\n\n${uniqueNames.join("\n")}\n\n删除前会写入备份。`)) return; + const result = await run(() => call("remove_env_conflicts", { request: { names: uniqueNames } })); + if (result) { + setEnvConflicts({ + status: result.status, + message: result.message, + conflicts: result.remaining, + }); + showNotice("环境变量清理", result.message, result.status); + } + }; + const refreshLocalSessions = async (silent = false) => { const result = await run(() => call("list_local_sessions")); if (result) { @@ -813,6 +859,7 @@ export function App() { await refreshSettings(true); await refreshRelay(true); await refreshRelayFiles(true); + await refreshEnvConflicts(true); } if (next === "sessions") { await refreshSettings(true); @@ -1336,6 +1383,7 @@ export function App() { await refreshOverview(true); await refreshSettings(true); await refreshRelay(true); + await refreshEnvConflicts(true); await refreshProviderSyncTargets(true); })(); }, []); @@ -1457,6 +1505,8 @@ export function App() { }, refreshRelay, refreshRelayFiles, + refreshEnvConflicts, + removeEnvConflicts, refreshLiveContextEntries, syncLiveContextEntries, refreshAds, @@ -1501,7 +1551,7 @@ export function App() { disableWatcher: () => watcherAction("disable_watcher"), toggleTheme: () => setTheme((current) => (current === "dark" ? "light" : "dark")), }), - [route, launchForm, settingsForm, settings, removeOwnedData, update, logs, diagnostics, theme, relayFiles, localSessions, zedRemoteProjects, selectedProviderSyncTarget], + [route, launchForm, settingsForm, settings, removeOwnedData, update, logs, diagnostics, theme, relayFiles, localSessions, zedRemoteProjects, selectedProviderSyncTarget, envConflicts], ); const hasUpdate = update?.updateAvailable === true; @@ -1585,6 +1635,7 @@ export function App() { Promise; refreshRelay: () => Promise; refreshRelayFiles: () => Promise; + refreshEnvConflicts: (silent?: boolean) => Promise; + removeEnvConflicts: (names: string[]) => Promise; refreshLiveContextEntries: () => Promise; syncLiveContextEntries: (settings: BackendSettings, silent?: boolean) => Promise; refreshAds: () => Promise; @@ -1819,12 +1872,14 @@ function OverviewScreen({ function RelayScreen({ settings: _settings, relayFiles, + envConflicts, form, onFormChange, actions, }: { settings: SettingsResult | null; relayFiles: RelayFilesResult | null; + envConflicts: EnvConflictsResult | null; form: BackendSettings; onFormChange: (value: BackendSettings) => void; actions: Actions; @@ -1883,6 +1938,7 @@ function RelayScreen({ +

+
+ +
+
+ 检测到 OPENAI 环境变量 +

这些变量可能覆盖当前供应商写入的 config.toml / auth.json;CODEX_HOME 不会被清理。

+
+ {conflicts.map((conflict) => ( + + {conflict.name} + {envConflictSourceLabel(conflict.source)} + + ))} +
+
+
+ + +
+
+ ); +} + +function envConflictSourceLabel(source: string): string { + if (source === "process") return "当前进程"; + if (source === "user") return "用户环境"; + return source || "环境变量"; +} + function EnhanceScreen({ form, onFormChange, diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 8caed4895..b0fa81eee 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -584,6 +584,66 @@ body { margin-bottom: 10px; } +.env-conflict-notice { + display: grid; + grid-template-columns: 34px minmax(0, 1fr) auto; + gap: 12px; + align-items: start; + border: 1px solid hsl(var(--brand-accent) / 0.34); + border-radius: 8px; + background: hsl(var(--brand-accent) / 0.1); + margin-bottom: 12px; + padding: 12px; +} + +.env-conflict-icon { + display: grid; + place-items: center; + width: 34px; + height: 34px; + border-radius: 8px; + background: hsl(var(--brand-accent) / 0.16); + color: hsl(var(--brand-accent)); +} + +.env-conflict-body { + display: grid; + gap: 6px; + min-width: 0; +} + +.env-conflict-body p { + margin: 0; + color: hsl(var(--muted-foreground)); + line-height: 1.45; +} + +.env-conflict-tags, +.env-conflict-actions { + display: flex; + flex-wrap: wrap; + gap: 6px; +} + +.env-conflict-tags span { + display: inline-flex; + align-items: center; + gap: 6px; + min-height: 26px; + border: 1px solid hsl(var(--border)); + border-radius: 999px; + background: hsl(var(--background) / 0.6); + color: hsl(var(--foreground)); + font-family: Consolas, "SFMono-Regular", monospace; + font-size: 12px; + padding: 4px 8px; +} + +.env-conflict-tags small { + color: hsl(var(--muted-foreground)); + font-family: Inter, "Segoe UI", "Microsoft YaHei", system-ui, sans-serif; +} + .relay-master-switch { margin-bottom: 10px; } @@ -2281,6 +2341,14 @@ body { grid-template-columns: 18px 32px minmax(0, 1fr); } + .env-conflict-notice { + grid-template-columns: 34px minmax(0, 1fr); + } + + .env-conflict-actions { + grid-column: 2; + } + .relay-card-actions { grid-column: 3; justify-content: flex-start; diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 2eabd5b48..f3ec680c7 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -3849,7 +3849,7 @@ } } - function downloadMarkdown(filename, markdown) { + function downloadMarkdownFallback(filename, markdown) { if (!filename || typeof markdown !== "string") { throw new Error("导出结果不完整"); } @@ -3864,6 +3864,34 @@ setTimeout(() => URL.revokeObjectURL(url), 1000); } + async function saveMarkdown(filename, markdown) { + if (!filename || typeof markdown !== "string") { + throw new Error("导出结果不完整"); + } + if (typeof window.showSaveFilePicker !== "function") { + downloadMarkdownFallback(filename, markdown); + return { status: "saved" }; + } + try { + const handle = await window.showSaveFilePicker({ + suggestedName: filename, + types: [{ + description: "Markdown", + accept: { "text/markdown": [".md", ".markdown"] }, + }], + }); + const writable = await handle.createWritable(); + await writable.write(markdown); + await writable.close(); + return { status: "saved" }; + } catch (error) { + if (error?.name === "AbortError") { + return { status: "cancelled", message: "导出已取消" }; + } + throw error; + } + } + let codexStateApiPromise = null; let chatsSortInFlight = false; let chatsSortSignature = ""; @@ -3901,6 +3929,8 @@ let codexModelCatalog = { status: "loading", model: "", default_model: "", model_provider: "", provider_name: "", models: [], sources: [], responses_api: { status: "unknown", message: "" } }; let codexModelCatalogLoadedAt = 0; let codexModelCatalogPromise = null; + let codexModelWhitelistRefreshTimer = 0; + let codexModelWhitelistRefreshUntil = 0; const codexPlusModelListRequestIds = new Set(); if (window.__CODEX_PLUS_TEST_SERVICE_TIER__) { @@ -3959,7 +3989,7 @@ codexModelCatalog = result && typeof result === "object" ? result : { status: "failed", model: "", default_model: "", model_provider: "", provider_name: "", models: [], sources: [], responses_api: { status: "unknown", message: "" } }; codexModelCatalogLoadedAt = Date.now(); renderCodexPlusMenu(); - patchCodexModelWhitelist(); + scheduleCodexModelWhitelistRefresh(); return codexModelCatalog; }) .catch((error) => { @@ -4372,14 +4402,42 @@ installAppServerModelRequestPatch(); } + function runCodexModelWhitelistRefreshPass() { + if (!codexPlusModelUnlockEnabled() || !codexPlusModelNames().length) return false; + let changed = false; + try { + patchStatsigModelWhitelist(); + if (patchReactModelState()) changed = true; + installAppServerModelRequestPatch(); + } catch (error) { + window.__codexPlusModelPatchFailures = window.__codexPlusModelPatchFailures || []; + window.__codexPlusModelPatchFailures.push(String(error?.stack || error)); + } + return changed; + } + + function scheduleCodexModelWhitelistRefresh(durationMs = 2500) { + if (!codexPlusModelUnlockEnabled()) return; + codexModelWhitelistRefreshUntil = Math.max(codexModelWhitelistRefreshUntil, Date.now() + durationMs); + if (codexModelWhitelistRefreshTimer) return; + sendCodexPlusDiagnostic("model_whitelist_refresh_scheduled", { durationMs }); + const tick = () => { + codexModelWhitelistRefreshTimer = 0; + runCodexModelWhitelistRefreshPass(); + if (Date.now() < codexModelWhitelistRefreshUntil) { + codexModelWhitelistRefreshTimer = window.setTimeout(tick, 120); + } + }; + tick(); + } + function patchCodexModelWhitelist() { ensureCodexModelWhitelistInstalls(); if (!codexPlusModelNames().length) { loadCodexModelCatalog(); return; } - patchStatsigModelWhitelist(); - patchReactModelState(); + runCodexModelWhitelistRefreshPass(); } function refreshCodexModelWhitelistFromScan(mutations) { @@ -4388,8 +4446,11 @@ loadCodexModelCatalog(); return; } - patchStatsigModelWhitelist(); - if (shouldScheduleReactModelStatePatch(mutations)) schedulePatchReactModelState(); + if (shouldScheduleReactModelStatePatch(mutations)) { + scheduleCodexModelWhitelistRefresh(); + } else { + runCodexModelWhitelistRefreshPass(); + } } function threadIdVariants(sessionId) { @@ -6194,8 +6255,12 @@ async function exportMarkdown(ref) { const result = await postJson("/export-markdown", ref); if (result.status === "exported" && result.filename && typeof result.markdown === "string") { - downloadMarkdown(result.filename, result.markdown); - showToast(result.message || "导出成功", null); + const saveResult = await saveMarkdown(result.filename, result.markdown); + if (saveResult?.status === "cancelled") { + showToast(saveResult.message || "导出已取消", null); + } else { + showToast(result.message || "导出成功", null); + } return; } showToast(result.message || "导出失败", null); diff --git a/crates/codex-plus-core/src/codex_home.rs b/crates/codex-plus-core/src/codex_home.rs new file mode 100644 index 000000000..d3b758bc4 --- /dev/null +++ b/crates/codex-plus-core/src/codex_home.rs @@ -0,0 +1,96 @@ +use std::path::PathBuf; + +pub fn default_codex_home_dir() -> PathBuf { + std::env::var_os("CODEX_HOME") + .map(PathBuf::from) + .filter(|path| codex_home_env_dir_is_valid(path)) + .unwrap_or_else(default_user_codex_home_dir) +} + +fn codex_home_env_dir_is_valid(path: &PathBuf) -> bool { + !path.as_os_str().is_empty() && !path.to_string_lossy().trim().is_empty() && path.is_dir() +} + +fn default_user_codex_home_dir() -> PathBuf { + directories::BaseDirs::new() + .map(|dirs| dirs.home_dir().join(".codex")) + .unwrap_or_else(|| PathBuf::from(".codex")) +} + +#[cfg(test)] +mod tests { + use super::*; + use std::ffi::OsString; + use std::path::Path; + use std::sync::Mutex; + + static CODEX_HOME_ENV_LOCK: Mutex<()> = Mutex::new(()); + + struct CodexHomeEnvGuard { + previous: Option, + } + + impl CodexHomeEnvGuard { + fn set(path: &Path) -> Self { + let previous = std::env::var_os("CODEX_HOME"); + unsafe { + std::env::set_var("CODEX_HOME", path); + } + Self { previous } + } + + fn set_raw(value: &str) -> Self { + let previous = std::env::var_os("CODEX_HOME"); + unsafe { + std::env::set_var("CODEX_HOME", value); + } + Self { previous } + } + } + + impl Drop for CodexHomeEnvGuard { + fn drop(&mut self) { + unsafe { + match &self.previous { + Some(value) => std::env::set_var("CODEX_HOME", value), + None => std::env::remove_var("CODEX_HOME"), + } + } + } + } + + #[test] + fn default_codex_home_dir_uses_existing_codex_home_env_dir() { + let _lock = CODEX_HOME_ENV_LOCK.lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let codex_home = temp.path().join("custom-codex-home"); + std::fs::create_dir_all(&codex_home).unwrap(); + let _guard = CodexHomeEnvGuard::set(&codex_home); + + assert_eq!(default_codex_home_dir(), codex_home); + assert_eq!(crate::relay_config::default_codex_home_dir(), codex_home); + assert_eq!(crate::codex_sqlite::default_codex_home_dir(), codex_home); + } + + #[test] + fn default_codex_home_dir_ignores_empty_or_missing_codex_home_env() { + let _lock = CODEX_HOME_ENV_LOCK.lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let missing = temp.path().join("missing-codex-home"); + let expected = default_user_codex_home_dir(); + + { + let _guard = CodexHomeEnvGuard::set_raw(" "); + assert_eq!(default_codex_home_dir(), expected); + assert_eq!(crate::relay_config::default_codex_home_dir(), expected); + assert_eq!(crate::codex_sqlite::default_codex_home_dir(), expected); + } + + { + let _guard = CodexHomeEnvGuard::set(&missing); + assert_eq!(default_codex_home_dir(), expected); + assert_eq!(crate::relay_config::default_codex_home_dir(), expected); + assert_eq!(crate::codex_sqlite::default_codex_home_dir(), expected); + } + } +} diff --git a/crates/codex-plus-core/src/codex_sqlite.rs b/crates/codex-plus-core/src/codex_sqlite.rs index 9c5d6ee4f..5bf21f224 100644 --- a/crates/codex-plus-core/src/codex_sqlite.rs +++ b/crates/codex-plus-core/src/codex_sqlite.rs @@ -5,15 +5,7 @@ use std::path::{Path, PathBuf}; use rusqlite::Connection; pub fn default_codex_home_dir() -> PathBuf { - std::env::var_os("CODEX_HOME") - .map(PathBuf::from) - .or_else(|| { - std::env::var_os("HOME") - .or_else(|| std::env::var_os("USERPROFILE")) - .map(PathBuf::from) - .map(|home| home.join(".codex")) - }) - .unwrap_or_else(|| PathBuf::from(".codex")) + crate::codex_home::default_codex_home_dir() } pub fn codex_session_db_path() -> PathBuf { diff --git a/crates/codex-plus-core/src/env_conflicts.rs b/crates/codex-plus-core/src/env_conflicts.rs new file mode 100644 index 000000000..537ec971c --- /dev/null +++ b/crates/codex-plus-core/src/env_conflicts.rs @@ -0,0 +1,232 @@ +use serde::Serialize; +use std::path::PathBuf; + +const WINDOWS_USER_ENV_KEY: &str = "Environment"; + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EnvConflict { + pub name: String, + pub source: EnvConflictSource, + pub value_present: bool, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq, Serialize)] +#[serde(rename_all = "camelCase")] +pub enum EnvConflictSource { + Process, + User, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EnvConflictRemoval { + pub name: String, + pub removed_process: bool, + pub removed_user: bool, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct EnvConflictRemovalResult { + pub removed: Vec, + pub backup_path: Option, +} + +pub fn is_codex_env_conflict_name(name: &str) -> bool { + let name = name.trim(); + name.starts_with("OPENAI_") +} + +pub fn detected_env_conflicts_from_pairs( + pairs: I, + source: EnvConflictSource, +) -> Vec +where + I: IntoIterator, + K: AsRef, + V: AsRef, +{ + let mut conflicts = pairs + .into_iter() + .filter_map(|(name, value)| { + let name = name.as_ref().trim(); + if !is_codex_env_conflict_name(name) { + return None; + } + Some(EnvConflict { + name: name.to_string(), + source, + value_present: !value.as_ref().trim().is_empty(), + }) + }) + .collect::>(); + conflicts.sort_by(|left, right| left.name.cmp(&right.name)); + conflicts.dedup_by(|left, right| left.name == right.name && left.source == right.source); + conflicts +} + +pub fn detect_env_conflicts() -> Vec { + let mut conflicts = + detected_env_conflicts_from_pairs(std::env::vars(), EnvConflictSource::Process); + conflicts.extend(detect_user_env_conflicts()); + conflicts.sort_by(|left, right| { + left.name + .cmp(&right.name) + .then_with(|| source_order(left.source).cmp(&source_order(right.source))) + }); + conflicts.dedup_by(|left, right| left.name == right.name && left.source == right.source); + conflicts +} + +pub fn remove_env_conflicts( + names: &[String], + backup_dir: PathBuf, +) -> anyhow::Result { + remove_env_conflicts_with_user_env(names, backup_dir, true) +} + +pub fn remove_process_env_conflicts_for_tests( + names: &[String], + backup_dir: PathBuf, +) -> anyhow::Result { + remove_env_conflicts_with_user_env(names, backup_dir, false) +} + +fn remove_env_conflicts_with_user_env( + names: &[String], + backup_dir: PathBuf, + remove_user_env: bool, +) -> anyhow::Result { + let names = normalized_conflict_names(names); + if names.is_empty() { + return Ok(EnvConflictRemovalResult { + removed: Vec::new(), + backup_path: None, + }); + } + + std::fs::create_dir_all(&backup_dir)?; + let backup_path = backup_dir.join(format!("env-conflicts-{}.json", timestamp_millis())); + let before = detect_env_conflicts() + .into_iter() + .filter(|conflict| names.iter().any(|name| name == &conflict.name)) + .collect::>(); + std::fs::write(&backup_path, serde_json::to_vec_pretty(&before)?)?; + + let mut removed = Vec::new(); + for name in names { + let had_process = std::env::var_os(&name).is_some(); + unsafe { + std::env::remove_var(&name); + } + let removed_user = remove_user_env && remove_user_env_value(&name)?; + removed.push(EnvConflictRemoval { + name, + removed_process: had_process, + removed_user, + }); + } + + Ok(EnvConflictRemovalResult { + removed, + backup_path: Some(backup_path.to_string_lossy().to_string()), + }) +} + +fn normalized_conflict_names(names: &[String]) -> Vec { + let mut names = names + .iter() + .map(|name| name.trim().to_string()) + .filter(|name| is_codex_env_conflict_name(name)) + .collect::>(); + names.sort(); + names.dedup(); + names +} + +fn source_order(source: EnvConflictSource) -> u8 { + match source { + EnvConflictSource::Process => 0, + EnvConflictSource::User => 1, + } +} + +fn timestamp_millis() -> u128 { + std::time::SystemTime::now() + .duration_since(std::time::UNIX_EPOCH) + .unwrap_or_default() + .as_millis() +} + +#[cfg(windows)] +fn detect_user_env_conflicts() -> Vec { + crate::windows_integration::read_current_user_string_values(WINDOWS_USER_ENV_KEY) + .unwrap_or_default() + .into_iter() + .map(|(name, value)| (name, value.unwrap_or_default())) + .pipe(|pairs| detected_env_conflicts_from_pairs(pairs, EnvConflictSource::User)) +} + +#[cfg(not(windows))] +fn detect_user_env_conflicts() -> Vec { + Vec::new() +} + +#[cfg(windows)] +fn remove_user_env_value(name: &str) -> anyhow::Result { + crate::windows_integration::delete_current_user_value(WINDOWS_USER_ENV_KEY, name)?; + Ok(true) +} + +#[cfg(not(windows))] +fn remove_user_env_value(_name: &str) -> anyhow::Result { + Ok(false) +} + +trait Pipe: Sized { + fn pipe(self, f: impl FnOnce(Self) -> T) -> T { + f(self) + } +} + +impl Pipe for T {} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn detects_openai_prefixed_conflicts_but_not_codex_home() { + let conflicts = detected_env_conflicts_from_pairs( + [ + ("OPENAI_API_KEY", "sk-test"), + ("OPENAI_BASE_URL", "https://example.test/v1"), + ("CODEX_HOME", "C:/Users/me/.codex"), + ("CUSTOM_OPENAI_API_KEY", "sk-custom"), + ], + EnvConflictSource::Process, + ); + + assert_eq!( + conflicts + .iter() + .map(|conflict| conflict.name.as_str()) + .collect::>(), + vec!["OPENAI_API_KEY", "OPENAI_BASE_URL"] + ); + } + + #[test] + fn removal_normalization_only_keeps_conflict_names() { + assert_eq!( + normalized_conflict_names(&[ + "CODEX_HOME".to_string(), + "OPENAI_API_KEY".to_string(), + " OPENAI_BASE_URL ".to_string(), + "OPENAI_API_KEY".to_string(), + ]), + vec!["OPENAI_API_KEY", "OPENAI_BASE_URL"] + ); + } +} diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 152338e03..7572c6498 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -4,9 +4,11 @@ pub mod assets; pub mod bridge; pub mod cdp; pub mod cli_wrapper; +pub mod codex_home; pub mod codex_sqlite; mod computer_use_guard; pub mod diagnostic_log; +pub mod env_conflicts; pub mod http_client; pub mod install; pub mod launcher; diff --git a/crates/codex-plus-core/src/model_catalog.rs b/crates/codex-plus-core/src/model_catalog.rs index 49041945e..a962d0ba5 100644 --- a/crates/codex-plus-core/src/model_catalog.rs +++ b/crates/codex-plus-core/src/model_catalog.rs @@ -212,10 +212,7 @@ pub async fn read_codex_model_catalog_from_home( } fn codex_home_dir() -> PathBuf { - std::env::var_os("CODEX_HOME") - .filter(|value| !value.is_empty()) - .map(PathBuf::from) - .unwrap_or_else(crate::relay_config::default_codex_home_dir) + crate::codex_home::default_codex_home_dir() } fn load_codex_config(path: &Path) -> (CodexConfig, HashMap, Option) { diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 97b2886fd..e26a7a31d 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -85,9 +85,7 @@ pub struct CodexContextEntries { } pub fn default_codex_home_dir() -> PathBuf { - directories::BaseDirs::new() - .map(|dirs| dirs.home_dir().join(".codex")) - .unwrap_or_else(|| PathBuf::from(".codex")) + crate::codex_home::default_codex_home_dir() } pub fn default_relay_status() -> RelayStatus { diff --git a/crates/codex-plus-core/src/upstream_worktree/remote.rs b/crates/codex-plus-core/src/upstream_worktree/remote.rs index b4d69ef61..63b704834 100644 --- a/crates/codex-plus-core/src/upstream_worktree/remote.rs +++ b/crates/codex-plus-core/src/upstream_worktree/remote.rs @@ -1,4 +1,3 @@ -use std::env; use std::path::{Path, PathBuf}; use std::process::Command; @@ -14,16 +13,7 @@ use super::types::{ use crate::zed_remote::{SshTarget, resolve_ssh_target_for_host_id}; pub fn codex_global_state_path() -> PathBuf { - env::var_os("CODEX_HOME") - .map(PathBuf::from) - .or_else(|| { - env::var_os("HOME") - .or_else(|| env::var_os("USERPROFILE")) - .map(PathBuf::from) - .map(|home| home.join(".codex")) - }) - .unwrap_or_else(|| PathBuf::from(".codex")) - .join(".codex-global-state.json") + crate::codex_home::default_codex_home_dir().join(".codex-global-state.json") } pub fn remote_project_from_state(state: &Value, project_id: &str) -> Option { diff --git a/crates/codex-plus-core/src/windows_integration.rs b/crates/codex-plus-core/src/windows_integration.rs index a23706de2..cc8efed53 100644 --- a/crates/codex-plus-core/src/windows_integration.rs +++ b/crates/codex-plus-core/src/windows_integration.rs @@ -22,8 +22,8 @@ use windows::Win32::System::Diagnostics::ToolHelp::{ }; #[cfg(windows)] use windows::Win32::System::Registry::{ - HKEY, HKEY_CURRENT_USER, KEY_SET_VALUE, REG_SZ, RegCloseKey, RegCreateKeyW, RegDeleteKeyW, - RegDeleteValueW, RegOpenKeyExW, RegSetValueExW, + HKEY, HKEY_CURRENT_USER, KEY_READ, KEY_SET_VALUE, REG_EXPAND_SZ, REG_SZ, RegCloseKey, + RegCreateKeyW, RegDeleteKeyW, RegDeleteValueW, RegEnumValueW, RegOpenKeyExW, RegSetValueExW, }; #[cfg(windows)] use windows::Win32::System::Threading::{ @@ -205,6 +205,72 @@ pub fn delete_current_user_value(subkey: &str, name: &str) -> anyhow::Result<()> .or_else(|_| Ok(())) } +#[cfg(windows)] +pub fn read_current_user_string_values( + subkey: &str, +) -> anyhow::Result)>> { + let subkey = wide_null(subkey); + let mut key = HKEY::default(); + if unsafe { + RegOpenKeyExW( + HKEY_CURRENT_USER, + PCWSTR(subkey.as_ptr()), + 0, + KEY_READ, + &mut key, + ) + } + .is_err() + { + return Ok(Vec::new()); + } + let _guard = RegistryKeyGuard(key); + let mut values = Vec::new(); + for index in 0.. { + let mut name = vec![0u16; 256]; + let mut name_len = name.len() as u32; + let mut value_type = 0u32; + let mut data = vec![0u8; 8192]; + let mut data_len = data.len() as u32; + let result = unsafe { + RegEnumValueW( + key, + index, + PWSTR(name.as_mut_ptr()), + &mut name_len, + None, + Some(&mut value_type), + Some(data.as_mut_ptr()), + Some(&mut data_len), + ) + }; + if result.is_err() { + break; + } + let name = OsString::from_wide(&name[..name_len as usize]) + .to_string_lossy() + .to_string(); + let value = if value_type == REG_SZ.0 || value_type == REG_EXPAND_SZ.0 { + let units = unsafe { + std::slice::from_raw_parts( + data.as_ptr().cast::(), + (data_len as usize).div_ceil(2), + ) + }; + let len = units.iter().position(|ch| *ch == 0).unwrap_or(units.len()); + Some( + OsString::from_wide(&units[..len]) + .to_string_lossy() + .to_string(), + ) + } else { + None + }; + values.push((name, value)); + } + Ok(values) +} + #[cfg(windows)] pub fn delete_current_user_key(subkey: &str) -> anyhow::Result<()> { let subkey = wide_null(subkey); diff --git a/crates/codex-plus-core/src/zed_remote.rs b/crates/codex-plus-core/src/zed_remote.rs index 309046daf..041c1e4b2 100644 --- a/crates/codex-plus-core/src/zed_remote.rs +++ b/crates/codex-plus-core/src/zed_remote.rs @@ -350,11 +350,7 @@ pub fn launch_zed_url(url: &str) -> Result<(), ZedRemoteError> { } pub fn codex_global_state_path() -> PathBuf { - env::var_os("CODEX_HOME") - .map(PathBuf::from) - .or_else(|| home_dir().map(|home| home.join(".codex"))) - .unwrap_or_else(|| PathBuf::from(".codex")) - .join(".codex-global-state.json") + crate::codex_home::default_codex_home_dir().join(".codex-global-state.json") } pub fn target_from_managed_remote_connection( diff --git a/crates/codex-plus-core/tests/cdp_bridge.rs b/crates/codex-plus-core/tests/cdp_bridge.rs index 63bfa6711..8ee54a1c7 100644 --- a/crates/codex-plus-core/tests/cdp_bridge.rs +++ b/crates/codex-plus-core/tests/cdp_bridge.rs @@ -417,6 +417,9 @@ fn injection_script_unlocks_custom_model_catalog() { assert!(script.contains("appServerModelRequestMethod")); assert!(script.contains("send-cli-request-for-host")); assert!(script.contains("Response.prototype.json")); + assert!(script.contains("scheduleCodexModelWhitelistRefresh")); + assert!(script.contains("runCodexModelWhitelistRefreshPass")); + assert!(script.contains("model_whitelist_refresh_scheduled")); assert!(script.contains("available_models")); assert!(script.contains("modelWhitelistUnlock")); assert!(script.contains("isWorkspaceChromeNode")); @@ -495,6 +498,18 @@ fn injection_script_exposes_fast_service_tier_control() { assert!(script.contains("fast")); } +#[test] +fn injection_script_prompts_for_markdown_export_path_when_supported() { + let script = assets::injection_script(57321); + + assert!(script.contains("showSaveFilePicker")); + assert!(script.contains("suggestedName: filename")); + assert!(script.contains("createWritable()")); + assert!(script.contains("await writable.write(markdown)")); + assert!(script.contains("status: \"cancelled\"")); + assert!(script.contains("导出已取消")); +} + #[test] fn injection_script_applies_fast_service_tier_contract() { let cases = run_service_tier_contract_harness(); @@ -566,6 +581,7 @@ globalThis.document = {{ documentElement: node(), body: node(), createElement: () => node(), + getElementById: () => null, querySelector: () => null, querySelectorAll: () => [], addEventListener() {{}}, diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 8532ab601..2a503b3b4 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -50,10 +50,7 @@ fn app_paths_find_latest_windows_package_detects_beta_package() { temp.path() .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") ); - assert_eq!( - codex_app_version(&latest).as_deref(), - Some("26.527.7698.0") - ); + assert_eq!(codex_app_version(&latest).as_deref(), Some("26.527.7698.0")); assert_eq!( packaged_app_user_model_id(&latest).as_deref(), Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") diff --git a/crates/codex-plus-data/src/lib.rs b/crates/codex-plus-data/src/lib.rs index fe0a3fe44..f7b3e0b7e 100644 --- a/crates/codex-plus-data/src/lib.rs +++ b/crates/codex-plus-data/src/lib.rs @@ -4,7 +4,7 @@ pub mod provider_sync; pub mod storage; pub use backup::BackupStore; -pub use markdown::MarkdownExportService; +pub use markdown::{MarkdownExportService, export_markdown_from_paths}; pub use provider_sync::{ ProviderSyncResult, ProviderSyncStatus, ProviderSyncTargetList, ProviderSyncTargetOption, ProviderSyncTargetSource, load_provider_sync_targets, run_provider_sync, diff --git a/crates/codex-plus-data/src/markdown.rs b/crates/codex-plus-data/src/markdown.rs index 5cb6f73ec..de8a41a48 100644 --- a/crates/codex-plus-data/src/markdown.rs +++ b/crates/codex-plus-data/src/markdown.rs @@ -4,6 +4,34 @@ use serde_json::Value; use std::fs; use std::path::{Path, PathBuf}; +pub fn export_markdown_from_paths( + db_paths: impl IntoIterator, + session: &SessionRef, +) -> ExportResult { + let thread_id = normalize_session_id(&session.session_id); + let mut result = failed(&thread_id, "未找到对应会话"); + let mut saw_candidate = false; + for db_path in db_paths { + if !db_path.exists() { + continue; + } + saw_candidate = true; + let candidate = MarkdownExportService::new(Some(db_path)).export(session); + if matches!(candidate.status, ExportStatus::Exported) { + return candidate; + } + if result.message == "未找到对应会话" || candidate.message != "未找到对应会话" + { + result = candidate; + } + } + if saw_candidate { + result + } else { + failed(&thread_id, "未配置本地 Codex 数据库") + } +} + #[derive(Debug, Clone)] pub struct MarkdownExportService { db_path: Option, @@ -29,38 +57,27 @@ impl MarkdownExportService { let thread_id = normalize_session_id(&session.session_id); let result = (|| -> anyhow::Result { let db = Connection::open(db_path)?; - if !supports_codex_threads(&db)? { - return Ok(failed(&thread_id, "不支持当前本地存储结构")); - } - let row = db.query_row( - "SELECT id, title, rollout_path FROM threads WHERE id = ?1", - [&thread_id], - |row| { - Ok(( - row.get::<_, String>(0)?, - row.get::<_, Option>(1)?, - row.get::<_, Option>(2)?, - )) - }, - ); - let (_, title, rollout_path) = match row { - Ok(row) => row, - Err(rusqlite::Error::QueryReturnedNoRows) => { - return Ok(failed(&thread_id, "未找到对应会话")); + let record = match lookup_thread_record(&db, db_path, &thread_id)? { + ThreadLookup::Found(record) => record, + ThreadLookup::Missing => return Ok(failed(&thread_id, "未找到对应会话")), + ThreadLookup::Unsupported => { + return Ok(failed(&thread_id, "不支持当前本地存储结构")); } - Err(err) => return Err(err.into()), }; - let title = display_title(title.as_deref().unwrap_or(&session.title)); - let Some(rollout_path) = rollout_path.filter(|path| !path.is_empty()) else { + let title = display_title(record.title.as_deref().unwrap_or(&session.title)); + let Some(rollout_path) = record + .rollout_path + .filter(|path| !path.as_os_str().is_empty()) + else { return Ok(failed(&thread_id, "会话缺少 rollout 文件路径")); }; - if !Path::new(&rollout_path).is_file() { + if !rollout_path.is_file() { return Ok(failed( &thread_id, - format!("rollout 文件不存在:{rollout_path}"), + format!("rollout 文件不存在:{}", rollout_path.to_string_lossy()), )); } - let messages = load_messages(Path::new(&rollout_path))?; + let messages = load_messages(&rollout_path)?; if messages.is_empty() { return Ok(failed(&thread_id, "未找到可导出的用户或助手消息")); } @@ -78,6 +95,19 @@ impl MarkdownExportService { } } +#[derive(Debug)] +struct ThreadRecord { + title: Option, + rollout_path: Option, +} + +#[derive(Debug)] +enum ThreadLookup { + Found(ThreadRecord), + Missing, + Unsupported, +} + #[derive(Debug)] struct Message { speaker: &'static str, @@ -95,24 +125,163 @@ fn failed(session_id: &str, message: impl Into) -> ExportResult { } } -fn supports_codex_threads(db: &Connection) -> anyhow::Result { - let has_threads = db +fn lookup_thread_record( + db: &Connection, + db_path: &Path, + thread_id: &str, +) -> anyhow::Result { + if has_columns(db, "threads", &["id", "title", "rollout_path"])? { + let row = db.query_row( + "SELECT title, rollout_path FROM threads WHERE id = ?1", + [thread_id], + |row| { + Ok(ThreadRecord { + title: row.get::<_, Option>(0)?, + rollout_path: row + .get::<_, Option>(1)? + .filter(|path| !path.trim().is_empty()) + .map(PathBuf::from), + }) + }, + ); + return match row { + Ok(row) => Ok(ThreadLookup::Found(row)), + Err(rusqlite::Error::QueryReturnedNoRows) => Ok(ThreadLookup::Missing), + Err(err) => Err(err.into()), + }; + } + + if has_columns(db, "automation_runs", &["thread_id"])? { + let columns = table_columns(db, "automation_runs")?; + let title_expr = if columns.iter().any(|column| column == "thread_title") { + "thread_title" + } else if columns.iter().any(|column| column == "title") { + "title" + } else { + "''" + }; + let sql = format!("SELECT {title_expr} FROM automation_runs WHERE thread_id = ?1"); + let row = db.query_row( + &sql, + [thread_id], + |row| Ok(row.get::<_, Option>(0)?), + ); + return match row { + Ok(title) => Ok(ThreadLookup::Found(ThreadRecord { + title, + rollout_path: discover_rollout_path(db_path, thread_id)?, + })), + Err(rusqlite::Error::QueryReturnedNoRows) => Ok(ThreadLookup::Missing), + Err(err) => Err(err.into()), + }; + } + + Ok(ThreadLookup::Unsupported) +} + +fn discover_rollout_path(db_path: &Path, thread_id: &str) -> anyhow::Result> { + for home in codex_home_candidates(db_path) { + let mut candidates = Vec::new(); + collect_jsonl_files(&home.join("sessions"), &mut candidates)?; + collect_jsonl_files(&home.join("archived_sessions"), &mut candidates)?; + candidates.sort_by_key(|path| { + std::cmp::Reverse( + fs::metadata(path) + .and_then(|metadata| metadata.modified()) + .ok(), + ) + }); + for path in candidates { + if rollout_matches_thread(&path, thread_id)? { + return Ok(Some(path)); + } + } + } + Ok(None) +} + +fn codex_home_candidates(db_path: &Path) -> Vec { + let mut homes = Vec::new(); + for ancestor in db_path.ancestors().skip(1) { + if ancestor.join("sessions").is_dir() || ancestor.join("archived_sessions").is_dir() { + homes.push(ancestor.to_path_buf()); + } + } + if homes.is_empty() { + if let Some(parent) = db_path.parent().and_then(Path::parent) { + homes.push(parent.to_path_buf()); + } + } + homes +} + +fn collect_jsonl_files(dir: &Path, output: &mut Vec) -> anyhow::Result<()> { + let Ok(entries) = fs::read_dir(dir) else { + return Ok(()); + }; + for entry in entries { + let path = entry?.path(); + if path.is_dir() { + collect_jsonl_files(&path, output)?; + } else if path.extension().and_then(|value| value.to_str()) == Some("jsonl") { + output.push(path); + } + } + Ok(()) +} + +fn rollout_matches_thread(path: &Path, thread_id: &str) -> anyhow::Result { + for raw in fs::read_to_string(path)?.lines() { + if raw.trim().is_empty() { + continue; + } + let Ok(event) = serde_json::from_str::(raw) else { + continue; + }; + if event.get("type") != Some(&Value::String("session_meta".to_string())) { + continue; + } + let id = event + .get("payload") + .and_then(|payload| payload.get("id")) + .or_else(|| event.get("id")) + .and_then(Value::as_str) + .map(normalize_session_id) + .unwrap_or_default(); + if id == thread_id { + return Ok(true); + } + } + Ok(false) +} + +fn has_columns(db: &Connection, table: &str, columns: &[&str]) -> anyhow::Result { + let existing = table_columns(db, table)?; + if existing.is_empty() { + return Ok(false); + } + Ok(columns + .iter() + .all(|column| existing.iter().any(|existing| existing == column))) +} + +fn table_columns(db: &Connection, table: &str) -> anyhow::Result> { + if !db .query_row( - "SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = 'threads'", - [], + "SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?1", + [table], |_| Ok(()), ) - .is_ok(); - if !has_threads { - return Ok(false); + .is_ok() + { + return Ok(Vec::new()); } - let mut stmt = db.prepare("PRAGMA table_info(\"threads\")")?; - let columns = stmt - .query_map([], |row| row.get::<_, String>(1))? - .collect::>>()?; - Ok(["id", "title", "rollout_path"] - .iter() - .all(|column| columns.iter().any(|existing| existing == column))) + let mut stmt = db.prepare(&format!( + "PRAGMA table_info(\"{}\")", + table.replace('"', "\"\"") + ))?; + let columns = stmt.query_map([], |row| row.get::<_, String>(1))?; + Ok(columns.collect::>>()?) } fn load_messages(path: &Path) -> anyhow::Result> { diff --git a/crates/codex-plus-data/tests/markdown.rs b/crates/codex-plus-data/tests/markdown.rs index e6fb1ea10..5ac66b316 100644 --- a/crates/codex-plus-data/tests/markdown.rs +++ b/crates/codex-plus-data/tests/markdown.rs @@ -56,6 +56,108 @@ fn markdown_exporter_exports_messages_images_and_sanitized_filename() { assert!(!markdown.contains("ignore")); } +#[test] +fn markdown_exporter_exports_automation_run_by_discovering_rollout_file() { + let tmp = tempdir().unwrap(); + let db_path = tmp.path().join(".codex").join("db").join("codex.sqlite"); + let sessions_dir = tmp.path().join(".codex").join("sessions").join("2026"); + fs::create_dir_all(&sessions_dir).unwrap(); + let rollout_path = sessions_dir.join("rollout-thread-123.jsonl"); + fs::write( + &rollout_path, + concat!( + "{\"type\":\"session_meta\",\"timestamp\":\"2026-05-10T13:00:00Z\",\"payload\":{\"id\":\"thread-123\",\"title\":\"Meta Title\"}}\n", + "{\"type\":\"response_item\",\"timestamp\":\"2026-05-10T13:12:06Z\",\"payload\":{\"type\":\"message\",\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"Hello from automation\"}]}}\n", + "{\"type\":\"response_item\",\"timestamp\":\"2026-05-10T13:12:07Z\",\"payload\":{\"type\":\"message\",\"role\":\"assistant\",\"content\":[{\"type\":\"output_text\",\"text\":\"Automation reply\"}]}}\n", + ), + ) + .unwrap(); + fs::create_dir_all(db_path.parent().unwrap()).unwrap(); + let db = Connection::open(&db_path).unwrap(); + db.execute( + "CREATE TABLE automation_runs (thread_id TEXT PRIMARY KEY, thread_title TEXT)", + [], + ) + .unwrap(); + db.execute( + "INSERT INTO automation_runs (thread_id, thread_title) VALUES ('thread-123', 'Automation Title')", + [], + ) + .unwrap(); + + let result = + MarkdownExportService::new(Some(&db_path)).export(&session("thread-123", "Ignored")); + + assert_eq!(result.status, ExportStatus::Exported); + assert_eq!(result.session_id, "thread-123"); + assert_eq!( + result.filename, + Some("Automation Title-thread-123.md".to_string()) + ); + let markdown = result.markdown.unwrap(); + assert!(markdown.starts_with("# Automation Title\n\n### User\n")); + assert!(markdown.contains("Hello from automation")); + assert!(markdown.contains("### Assistant\n")); + assert!(markdown.contains("Automation reply")); +} + +#[test] +fn markdown_exporter_searches_candidate_databases() { + let tmp = tempdir().unwrap(); + let codex_home = tmp.path().join(".codex"); + let first_db_path = codex_home.join("sqlite").join("codex-dev.db"); + let second_db_path = codex_home.join("sqlite").join("state.db"); + let sessions_dir = codex_home.join("sessions").join("2026"); + fs::create_dir_all(&sessions_dir).unwrap(); + fs::create_dir_all(first_db_path.parent().unwrap()).unwrap(); + + let first_db = Connection::open(&first_db_path).unwrap(); + first_db + .execute( + "CREATE TABLE automation_runs (thread_id TEXT PRIMARY KEY, thread_title TEXT)", + [], + ) + .unwrap(); + first_db + .execute( + "INSERT INTO automation_runs (thread_id, thread_title) VALUES ('other-thread', 'Other')", + [], + ) + .unwrap(); + + let second_db = Connection::open(&second_db_path).unwrap(); + second_db + .execute( + "CREATE TABLE automation_runs (thread_id TEXT PRIMARY KEY, thread_title TEXT)", + [], + ) + .unwrap(); + second_db + .execute( + "INSERT INTO automation_runs (thread_id, thread_title) VALUES ('thread-456', 'Second DB')", + [], + ) + .unwrap(); + + fs::write( + sessions_dir.join("rollout-thread-456.jsonl"), + concat!( + "{\"type\":\"session_meta\",\"payload\":{\"id\":\"thread-456\"}}\n", + "{\"type\":\"response_item\",\"payload\":{\"type\":\"message\",\"role\":\"user\",\"content\":[{\"type\":\"input_text\",\"text\":\"From second db\"}]}}\n", + ), + ) + .unwrap(); + + let result = codex_plus_data::export_markdown_from_paths( + [first_db_path, second_db_path], + &session("thread-456", "Ignored"), + ); + + assert_eq!(result.status, ExportStatus::Exported); + assert_eq!(result.filename, Some("Second DB-thread-456.md".to_string())); + assert!(result.markdown.unwrap().contains("From second db")); +} + #[test] fn markdown_exporter_returns_failed_for_missing_or_empty_rollout() { let tmp = tempdir().unwrap(); diff --git a/docs/images/sponsor-codelf.png b/docs/images/sponsor-codelf.png new file mode 100644 index 0000000000000000000000000000000000000000..fa0c0fb999adf93dce91e2c1b48a4f801937e3ae GIT binary patch literal 9106 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%0AkB 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 literal 0 HcmV?d00001 From d592d3485975ca25f56ccab71b195c175aa06ef9 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 16 Jun 2026 23:56:01 +0800 Subject: [PATCH 048/156] fix: avoid busy packaged codex debug port --- Cargo.lock | 8 ++++---- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 ++-- apps/codex-plus-manager/package.json | 2 +- apps/codex-plus-manager/src-tauri/tauri.conf.json | 2 +- crates/codex-plus-core/src/ports.rs | 6 +----- crates/codex-plus-core/tests/launcher.rs | 4 ++-- 7 files changed, 12 insertions(+), 16 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 61585cfc9..a662f87be 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.10" +version = "1.2.11" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.10" +version = "1.2.11" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.10" +version = "1.2.11" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.10" +version = "1.2.11" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index c36d8e051..cf2137a5b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.10" +version = "1.2.11" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 40952518c..b5035321a 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.10", + "version": "1.2.11", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.10", + "version": "1.2.11", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 6bc777ea7..c623453c2 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.10", + "version": "1.2.11", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 2477003c4..cacda8244 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.10", + "version": "1.2.11", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/crates/codex-plus-core/src/ports.rs b/crates/codex-plus-core/src/ports.rs index 7fa0f1ad6..cfa493367 100644 --- a/crates/codex-plus-core/src/ports.rs +++ b/crates/codex-plus-core/src/ports.rs @@ -31,11 +31,7 @@ pub fn select_packaged_codex_debug_port_with( can_bind: impl Fn(u16) -> bool, find_available: impl Fn() -> u16, ) -> u16 { - if is_windows { - requested - } else { - select_platform_loopback_port_with(requested, is_windows, can_bind, find_available) - } + select_platform_loopback_port_with(requested, is_windows, can_bind, find_available) } pub fn select_platform_loopback_port_with( diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 2a503b3b4..e06bb9019 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -352,10 +352,10 @@ fn ports_windows_falls_back_to_ephemeral_when_requested_is_busy() { } #[test] -fn ports_windows_packaged_debug_keeps_requested_even_when_busy() { +fn ports_windows_packaged_debug_falls_back_to_ephemeral_when_requested_is_busy() { let selected = select_packaged_codex_debug_port_with(9229, true, |_| false, || 43001); - assert_eq!(selected, 9229); + assert_eq!(selected, 43001); } #[test] From 6140d2a69e46acdc185a32be0973c13e6dc26934 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 01:12:31 +0800 Subject: [PATCH 049/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 185100 -> 181716 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 3c98832b491c62c06aa441135e59f0b4e5ad2197..16edf95c684a175c6606fad98c97464ddcf3bbf9 100644 GIT binary patch literal 181716 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%0D7^BL7BuEb9JEnx6?#8Tx> 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 y2 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 bY+yYGfLEXd7p``L|MPax*~!`^YTEw*Ri*bb literal 185100 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 From 670ac5ed8107edbad181cea4e31c57c64bde718b Mon Sep 17 00:00:00 2001 From: NeoMei Date: Wed, 17 Jun 2026 01:26:59 +0800 Subject: [PATCH 050/156] fix: keep launcher alive until packaged codex exits On Windows, DefaultLaunchHooks::wait_for_codex_exit returned Ok(()) immediately after starting codex (both the Child and PackagedActivation arms). The launcher process then exited, which tore down the codex window it was hosting, so Codex++ appeared to fail to open right after upgrading. Poll find_codex_processes() and only return once codex has actually exited (3 consecutive empty checks, 2s apart), keeping the launcher process alive as codex's host/guardian. --- crates/codex-plus-core/src/launcher.rs | 15 +++++++++++++-- 1 file changed, 13 insertions(+), 2 deletions(-) diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 9111d9bd9..ffacebbeb 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -669,15 +669,26 @@ impl LaunchHooks for DefaultLaunchHooks { if let Some(mut child) = self.child.lock().await.take() { let _ = child.wait().await; } - Ok(()) } CodexLaunch::PackagedActivation { process_id, .. } => { if let Some(process_id) = process_id { wait_for_windows_process_id(*process_id).await?; } - Ok(()) } } + let mut empty_streak = 0u32; + loop { + if crate::watcher::find_codex_processes().is_empty() { + empty_streak = empty_streak.saturating_add(1); + if empty_streak >= 3 { + break; + } + } else { + empty_streak = 0; + } + tokio::time::sleep(std::time::Duration::from_secs(2)).await; + } + Ok(()) } async fn shutdown_helper(&self, _helper_port: u16) { From 004efdc2bc23fc3b25662e840ceb3f5983b730d4 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 02:51:48 +0800 Subject: [PATCH 051/156] fix: restore stable Windows launch flow --- Cargo.lock | 8 +- Cargo.toml | 2 +- apps/codex-plus-launcher/src/main.rs | 154 +++------ apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/src/commands.rs | 4 +- .../src-tauri/tauri.conf.json | 2 +- crates/codex-plus-core/src/launcher.rs | 322 +----------------- crates/codex-plus-core/src/watcher.rs | 78 +++++ crates/codex-plus-core/tests/launcher.rs | 8 + crates/codex-plus-core/tests/watcher.rs | 10 +- 11 files changed, 150 insertions(+), 444 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index a662f87be..001e22a42 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.11" +version = "1.2.12" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.11" +version = "1.2.12" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.11" +version = "1.2.12" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.11" +version = "1.2.12" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index cf2137a5b..40de53a1b 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.11" +version = "1.2.12" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 359ce3da8..f971bbd09 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -127,115 +127,53 @@ fn should_recover_stale_launcher(debug_port: u16) -> bool { async fn activate_existing_codex_app(options: &LaunchOptions) -> anyhow::Result<()> { let hooks = LauncherHooks::default(); let settings = hooks.load_settings().await?; - if settings.computer_use_guard_enabled { - hooks.ensure_computer_use_config(&settings).await?; - } let app_dir = hooks.resolve_app_dir(options.app_dir.as_deref(), &settings)?; - let mut helper_started = false; - - let result = async { - let process_ids = codex_plus_core::watcher::find_codex_processes(); - let activated = { - #[cfg(windows)] - { - let mut activated = false; - for process_id in &process_ids { - if codex_plus_core::windows_activate_process_window(*process_id) { - activated = true; - break; - } - } - activated - } - #[cfg(not(windows))] - { - false - } - }; - let cdp_listening_before_launch = - codex_plus_core::watcher::cdp_listening(options.debug_port); - if settings.enhancements_enabled { - hooks.start_helper(options.helper_port).await?; - helper_started = true; - } - let mut injection_ready = false; - if settings.enhancements_enabled && cdp_listening_before_launch { - injection_ready = hooks - .ensure_injection(options.debug_port, options.helper_port, &app_dir) - .await; - } - - let should_launch = - existing_instance_should_launch(cdp_listening_before_launch, injection_ready); - let mut launch_ok = None; - let mut launch_error = None; - if should_launch { - match hooks - .launch_codex(&app_dir, options.debug_port, &settings.codex_extra_args) - .await - { - Ok(_) => { - launch_ok = Some(true); - if settings.enhancements_enabled { - injection_ready = hooks - .ensure_injection(options.debug_port, options.helper_port, &app_dir) - .await; - } - } - Err(error) => { - launch_ok = Some(false); - launch_error = Some(error.to_string()); - let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( - "launcher.activate_existing_codex", - json!({ - "app_dir": app_dir.to_string_lossy(), - "debug_port": options.debug_port, - "helper_port": options.helper_port, - "process_ids": process_ids, - "activated": activated, - "cdp_listening_before_launch": cdp_listening_before_launch, - "injection_ready": injection_ready, - "launch_attempted": should_launch, - "launch_ok": launch_ok, - "launch_error": launch_error - }), - ); - return Err(error); - } + let launch_result = hooks + .launch_codex(&app_dir, options.debug_port, &settings.codex_extra_args) + .await; + if settings.enhancements_enabled { + hooks.start_helper(options.helper_port).await?; + } + let process_ids = codex_plus_core::watcher::find_codex_processes(); + let mut activated = false; + #[cfg(windows)] + { + for process_id in &process_ids { + if codex_plus_core::windows_activate_process_window(*process_id) { + activated = true; + break; } } - - if injection_ready || !settings.enhancements_enabled { - hooks.write_status("running").await; - } else { - hooks.write_status("running_degraded").await; - } - let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( - "launcher.activate_existing_codex", - json!({ - "app_dir": app_dir.to_string_lossy(), - "debug_port": options.debug_port, - "helper_port": options.helper_port, - "process_ids": process_ids, - "activated": activated, - "cdp_listening_before_launch": cdp_listening_before_launch, - "injection_ready": injection_ready, - "launch_attempted": should_launch, - "launch_ok": launch_ok, - "launch_error": launch_error - }), - ); - Ok(()) } - .await; - if helper_started { - hooks.shutdown_helper(options.helper_port).await; + let injection_ready = if settings.enhancements_enabled { + hooks + .ensure_injection(options.debug_port, options.helper_port, &app_dir) + .await + } else { + false + }; + if injection_ready { + hooks + .start_bridge_watchdog(options.debug_port, options.helper_port) + .await?; + hooks.write_status("running").await; + } else if settings.enhancements_enabled { + hooks.write_status("running_degraded").await; } - result -} - -fn existing_instance_should_launch(cdp_listening: bool, injection_ready: bool) -> bool { - !cdp_listening && !injection_ready + let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( + "launcher.activate_existing_codex", + json!({ + "app_dir": app_dir.to_string_lossy(), + "debug_port": options.debug_port, + "helper_port": options.helper_port, + "process_ids": process_ids, + "activated": activated, + "injection_ready": injection_ready, + "launch_ok": launch_result.is_ok(), + "launch_error": launch_result.as_ref().err().map(|error| error.to_string()) + }), + ); + launch_result.map(|_| ()) } fn log_launcher_already_running(debug_port: u16) { @@ -858,14 +796,6 @@ mod tests { assert!(source.contains("launcher.already_running")); } - #[test] - fn existing_instance_launches_only_when_cdp_is_unavailable() { - assert!(existing_instance_should_launch(false, false)); - assert!(!existing_instance_should_launch(true, false)); - assert!(!existing_instance_should_launch(true, true)); - assert!(!existing_instance_should_launch(false, true)); - } - #[test] fn launcher_hooks_forward_computer_use_guard_methods() { let source = include_str!("main.rs"); diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index b5035321a..7b9dd8a44 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.11", + "version": "1.2.12", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.11", + "version": "1.2.12", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index c623453c2..c11e08d6a 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.11", + "version": "1.2.12", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index c755a417b..4d8424fa7 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -365,8 +365,8 @@ pub fn launch_codex_plus(request: LaunchRequest) -> CommandResult { #[tauri::command] pub fn restart_codex_plus(request: LaunchRequest) -> CommandResult { - codex_plus_core::watcher::stop_launcher_processes(); - codex_plus_core::watcher::stop_codex_processes(); + codex_plus_core::watcher::stop_launcher_processes_and_wait(); + codex_plus_core::watcher::stop_codex_processes_and_wait(); spawn_codex_plus_launch(request, "Codex 已请求重启,启动任务正在后台运行。") } diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index cacda8244..3c3bacffd 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.11", + "version": "1.2.12", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 9111d9bd9..094549801 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -1,4 +1,3 @@ -use std::collections::HashSet; use std::net::SocketAddr; use std::path::{Path, PathBuf}; use std::process::Stdio; @@ -20,8 +19,6 @@ use crate::status::{LaunchStatus, StatusStore}; const POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS: &[u64] = &[0, 5, 15, 30, 60, 120, 180, 240, 300]; #[cfg_attr(not(windows), allow(dead_code))] const POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS: usize = 3; -const PACKAGED_CDP_READY_ATTEMPTS: usize = 10; -const PACKAGED_CDP_READY_DELAY: std::time::Duration = std::time::Duration::from_millis(500); #[derive(Debug, Clone, PartialEq, Eq)] pub enum CodexLaunch { @@ -504,26 +501,8 @@ impl LaunchHooks for DefaultLaunchHooks { else { unreachable!(); }; - let app_user_model_id_for_log = app_user_model_id.clone(); - let preexisting_cdp_targets = query_cdp_targets(debug_port).await; - let preexisting_cdp_target_ids = cdp_target_fingerprints(&preexisting_cdp_targets); - if preexisting_cdp_targets.iter().any(is_codex_cdp_target) { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.packaged_activation_reuse_preexisting_cdp", - serde_json::json!({ - "debug_port": debug_port, - "app_user_model_id": app_user_model_id_for_log, - "preexisting_cdp_target_count": preexisting_cdp_targets.len() - }), - ); - return Ok(CodexLaunch::PackagedActivation { - app_user_model_id: app_user_model_id.clone(), - arguments: arguments.clone(), - process_id: None, - }); - } let process_id = activate_packaged_app(app_user_model_id, arguments).await?; - let packaged_launch = match activation { + return Ok(match activation { CodexLaunch::PackagedActivation { app_user_model_id, arguments, @@ -534,27 +513,7 @@ impl LaunchHooks for DefaultLaunchHooks { process_id: Some(process_id), }, CodexLaunch::Process { .. } => unreachable!(), - }; - if cdp_json_ready( - debug_port, - PACKAGED_CDP_READY_ATTEMPTS, - PACKAGED_CDP_READY_DELAY, - &preexisting_cdp_target_ids, - ) - .await - { - return Ok(packaged_launch); - } - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.packaged_activation_cdp_unready_direct_fallback", - serde_json::json!({ - "debug_port": debug_port, - "app_user_model_id": app_user_model_id_for_log, - "process_id": process_id, - "preexisting_cdp_target_count": preexisting_cdp_targets.len() - }), - ); - let _ = terminate_windows_process_id(process_id).await; + }); } } @@ -1365,145 +1324,6 @@ pub fn build_packaged_activation( }) } -async fn cdp_json_ready( - debug_port: u16, - attempts: usize, - delay: std::time::Duration, - preexisting_targets: &HashSet, -) -> bool { - let client = match reqwest::Client::builder() - .no_proxy() - .timeout(std::time::Duration::from_millis(500)) - .build() - { - Ok(client) => client, - Err(_) => return false, - }; - for attempt in 0..attempts { - if cdp_json_ready_once(&client, debug_port, preexisting_targets).await { - return true; - } - if attempt + 1 < attempts { - tokio::time::sleep(delay).await; - } - } - false -} - -async fn query_cdp_targets(debug_port: u16) -> Vec { - let client = match reqwest::Client::builder() - .no_proxy() - .timeout(std::time::Duration::from_millis(500)) - .build() - { - Ok(client) => client, - Err(_) => return Vec::new(), - }; - let Some(targets) = query_cdp_targets_once(&client, debug_port).await else { - return Vec::new(); - }; - targets -} - -fn cdp_target_fingerprints(targets: &[crate::cdp::CdpTarget]) -> HashSet { - targets.iter().map(cdp_target_fingerprint).collect() -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -enum CdpTargetReadiness { - Ready, - NotPage, - MissingWebsocket, - NotCodexContext, - Preexisting, -} - -async fn cdp_json_ready_once( - client: &reqwest::Client, - debug_port: u16, - preexisting_targets: &HashSet, -) -> bool { - let Some(targets) = query_cdp_targets_once(client, debug_port).await else { - return false; - }; - targets.iter().any(|target| { - let readiness = cdp_target_readiness(target, preexisting_targets); - let accepted = readiness == CdpTargetReadiness::Ready; - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.cdp_readiness_target", - serde_json::json!({ - "debug_port": debug_port, - "target_id": target.id, - "target_type": target.target_type, - "title": target.title, - "url": target.url, - "has_websocket": target.web_socket_debugger_url.as_deref().is_some_and(|url| !url.is_empty()), - "fingerprint": cdp_target_fingerprint(target), - "readiness": format!("{readiness:?}"), - "accepted": accepted - }), - ); - accepted - }) -} - -async fn query_cdp_targets_once( - client: &reqwest::Client, - debug_port: u16, -) -> Option> { - for url in [ - format!("http://127.0.0.1:{debug_port}/json"), - format!("http://[::1]:{debug_port}/json"), - ] { - let Ok(response) = client.get(url).send().await else { - continue; - }; - let Ok(response) = response.error_for_status() else { - continue; - }; - let Ok(targets) = response.json::>().await else { - continue; - }; - return Some(targets); - } - None -} - -fn cdp_target_fingerprint(target: &crate::cdp::CdpTarget) -> String { - if !target.id.is_empty() { - return target.id.clone(); - } - target.web_socket_debugger_url.clone().unwrap_or_default() -} - -fn is_codex_cdp_target(target: &crate::cdp::CdpTarget) -> bool { - cdp_target_readiness(target, &HashSet::new()) == CdpTargetReadiness::Ready -} - -fn cdp_target_readiness( - target: &crate::cdp::CdpTarget, - preexisting_targets: &HashSet, -) -> CdpTargetReadiness { - if target.target_type != "page" { - return CdpTargetReadiness::NotPage; - } - if !target - .web_socket_debugger_url - .as_deref() - .is_some_and(|url| !url.is_empty()) - { - return CdpTargetReadiness::MissingWebsocket; - } - if preexisting_targets.contains(&cdp_target_fingerprint(target)) { - return CdpTargetReadiness::Preexisting; - } - let haystack = format!("{} {}", target.title, target.url).to_lowercase(); - if !haystack.contains("codex") { - return CdpTargetReadiness::NotCodexContext; - } - CdpTargetReadiness::Ready -} - async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { let mut last_error = None; for _ in 0..20 { @@ -2016,144 +1836,6 @@ fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> a mod tests { use super::*; - fn cdp_target( - id: &str, - target_type: &str, - title: &str, - url: &str, - ws: Option<&str>, - ) -> crate::cdp::CdpTarget { - crate::cdp::CdpTarget { - id: id.to_string(), - target_type: target_type.to_string(), - title: title.to_string(), - url: url.to_string(), - web_socket_debugger_url: ws.map(str::to_string), - } - } - - #[test] - fn cdp_readiness_accepts_only_codex_page_targets_with_websocket() { - assert!(is_codex_cdp_target(&cdp_target( - "target-1", - "page", - "Codex", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-1"), - ))); - assert!(!is_codex_cdp_target(&cdp_target( - "target-2", - "page", - "Other App", - "https://example.test/", - Some("ws://127.0.0.1:9229/devtools/page/target-2"), - ))); - assert!(!is_codex_cdp_target(&cdp_target( - "target-3", - "worker", - "Codex Worker", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-3"), - ))); - assert!(!is_codex_cdp_target(&cdp_target( - "target-4", - "page", - "Codex", - "https://codex.local/", - None, - ))); - } - - #[test] - fn cdp_readiness_rejects_preexisting_codex_target() { - let target = cdp_target( - "target-1", - "page", - "Codex", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-1"), - ); - let mut preexisting = HashSet::new(); - preexisting.insert(cdp_target_fingerprint(&target)); - - assert_eq!( - cdp_target_readiness(&target, &preexisting), - CdpTargetReadiness::Preexisting - ); - } - - #[test] - fn cdp_readiness_reports_rejection_reasons() { - assert_eq!( - cdp_target_readiness( - &cdp_target( - "target-1", - "worker", - "Codex Worker", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-1"), - ), - &HashSet::new(), - ), - CdpTargetReadiness::NotPage - ); - assert_eq!( - cdp_target_readiness( - &cdp_target( - "target-2", - "page", - "Other App", - "https://example.test/", - None - ), - &HashSet::new(), - ), - CdpTargetReadiness::MissingWebsocket - ); - assert_eq!( - cdp_target_readiness( - &cdp_target( - "target-3", - "page", - "Other App", - "https://example.test/", - Some("ws://127.0.0.1:9229/devtools/page/target-3"), - ), - &HashSet::new(), - ), - CdpTargetReadiness::NotCodexContext - ); - } - - #[test] - fn cdp_target_fingerprint_prefers_stable_id() { - let target = cdp_target( - "target-1", - "page", - "Codex", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-1"), - ); - - assert_eq!(cdp_target_fingerprint(&target), "target-1"); - } - - #[test] - fn cdp_target_fingerprint_falls_back_to_websocket_url() { - let target = cdp_target( - "", - "page", - "Codex", - "https://codex.local/", - Some("ws://127.0.0.1:9229/devtools/page/target-1"), - ); - - assert_eq!( - cdp_target_fingerprint(&target), - "ws://127.0.0.1:9229/devtools/page/target-1" - ); - } - #[test] fn post_launch_guard_stops_after_stable_ready_artifacts() { let artifacts = crate::computer_use_guard::GuardArtifacts { diff --git a/crates/codex-plus-core/src/watcher.rs b/crates/codex-plus-core/src/watcher.rs index f0dd40ee0..8a9965bac 100644 --- a/crates/codex-plus-core/src/watcher.rs +++ b/crates/codex-plus-core/src/watcher.rs @@ -8,6 +8,8 @@ use std::time::Duration; pub const WATCHER_INTERVAL_SECONDS: f64 = 3.0; pub const CDP_PROBE_TIMEOUT_SECONDS: f64 = 0.5; pub const TAKEOVER_FAILURE_BACKOFF_SECONDS: f64 = 30.0; +pub const RESTART_STOP_WAIT_TIMEOUT_MS: u64 = 5_000; +const RESTART_STOP_WAIT_INTERVAL_MS: u64 = 100; pub const WATCHER_RUN_NAME: &str = "CodexPlusPlusWatcher"; pub const WATCHER_RUN_KEY: &str = r"Software\Microsoft\Windows\CurrentVersion\Run"; pub const WATCHER_STARTUP_SHORTCUT_NAME: &str = "CodexPlusPlusWatcher.lnk"; @@ -121,6 +123,17 @@ pub fn should_recover_stale_launcher(has_codex_process: bool, cdp_listening: boo !has_codex_process && !cdp_listening } +pub fn process_ids_still_running( + expected: &[u32], + running: impl IntoIterator, +) -> Vec { + let expected = expected.iter().copied().collect::>(); + running + .into_iter() + .filter(|process_id| expected.contains(process_id)) + .collect() +} + #[cfg(windows)] pub fn install_watcher(launcher_path: &Path, debug_port: u16) -> anyhow::Result<()> { let plan = build_watcher_install_plan(launcher_path.to_path_buf(), debug_port); @@ -199,6 +212,29 @@ pub fn stop_launcher_processes() { #[cfg(not(windows))] pub fn stop_launcher_processes() {} +#[cfg(windows)] +pub fn stop_launcher_processes_and_wait() { + let processes = crate::windows_integration::enumerate_processes(); + let killable = filter_killable_launcher_processes( + processes.iter().map(|process| { + ( + process.process_id, + process.parent_process_id, + process.exe_file.as_str(), + ) + }), + std::process::id(), + ); + terminate_and_wait_for_exit( + killable, + RESTART_STOP_WAIT_TIMEOUT_MS, + RESTART_STOP_WAIT_INTERVAL_MS, + ); +} + +#[cfg(not(windows))] +pub fn stop_launcher_processes_and_wait() {} + #[cfg(windows)] pub fn stop_codex_processes() { for process_id in find_codex_processes() { @@ -209,6 +245,48 @@ pub fn stop_codex_processes() { #[cfg(not(windows))] pub fn stop_codex_processes() {} +#[cfg(windows)] +pub fn stop_codex_processes_and_wait() { + terminate_and_wait_for_exit( + find_codex_processes(), + RESTART_STOP_WAIT_TIMEOUT_MS, + RESTART_STOP_WAIT_INTERVAL_MS, + ); +} + +#[cfg(not(windows))] +pub fn stop_codex_processes_and_wait() {} + +#[cfg(windows)] +fn terminate_and_wait_for_exit(process_ids: Vec, timeout_ms: u64, interval_ms: u64) { + if process_ids.is_empty() { + return; + } + for process_id in &process_ids { + let _ = crate::windows_integration::terminate_process(*process_id); + } + let deadline = std::time::Instant::now() + Duration::from_millis(timeout_ms); + loop { + let running_process_ids = crate::windows_integration::enumerate_processes() + .into_iter() + .map(|process| process.process_id); + let remaining = process_ids_still_running(&process_ids, running_process_ids); + if remaining.is_empty() || std::time::Instant::now() >= deadline { + if !remaining.is_empty() { + let _ = crate::diagnostic_log::append_diagnostic_log( + "watcher.stop_wait_timeout", + serde_json::json!({ + "remaining_process_ids": remaining, + "timeout_ms": timeout_ms + }), + ); + } + break; + } + std::thread::sleep(Duration::from_millis(interval_ms)); + } +} + #[cfg(windows)] fn create_startup_shortcut(launcher_path: &Path, arguments: &str) -> anyhow::Result<()> { let Some(shortcut_path) = startup_shortcut_path() else { diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index e06bb9019..2b915bfdc 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -305,6 +305,14 @@ fn launcher_packaged_activation_can_preserve_process_id() { assert_eq!(launch.process_id(), Some(4242)); } +#[test] +fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { + let source = include_str!("../src/launcher.rs"); + + assert!(!source.contains("launcher.packaged_activation_cdp_unready_direct_fallback")); + assert!(!source.contains("terminate_windows_process_id(process_id).await")); +} + #[cfg(windows)] #[test] fn launcher_windows_packaged_process_management_uses_native_api() { diff --git a/crates/codex-plus-core/tests/watcher.rs b/crates/codex-plus-core/tests/watcher.rs index 716707dcf..81f80e3b3 100644 --- a/crates/codex-plus-core/tests/watcher.rs +++ b/crates/codex-plus-core/tests/watcher.rs @@ -1,7 +1,7 @@ use codex_plus_core::watcher::{ build_spawn_launcher_command, build_watcher_install_plan, cdp_listening, codex_process_ids, disable_watcher_at, enable_watcher_at, filter_killable_launcher_processes, - should_recover_stale_launcher, watcher_disabled_flag, + process_ids_still_running, should_recover_stale_launcher, watcher_disabled_flag, }; #[test] @@ -103,3 +103,11 @@ fn stale_launcher_recovery_only_runs_when_codex_and_cdp_are_absent() { assert!(!should_recover_stale_launcher(false, true)); assert!(!should_recover_stale_launcher(true, true)); } + +#[test] +fn stop_wait_tracks_only_expected_process_ids() { + assert_eq!( + process_ids_still_running(&[10, 20, 30], [5, 20, 40, 30]), + vec![20, 30] + ); +} From f9b420e9a650eb5f5db640f68bde6bd12c32de04 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 12:20:20 +0800 Subject: [PATCH 052/156] fix: detect MS Store Codex via Appx fallback --- Cargo.lock | 8 ++--- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 +-- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/tauri.conf.json | 2 +- crates/codex-plus-core/src/app_paths.rs | 30 +++++++++++++++++++ crates/codex-plus-core/tests/launcher.rs | 15 ++++++++-- 7 files changed, 52 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 001e22a42..6be6f3bd3 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.12" +version = "1.2.13" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.12" +version = "1.2.13" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.12" +version = "1.2.13" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.12" +version = "1.2.13" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 40de53a1b..436efcfa4 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.12" +version = "1.2.13" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 7b9dd8a44..8b1994c9f 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.12", + "version": "1.2.13", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.12", + "version": "1.2.13", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index c11e08d6a..7bbbb9310 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.12", + "version": "1.2.13", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 3c3bacffd..84b3f4a51 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.12", + "version": "1.2.13", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/crates/codex-plus-core/src/app_paths.rs b/crates/codex-plus-core/src/app_paths.rs index 528956400..eea428576 100644 --- a/crates/codex-plus-core/src/app_paths.rs +++ b/crates/codex-plus-core/src/app_paths.rs @@ -1,5 +1,7 @@ use std::ffi::OsStr; use std::path::{Path, PathBuf}; +#[cfg(windows)] +use std::process::Command; const CODEX_PACKAGE_IDENTITIES: &[&str] = &["OpenAI.Codex", "OpenAI.CodexBeta"]; @@ -31,6 +33,7 @@ pub fn find_latest_codex_app_dir_default() -> Option { #[cfg(windows)] { find_latest_codex_app_dir_from_roots(&windows_app_package_roots()) + .or_else(find_latest_codex_app_dir_from_appx_package) } #[cfg(not(windows))] @@ -39,6 +42,33 @@ pub fn find_latest_codex_app_dir_default() -> Option { } } +#[cfg(windows)] +fn find_latest_codex_app_dir_from_appx_package() -> Option { + let output = Command::new("powershell") + .args([ + "-NoProfile", + "-ExecutionPolicy", + "Bypass", + "-Command", + "Get-AppxPackage -Name OpenAI.Codex* | Where-Object { @('OpenAI.Codex','OpenAI.CodexBeta') -contains $_.Name } | Sort-Object Version -Descending | Select-Object -First 1 -ExpandProperty InstallLocation", + ]) + .output() + .ok()?; + if !output.status.success() { + return None; + } + latest_appx_install_location_from_output(&String::from_utf8_lossy(&output.stdout)) + .and_then(|location| normalize_codex_app_path(Path::new(&location))) +} + +pub fn latest_appx_install_location_from_output(output: &str) -> Option { + output + .lines() + .map(str::trim) + .find(|line| !line.is_empty()) + .map(ToString::to_string) +} + #[cfg(windows)] fn windows_app_package_roots() -> Vec { let mut roots = Vec::new(); diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 2b915bfdc..5177ffd55 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -3,8 +3,9 @@ use std::sync::{Arc, Mutex}; use codex_plus_core::app_paths::{ build_codex_executable, codex_app_version, find_latest_codex_app_dir, - find_latest_codex_app_dir_from_roots, find_macos_codex_app, normalize_codex_app_path, - packaged_app_user_model_id, resolve_codex_app_dir_with_saved, user_data_candidates_from, + find_latest_codex_app_dir_from_roots, find_macos_codex_app, + latest_appx_install_location_from_output, normalize_codex_app_path, packaged_app_user_model_id, + resolve_codex_app_dir_with_saved, user_data_candidates_from, }; use codex_plus_core::launcher::{ CodexLaunch, DefaultLaunchHooks, LaunchHooks, LaunchOptions, MacosCleanupPolicy, @@ -305,6 +306,16 @@ fn launcher_packaged_activation_can_preserve_process_id() { assert_eq!(launch.process_id(), Some(4242)); } +#[test] +fn app_paths_parse_appx_install_location_from_powershell_output() { + let output = "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; + + assert_eq!( + latest_appx_install_location_from_output(output).as_deref(), + Some(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0") + ); +} + #[test] fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { let source = include_str!("../src/launcher.rs"); From b3faa31e8b11ebb8ce63b00686fc9fa188432e6d Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 17:33:48 +0800 Subject: [PATCH 053/156] docs: update community and Codelf links --- README.md | 8 +++++--- README_EN.md | 6 ++++-- 2 files changed, 9 insertions(+), 5 deletions(-) diff --git a/README.md b/README.md index 1a9542331..ce4f4e2f4 100644 --- a/README.md +++ b/README.md @@ -159,15 +159,17 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 - Codelf + + Codelf + - Codelf
Codelf 是内置自主式 AI Agent 的桌面应用,也是一款完整编辑器。它支持用自然语言开发项目、整理资料、操作电脑和调用本地程序,国内可直接使用,支持多家大模型,并通过高上下文缓存命中降低使用成本。 + Codelf
Codelf 是内置自主式 AI Agent 的桌面应用,也是一款完整编辑器。它支持用自然语言开发项目、整理资料、操作电脑和调用本地程序,国内可直接使用,支持多家大模型,并通过高上下文缓存命中降低使用成本。 ## 交流与支持 -欢迎加入 Codex++ 交流群(QQ群:1103050832),反馈问题、交流使用体验或提出新功能建议。 +欢迎加入 Codex++ 交流群(QQ群:830629290),反馈问题、交流使用体验或提出新功能建议。 微信群:点击这里获取最新微信群二维码。 diff --git a/README_EN.md b/README_EN.md index 1743c5f51..6b537e9d3 100644 --- a/README_EN.md +++ b/README_EN.md @@ -111,9 +111,11 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in - Codelf + + Codelf + - Codelf
Codelf is a desktop app with an autonomous AI Agent and a full editor. It can help users build projects, organize materials, operate local apps, and work with multiple AI model providers through natural language, with direct access in China and high context-cache efficiency. + Codelf
Codelf is a desktop app with an autonomous AI Agent and a full editor. It can help users build projects, organize materials, operate local apps, and work with multiple AI model providers through natural language, with direct access in China and high context-cache efficiency. From c4e404c2d7d66719df8468b8065cdf035036b99d Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 21:23:53 +0800 Subject: [PATCH 054/156] fix: preserve relay state and macos dmg install shortcut --- .gitattributes | 3 + .github/workflows/pr-build.yml | 2 + .github/workflows/release-assets.yml | 2 + apps/codex-plus-manager/src-tauri/src/lib.rs | 8 +- apps/codex-plus-manager/src/App.tsx | 23 ++-- crates/codex-plus-core/src/relay_config.rs | 4 + crates/codex-plus-core/src/relay_switch.rs | 1 + crates/codex-plus-core/tests/installers.rs | 8 ++ crates/codex-plus-core/tests/launcher.rs | 3 +- crates/codex-plus-core/tests/relay_config.rs | 129 +++++++++++++------ crates/codex-plus-core/tests/relay_switch.rs | 64 +++++++++ docs/images/discussion-group-qr.jpg | Bin 181716 -> 183569 bytes scripts/installer/macos/package-dmg.sh | 2 + 13 files changed, 199 insertions(+), 50 deletions(-) diff --git a/.gitattributes b/.gitattributes index d03dc13af..381821cb9 100644 --- a/.gitattributes +++ b/.gitattributes @@ -3,3 +3,6 @@ *.bat text eol=crlf *.cmd text eol=crlf *.ps1 text eol=crlf + +*.sh text eol=lf +.github/workflows/*.yml text eol=lf diff --git a/.github/workflows/pr-build.yml b/.github/workflows/pr-build.yml index 2ae77ac0e..ce3818db7 100644 --- a/.github/workflows/pr-build.yml +++ b/.github/workflows/pr-build.yml @@ -134,6 +134,8 @@ jobs: - name: Verify macOS bundle structure run: | set -euo pipefail + test -L "dist/macos/stage/Applications" + test "$(readlink "dist/macos/stage/Applications")" = "/Applications" for app in "dist/macos/stage/Codex++.app" "dist/macos/stage/Codex++ 管理工具.app"; do test -f "$app/Contents/Info.plist" test -f "$app/Contents/PkgInfo" diff --git a/.github/workflows/release-assets.yml b/.github/workflows/release-assets.yml index d462d15a4..8123c184d 100644 --- a/.github/workflows/release-assets.yml +++ b/.github/workflows/release-assets.yml @@ -112,6 +112,8 @@ jobs: - name: Verify macOS bundle structure run: | set -euo pipefail + test -L "dist/macos/stage/Applications" + test "$(readlink "dist/macos/stage/Applications")" = "/Applications" for app in "dist/macos/stage/Codex++.app" "dist/macos/stage/Codex++ 管理工具.app"; do test -f "$app/Contents/Info.plist" test -f "$app/Contents/PkgInfo" diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 8e13104bb..9dc95c311 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -34,10 +34,10 @@ pub fn run() { }; let main_window = tauri::WebviewWindowBuilder::new(app, "main", tauri::WebviewUrl::App(url.into())) - .title("Codex++ 管理工具") - .inner_size(1180.0, 820.0) - .min_inner_size(960.0, 720.0) - .build()?; + .title("Codex++ 管理工具") + .inner_size(1180.0, 820.0) + .min_inner_size(960.0, 720.0) + .build()?; install_tray(app)?; register_main_window_events(main_window, app.handle().clone()); Ok(()) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 30381a202..07c7c2967 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -3075,10 +3075,11 @@ function RelayProfileDetail({ }) { const [draft, setDraft] = useState(profile); const isActive = !isNew && profile.id === form.activeRelayId; + const profileUsesLiveFiles = relayProfileUsesLiveFiles(profile); useEffect(() => { setDraft( deriveRelayProfileFromFiles( - isActive && relayFiles + isActive && profileUsesLiveFiles && relayFiles ? { ...profile, configContents: relayFiles.configContents, @@ -3087,14 +3088,14 @@ function RelayProfileDetail({ : profile, ), ); - }, [profile.id, isActive, isNew, relayFiles?.configContents, relayFiles?.authContents]); + }, [profile.id, profileUsesLiveFiles, isActive, isNew, relayFiles?.configContents, relayFiles?.authContents]); const saveDraft = async () => { const normalizedDraft = deriveRelayProfileFromFiles(draft); const next = isNew ? addRelayProfile(form, normalizedDraft) : updateRelayProfile(form, profile.id, normalizedDraft); await onFormChange(next); - if (isActive) { + if (isActive && relayProfileUsesLiveFiles(normalizedDraft)) { await actions.saveRelayFile( "config", effectiveRelayConfigPreview(normalizedDraft, form, normalizedDraft), @@ -4701,6 +4702,8 @@ function inputToCodexExtraArgs(value: string) { function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = emptyContextSelection()): RelayProfile { const legacyMixedApi = profile.relayMode === "mixedApi"; + const relayMode = normalizeRelayMode(profile.relayMode); + const officialMixApiKey = profile.officialMixApiKey === true || legacyMixedApi; let normalized: RelayProfile = { ...profile, model: profile.model || "", @@ -4708,11 +4711,11 @@ function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = upstreamBaseUrl: profile.upstreamBaseUrl || profile.baseUrl || "", apiKey: profile.apiKey || "", protocol: profile.protocol === "chatCompletions" ? "chatCompletions" : "responses", - relayMode: normalizeRelayMode(profile.relayMode), - officialMixApiKey: profile.officialMixApiKey === true || legacyMixedApi, + relayMode, + officialMixApiKey, testModel: profile.testModel || "", - configContents: profile.configContents || "", - authContents: profile.authContents || "", + configContents: relayMode === "official" && !officialMixApiKey ? "" : profile.configContents || "", + authContents: relayMode === "official" && !officialMixApiKey ? buildOfficialRelayAuthJson(profile.authContents || "") : profile.authContents || "", useCommonConfig: profile.useCommonConfig !== false, contextSelection: profile.contextSelectionInitialized ? normalizeContextSelection(profile.contextSelection) @@ -4723,7 +4726,7 @@ function normalizeRelayProfile(profile: RelayProfile, defaultContextSelection = modelList: profile.modelList || "", userAgent: profile.userAgent || "", }; - return deriveRelayProfileFromFiles(normalized); + return relayProfileUsesLiveFiles(normalized) ? deriveRelayProfileFromFiles(normalized) : normalized; } function activeRelayProfile(settings: BackendSettings): RelayProfile { @@ -5142,6 +5145,10 @@ function relayProfileSwitchValidation(profile: RelayProfile): string | null { return "官方混合 API 不应在 auth.json 中保存 OPENAI_API_KEY。请清理此供应商的 auth.json 后再切换。"; } +function relayProfileUsesLiveFiles(profile: RelayProfile): boolean { + return profile.relayMode !== "official" || profile.officialMixApiKey; +} + function authJsonHasOpenAiApiKey(contents: string): boolean { const trimmed = contents.trim(); if (!trimmed) return false; diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index e26a7a31d..7503cf34f 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -1680,6 +1680,10 @@ fn restore_profile_auth_from_live_config( } fn sync_profile_mode_from_backfilled_live(profile: &mut RelayProfile) { + if profile.relay_mode == crate::settings::RelayMode::Official && !profile.official_mix_api_key { + return; + } + if codex_auth_api_key(&profile.auth_contents) .as_deref() .is_some_and(|value| !value.trim().is_empty()) diff --git a/crates/codex-plus-core/src/relay_switch.rs b/crates/codex-plus-core/src/relay_switch.rs index 80c772a0a..e481d2dd0 100644 --- a/crates/codex-plus-core/src/relay_switch.rs +++ b/crates/codex-plus-core/src/relay_switch.rs @@ -37,6 +37,7 @@ pub fn switch_relay_profile_in_home( store .save(&selected_settings) .context("保存供应商设置失败")?; + let selected_settings = store.load().context("读取供应商设置失败")?; match apply_selected_relay_profile(home, &selected_settings) { Ok(result) => Ok(result), diff --git a/crates/codex-plus-core/tests/installers.rs b/crates/codex-plus-core/tests/installers.rs index d20bf614d..e0aa042fd 100644 --- a/crates/codex-plus-core/tests/installers.rs +++ b/crates/codex-plus-core/tests/installers.rs @@ -74,6 +74,14 @@ fn installer_exports_expected_two_entrypoint_names() { assert_eq!(app_bundle_names(), ("Codex++.app", "Codex++ 管理工具.app")); } +#[test] +fn macos_dmg_includes_applications_shortcut_for_drag_install() { + let script = std::fs::read_to_string("../../scripts/installer/macos/package-dmg.sh") + .expect("read macOS DMG packaging script"); + + assert!(script.contains("ln -s /Applications \"$STAGE/Applications\"")); +} + #[test] fn companion_binary_path_resolves_macos_silent_app_next_to_manager_app() { let manager_exe = std::path::Path::new( diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 5177ffd55..5c1350843 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -308,7 +308,8 @@ fn launcher_packaged_activation_can_preserve_process_id() { #[test] fn app_paths_parse_appx_install_location_from_powershell_output() { - let output = "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; + let output = + "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; assert_eq!( latest_appx_install_location_from_output(output).as_deref(), diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index e9ac06655..b3c378729 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -1816,25 +1816,11 @@ requires_openai_auth = true backfill_relay_profile_from_home_with_common(temp.path(), &mut current, &mut common).unwrap(); normalize_relay_profile_for_storage(&mut current).unwrap(); - assert_eq!(current.relay_mode, RelayMode::PureApi); + assert_eq!(current.relay_mode, RelayMode::Official); assert!(!current.official_mix_api_key); - assert!( - current - .config_contents - .contains(r#"model_provider = "manual_api""#) - ); - assert!( - current - .config_contents - .contains("[model_providers.manual_api]") - ); - assert!( - !current - .config_contents - .contains("experimental_bearer_token") - ); - let auth: serde_json::Value = serde_json::from_str(¤t.auth_contents).unwrap(); - assert_eq!(auth["OPENAI_API_KEY"], "sk-manual"); + assert!(current.config_contents.is_empty()); + assert!(current.api_key.is_empty()); + assert!(!current.auth_contents.contains("OPENAI_API_KEY")); } #[test] @@ -1873,25 +1859,94 @@ experimental_bearer_token = "sk-mix" normalize_relay_profile_for_storage(&mut current).unwrap(); assert_eq!(current.relay_mode, RelayMode::Official); - assert!(current.official_mix_api_key); - assert!( - current - .config_contents - .contains(r#"model_provider = "manual_mix""#) - ); - assert!( - current - .config_contents - .contains("[model_providers.manual_mix]") - ); - assert!( - current - .config_contents - .contains(r#"experimental_bearer_token = "sk-mix""#) - ); - assert_eq!(current.api_key, "sk-mix"); - let auth: serde_json::Value = serde_json::from_str(¤t.auth_contents).unwrap(); - assert!(auth.get("OPENAI_API_KEY").is_none()); + assert!(!current.official_mix_api_key); + assert!(current.config_contents.is_empty()); + assert!(current.api_key.is_empty()); + assert!(!current.auth_contents.contains("OPENAI_API_KEY")); +} + +#[test] +fn backfill_official_profile_does_not_promote_codex_plus_switch_live_config() { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "deepseek-chat" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +base_url = "https://third-party.example/v1" +wire_api = "responses" +requires_openai_auth = true +"#, + ) + .unwrap(); + std::fs::write( + temp.path().join("auth.json"), + r#"{"OPENAI_API_KEY":"sk-third-party"}"#, + ) + .unwrap(); + let mut current = RelayProfile { + id: "official".to_string(), + relay_mode: RelayMode::Official, + official_mix_api_key: false, + config_contents: String::new(), + auth_contents: r#"{"auth_mode":"chatgpt","tokens":{"access_token":"official"}}"# + .to_string(), + ..RelayProfile::default() + }; + let mut common = String::new(); + + backfill_relay_profile_from_home_with_common(temp.path(), &mut current, &mut common).unwrap(); + normalize_relay_profile_for_storage(&mut current).unwrap(); + + assert_eq!(current.relay_mode, RelayMode::Official); + assert!(!current.official_mix_api_key); + assert!(current.config_contents.is_empty()); + assert!(current.api_key.is_empty()); + assert!(!current.auth_contents.contains("OPENAI_API_KEY")); +} + +#[test] +fn backfill_official_profile_does_not_promote_custom_numbered_live_config() { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "gpt-5.5" +model_provider = "custom1" + +[model_providers.custom1] +name = "custom1" +base_url = "https://third-party.example/v1" +wire_api = "responses" +requires_openai_auth = true +"#, + ) + .unwrap(); + std::fs::write( + temp.path().join("auth.json"), + r#"{"OPENAI_API_KEY":"sk-third-party"}"#, + ) + .unwrap(); + let mut current = RelayProfile { + id: "official".to_string(), + relay_mode: RelayMode::Official, + official_mix_api_key: false, + config_contents: String::new(), + auth_contents: r#"{"auth_mode":"chatgpt","tokens":{"access_token":"official"}}"# + .to_string(), + ..RelayProfile::default() + }; + let mut common = String::new(); + + backfill_relay_profile_from_home_with_common(temp.path(), &mut current, &mut common).unwrap(); + normalize_relay_profile_for_storage(&mut current).unwrap(); + + assert_eq!(current.relay_mode, RelayMode::Official); + assert!(!current.official_mix_api_key); + assert!(current.config_contents.is_empty()); + assert!(current.api_key.is_empty()); + assert!(!current.auth_contents.contains("OPENAI_API_KEY")); } #[test] diff --git a/crates/codex-plus-core/tests/relay_switch.rs b/crates/codex-plus-core/tests/relay_switch.rs index e1fd99a99..1bd806c02 100644 --- a/crates/codex-plus-core/tests/relay_switch.rs +++ b/crates/codex-plus-core/tests/relay_switch.rs @@ -107,6 +107,70 @@ base_url = "https://edited-a.example/v1" assert_eq!(stored.launch_mode, LaunchMode::Patch); } +#[test] +fn switch_returns_normalized_previous_official_profile_after_backfill() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join("codex"); + std::fs::create_dir(&home).unwrap(); + std::fs::write( + home.join("config.toml"), + r#"model = "gpt-5.5" +model_reasoning_effort = "high" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://third-party.example/v1" + +[features] +goals = true +"#, + ) + .unwrap(); + std::fs::write( + home.join("auth.json"), + r#"{"OPENAI_API_KEY":"sk-third-party"}"#, + ) + .unwrap(); + let store = SettingsStore::new(temp.path().join("settings.json")); + let official = RelayProfile { + id: "official".to_string(), + name: "官方".to_string(), + relay_mode: RelayMode::Official, + official_mix_api_key: false, + auth_contents: r#"{"auth_mode":"chatgpt","tokens":{"access_token":"official"}}"# + .to_string(), + ..RelayProfile::default() + }; + let pure = pure_profile("api", "https://third-party.example/v1", "sk-third-party"); + let original = BackendSettings { + active_relay_id: "official".to_string(), + relay_profiles: vec![official.clone(), pure.clone()], + ..BackendSettings::default() + }; + store.save(&original).unwrap(); + let next = BackendSettings { + active_relay_id: "api".to_string(), + relay_profiles: vec![official, pure], + ..BackendSettings::default() + }; + + let result = switch_relay_profile_in_home(&store, &home, next, "official").unwrap(); + let returned = result + .settings + .relay_profiles + .iter() + .find(|profile| profile.id == "official") + .unwrap(); + + assert_eq!(returned.relay_mode, RelayMode::Official); + assert!(!returned.official_mix_api_key); + assert!(returned.config_contents.is_empty()); + assert!(returned.api_key.is_empty()); +} + fn pure_profile(id: &str, base_url: &str, key: &str) -> RelayProfile { RelayProfile { id: id.to_string(), diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 16edf95c684a175c6606fad98c97464ddcf3bbf9..e186b70590fe9e632911729d6a734dd62343d77f 100644 GIT binary patch literal 183569 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 KXbw}4#QzK80Vl2i literal 181716 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%0D7^BL7BuEb9JEnx6?#8Tx> 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 y2 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 bY+yYGfLEXd7p``L|MPax*~!`^YTEw*Ri*bb diff --git a/scripts/installer/macos/package-dmg.sh b/scripts/installer/macos/package-dmg.sh index c245dc43b..287778ee2 100755 --- a/scripts/installer/macos/package-dmg.sh +++ b/scripts/installer/macos/package-dmg.sh @@ -127,5 +127,7 @@ sign_app "$STAGE/Codex++ 管理工具.app" verify_app "$STAGE/Codex++.app" verify_app "$STAGE/Codex++ 管理工具.app" +ln -s /Applications "$STAGE/Applications" + hdiutil create -volname "Codex++" -srcfolder "$STAGE" -ov -format UDZO "$DMG" echo "$DMG" From 76686f03cf7b2e8acd3f7894323989e02fa104d3 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 17 Jun 2026 22:56:44 +0800 Subject: [PATCH 055/156] fix: pass through upstream user agent --- Cargo.lock | 8 +- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/tauri.conf.json | 2 +- crates/codex-plus-core/src/launcher.rs | 155 +++++++++----- crates/codex-plus-core/src/protocol_proxy.rs | 40 +++- crates/codex-plus-core/tests/model_catalog.rs | 3 +- .../codex-plus-core/tests/protocol_proxy.rs | 196 +++++++++++++++++- 9 files changed, 340 insertions(+), 72 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 6be6f3bd3..63dbfdb34 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.13" +version = "1.2.14" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.13" +version = "1.2.14" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.13" +version = "1.2.14" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.13" +version = "1.2.14" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 436efcfa4..814c12633 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.13" +version = "1.2.14" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 8b1994c9f..52085ce42 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.13", + "version": "1.2.14", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.13", + "version": "1.2.14", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 7bbbb9310..5b8c17659 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.13", + "version": "1.2.14", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 84b3f4a51..7c3299aa7 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.13", + "version": "1.2.14", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index d6b878de6..2de35c46d 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -712,6 +712,7 @@ async fn handle_helper_connection( let raw_path = parts.next().unwrap_or_default(); let path = raw_path.split('?').next().unwrap_or(raw_path); let request_body = http_request_body(&request); + let request_user_agent = header_value_from_request(&request, "user-agent"); let remote_addr_text = remote_addr.map(|addr| addr.to_string()); let _ = crate::diagnostic_log::append_diagnostic_log( @@ -729,6 +730,7 @@ async fn handle_helper_connection( return handle_protocol_proxy_connection( &mut stream, request_body, + request_user_agent.as_deref(), method, path, remote_addr_text, @@ -739,6 +741,7 @@ async fn handle_helper_connection( return handle_chat_completions_proxy_connection( &mut stream, request_body, + request_user_agent.as_deref(), method, path, remote_addr_text, @@ -746,7 +749,14 @@ async fn handle_helper_connection( .await; } if crate::protocol_proxy::is_models_proxy_path(path) && matches!(method, "GET" | "OPTIONS") { - return handle_models_proxy_connection(&mut stream, method, path, remote_addr_text).await; + return handle_models_proxy_connection( + &mut stream, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; } let (status, body, content_type, log_event) = @@ -898,6 +908,7 @@ fn overlay_image_content_type(path: &Path) -> Option<&'static str> { async fn handle_models_proxy_connection( stream: &mut tokio::net::TcpStream, + request_user_agent: Option<&str>, method: &str, path: &str, remote_addr_text: Option, @@ -914,7 +925,8 @@ async fn handle_models_proxy_connection( return Ok(()); } - let upstream = match crate::protocol_proxy::open_models_proxy_request().await { + let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await + { Ok(upstream) => upstream, Err(error) => { let body = serde_json::to_vec(&serde_json::json!({ @@ -967,36 +979,40 @@ async fn handle_models_proxy_connection( async fn handle_protocol_proxy_connection( stream: &mut tokio::net::TcpStream, request_body: &str, + request_user_agent: Option<&str>, method: &str, path: &str, remote_addr_text: Option, ) -> anyhow::Result<()> { let request_json = serde_json::from_str::(request_body).ok(); - let upstream = match crate::protocol_proxy::open_responses_proxy_request(request_body).await { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.protocol_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; + let upstream = + match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; if !upstream.is_success() { let status = upstream.status(); @@ -1091,36 +1107,41 @@ async fn handle_protocol_proxy_connection( async fn handle_chat_completions_proxy_connection( stream: &mut tokio::net::TcpStream, request_body: &str, + request_user_agent: Option<&str>, method: &str, path: &str, remote_addr_text: Option, ) -> anyhow::Result<()> { - let upstream = - match crate::protocol_proxy::open_chat_completions_proxy_request(request_body).await { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.chat_completions_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; + let upstream = match crate::protocol_proxy::open_chat_completions_proxy_request( + request_body, + request_user_agent, + ) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.chat_completions_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; let status = upstream.status(); let is_success = upstream.is_success(); @@ -1211,7 +1232,7 @@ fn log_helper_response( #[cfg(test)] mod computer_use_tests { - use super::overlay_image_content_type; + use super::{header_value_from_request, overlay_image_content_type}; use std::path::Path; #[test] @@ -1230,6 +1251,16 @@ mod computer_use_tests { ); assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); } + + #[test] + fn header_value_from_request_reads_user_agent_case_insensitively() { + let request = "POST /v1/chat/completions HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: Codex/26.614\r\nContent-Length: 2\r\n\r\n{}"; + + assert_eq!( + header_value_from_request(request, "user-agent").as_deref(), + Some("Codex/26.614") + ); + } } async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { @@ -1286,6 +1317,22 @@ fn http_request_body(request: &str) -> &str { .unwrap_or_default() } +fn header_value_from_request(request: &str, header_name: &str) -> Option { + request + .split_once("\r\n\r\n") + .map(|(headers, _)| headers) + .unwrap_or(request) + .lines() + .skip(1) + .find_map(|line| { + let (name, value) = line.split_once(':')?; + name.trim() + .eq_ignore_ascii_case(header_name) + .then(|| value.trim().to_string()) + }) + .filter(|value| !value.is_empty()) +} + fn sanitize_diagnostic_event(event: &str) -> String { let sanitized = event .chars() diff --git a/crates/codex-plus-core/src/protocol_proxy.rs b/crates/codex-plus-core/src/protocol_proxy.rs index 53919370a..1eb174e32 100644 --- a/crates/codex-plus-core/src/protocol_proxy.rs +++ b/crates/codex-plus-core/src/protocol_proxy.rs @@ -423,7 +423,10 @@ pub fn is_models_proxy_path(path: &str) -> bool { ) } -pub async fn open_responses_proxy_request(body: &str) -> anyhow::Result { +pub async fn open_responses_proxy_request( + body: &str, + original_user_agent: Option<&str>, +) -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); let relay = settings.active_relay_profile(); if relay.protocol != RelayProtocol::ChatCompletions { @@ -442,7 +445,10 @@ pub async fn open_responses_proxy_request(body: &str) -> anyhow::Result anyhow::Result anyhow::Result { +pub async fn open_models_proxy_request( + original_user_agent: Option<&str>, +) -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); let relay = settings.active_relay_profile(); if relay.protocol != RelayProtocol::ChatCompletions { @@ -479,7 +487,10 @@ pub async fn open_models_proxy_request() -> anyhow::Result anyhow::Result, ) -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); let relay = settings.active_relay_profile(); @@ -521,7 +533,11 @@ pub async fn open_chat_completions_proxy_request( .get("stream") .and_then(Value::as_bool) .unwrap_or(false); - let upstream = reqwest::Client::new() + let client = crate::http_client::proxied_client(&effective_user_agent( + &relay.user_agent, + original_user_agent, + ))?; + let upstream = client .post(chat_completions_url(&relay.base_url)) .bearer_auth(relay.api_key.trim()) .header(reqwest::header::CONTENT_TYPE, "application/json") @@ -544,9 +560,21 @@ pub async fn open_chat_completions_proxy_request( }) } +fn effective_user_agent(configured_user_agent: &str, original_user_agent: Option<&str>) -> String { + let configured_user_agent = configured_user_agent.trim(); + if !configured_user_agent.is_empty() { + return configured_user_agent.to_string(); + } + original_user_agent + .map(str::trim) + .filter(|user_agent| !user_agent.is_empty()) + .unwrap_or("") + .to_string() +} + pub async fn handle_responses_proxy_request(body: &str) -> anyhow::Result { let request_json: Value = serde_json::from_str(body)?; - let upstream = open_responses_proxy_request(body).await?; + let upstream = open_responses_proxy_request(body, None).await?; let status_code = upstream.status_code; let upstream_content_type = upstream.content_type.clone(); let is_stream = upstream.is_stream; diff --git a/crates/codex-plus-core/tests/model_catalog.rs b/crates/codex-plus-core/tests/model_catalog.rs index 102198cf8..cf5b15890 100644 --- a/crates/codex-plus-core/tests/model_catalog.rs +++ b/crates/codex-plus-core/tests/model_catalog.rs @@ -90,10 +90,9 @@ async fn model_catalog_uses_active_relay_profile_model_list_for_display() { model: "qwen3-coder".to_string(), base_url: "https://example.test/v1".to_string(), protocol: RelayProtocol::Responses, - relay_mode: RelayMode::PureApi, + relay_mode: RelayMode::MixedApi, model_list: "deepseek-coder\nqwen3-coder\nclaude-compatible".to_string(), config_contents: "model = \"qwen3-coder\"\n".to_string(), - relay_mode: codex_plus_core::settings::RelayMode::MixedApi, ..RelayProfile::default() }], ..BackendSettings::default() diff --git a/crates/codex-plus-core/tests/protocol_proxy.rs b/crates/codex-plus-core/tests/protocol_proxy.rs index 6300290e2..fa32de394 100644 --- a/crates/codex-plus-core/tests/protocol_proxy.rs +++ b/crates/codex-plus-core/tests/protocol_proxy.rs @@ -2,10 +2,16 @@ use codex_plus_core::protocol_proxy::{ ChatSseToResponsesConverter, chat_completion_to_response, chat_completion_to_response_with_request, chat_completions_url, chat_sse_to_responses_sse, chat_sse_to_responses_sse_with_request, is_chat_completions_proxy_path, is_models_proxy_path, - is_responses_proxy_path, models_url, responses_error_from_upstream, + is_responses_proxy_path, models_url, open_chat_completions_proxy_request, + open_models_proxy_request, open_responses_proxy_request, responses_error_from_upstream, responses_to_chat_completions, }; use serde_json::json; +use std::io::{Read, Write}; +use std::net::TcpListener; +use std::path::{Path, PathBuf}; +use std::sync::{Mutex, OnceLock}; +use std::thread; #[test] fn responses_request_converts_to_chat_completions() { @@ -1239,3 +1245,191 @@ fn models_proxy_path_matches_v1_models() { assert!(is_models_proxy_path("/v1/models?limit=10")); assert!(!is_models_proxy_path("/v1/responses")); } + +#[tokio::test] +async fn chat_completions_proxy_uses_configured_user_agent() { + let _lock = settings_path_test_lock().lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let _guard = SettingsPathGuard::set(temp.path().join("settings.json")); + let server = spawn_chat_server(); + write_chat_relay_settings(temp.path(), &server.base_url, "Configured-Codex-UA/1.0"); + + let upstream = open_chat_completions_proxy_request( + r#"{"model":"gpt-5.5","messages":[{"role":"user","content":"hello"}]}"#, + Some("Original-Codex-UA/1.0"), + ) + .await + .unwrap(); + assert_eq!(upstream.status_code, 200); + + let request = server.finish(); + assert_eq!(request.user_agent, "Configured-Codex-UA/1.0"); +} + +#[tokio::test] +async fn chat_completions_proxy_passes_through_original_user_agent_when_unconfigured() { + let _lock = settings_path_test_lock().lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let _guard = SettingsPathGuard::set(temp.path().join("settings.json")); + let server = spawn_chat_server(); + write_chat_relay_settings(temp.path(), &server.base_url, ""); + + let upstream = open_chat_completions_proxy_request( + r#"{"model":"gpt-5.5","messages":[{"role":"user","content":"hello"}]}"#, + Some("Original-Codex-UA/1.0"), + ) + .await + .unwrap(); + assert_eq!(upstream.status_code, 200); + + let request = server.finish(); + assert_eq!(request.user_agent, "Original-Codex-UA/1.0"); +} + +#[tokio::test] +async fn responses_proxy_passes_through_original_user_agent_when_unconfigured() { + let _lock = settings_path_test_lock().lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let _guard = SettingsPathGuard::set(temp.path().join("settings.json")); + let server = spawn_chat_server(); + write_chat_relay_settings(temp.path(), &server.base_url, ""); + + let upstream = open_responses_proxy_request( + r#"{"model":"gpt-5.5","input":"hello","stream":false}"#, + Some("Original-Codex-UA/1.0"), + ) + .await + .unwrap(); + assert_eq!(upstream.status_code, 200); + + let request = server.finish(); + assert_eq!(request.user_agent, "Original-Codex-UA/1.0"); +} + +#[tokio::test] +async fn models_proxy_passes_through_original_user_agent_when_unconfigured() { + let _lock = settings_path_test_lock().lock().unwrap(); + let temp = tempfile::tempdir().unwrap(); + let _guard = SettingsPathGuard::set(temp.path().join("settings.json")); + let server = spawn_chat_server(); + write_chat_relay_settings(temp.path(), &server.base_url, ""); + + let upstream = open_models_proxy_request(Some("Original-Codex-UA/1.0")) + .await + .unwrap(); + assert_eq!(upstream.status_code, 200); + + let request = server.finish(); + assert_eq!(request.user_agent, "Original-Codex-UA/1.0"); +} + +fn write_chat_relay_settings(settings_dir: &Path, base_url: &str, user_agent: &str) { + let settings = json!({ + "relayProfiles": [{ + "id": "chat", + "name": "Chat", + "baseUrl": base_url, + "upstreamBaseUrl": base_url, + "apiKey": "sk-test", + "protocol": "chatCompletions", + "relayMode": "mixedApi", + "userAgent": user_agent + }], + "activeRelayId": "chat" + }); + std::fs::write( + settings_dir.join("settings.json"), + serde_json::to_vec_pretty(&settings).unwrap(), + ) + .unwrap(); +} + +struct SettingsPathGuard { + previous: Option, +} + +fn settings_path_test_lock() -> &'static Mutex<()> { + static LOCK: OnceLock> = OnceLock::new(); + LOCK.get_or_init(|| Mutex::new(())) +} + +impl SettingsPathGuard { + fn set(path: PathBuf) -> Self { + let previous = codex_plus_core::paths::set_settings_path_for_tests(Some(path)); + Self { previous } + } +} + +impl Drop for SettingsPathGuard { + fn drop(&mut self) { + codex_plus_core::paths::set_settings_path_for_tests(self.previous.take()); + } +} + +struct ChatServer { + base_url: String, + handle: thread::JoinHandle, +} + +impl ChatServer { + fn finish(self) -> ChatRequest { + self.handle.join().unwrap() + } +} + +struct ChatRequest { + user_agent: String, +} + +fn spawn_chat_server() -> ChatServer { + let listener = TcpListener::bind(("127.0.0.1", 0)).unwrap(); + let address = listener.local_addr().unwrap(); + let base_url = format!("http://{address}/v1"); + listener.set_nonblocking(true).unwrap(); + let handle = thread::spawn(move || { + let started = std::time::Instant::now(); + let mut stream = loop { + match listener.accept() { + Ok((stream, _)) => break stream, + Err(error) if error.kind() == std::io::ErrorKind::WouldBlock => { + assert!( + started.elapsed() < std::time::Duration::from_secs(5), + "test upstream did not receive a request" + ); + std::thread::sleep(std::time::Duration::from_millis(10)); + } + Err(error) => panic!("failed to accept test request: {error}"), + } + }; + let mut buffer = [0u8; 4096]; + let bytes = loop { + match stream.read(&mut buffer) { + Ok(0) => std::thread::sleep(std::time::Duration::from_millis(10)), + Ok(bytes) => break bytes, + Err(error) if error.kind() == std::io::ErrorKind::WouldBlock => { + std::thread::sleep(std::time::Duration::from_millis(10)); + } + Err(error) => panic!("failed to read test request: {error}"), + } + }; + let request = String::from_utf8_lossy(&buffer[..bytes]).to_string(); + let user_agent = request + .lines() + .find_map(|line| { + line.split_once(':').and_then(|(name, value)| { + name.eq_ignore_ascii_case("user-agent") + .then(|| value.trim().to_string()) + }) + }) + .unwrap_or_default(); + let body = r#"{"id":"chatcmpl-test","object":"chat.completion","choices":[]}"#; + let response = format!( + "HTTP/1.1 200 OK\r\nContent-Type: application/json\r\nContent-Length: {}\r\nConnection: close\r\n\r\n{}", + body.len(), + body + ); + stream.write_all(response.as_bytes()).unwrap(); + ChatRequest { user_agent } + }); + ChatServer { base_url, handle } +} From 74b232d942db316af727eb77b3f1457855b866ea Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Thu, 18 Jun 2026 15:45:45 +0800 Subject: [PATCH 056/156] fix: preserve context limits and uninstall command --- crates/codex-plus-core/src/install/windows.rs | 18 ++++- crates/codex-plus-core/src/relay_config.rs | 32 +++++++++ crates/codex-plus-core/tests/installers.rs | 16 +++++ crates/codex-plus-core/tests/relay_config.rs | 67 +++++++++++++++++++ crates/codex-plus-core/tests/relay_switch.rs | 4 ++ 5 files changed, 134 insertions(+), 3 deletions(-) diff --git a/crates/codex-plus-core/src/install/windows.rs b/crates/codex-plus-core/src/install/windows.rs index 15f4cd43f..86a2f78e7 100644 --- a/crates/codex-plus-core/src/install/windows.rs +++ b/crates/codex-plus-core/src/install/windows.rs @@ -19,6 +19,9 @@ pub struct WindowsEntrypointPlan { pub icon_path: String, pub silent_icon_path: String, pub manager_icon_path: String, + pub uninstaller_path: String, + pub uninstall_command: String, + pub quiet_uninstall_command: String, pub uninstall_key: String, pub legacy_uninstall_key: String, pub remove_owned_data: bool, @@ -29,6 +32,13 @@ pub fn build_windows_entrypoint_plan(options: &InstallOptions) -> WindowsEntrypo let launcher_path = option_or_current_exe(&options.launcher_path, SILENT_BINARY); let manager_path = option_or_current_exe(&options.manager_path, MANAGER_BINARY); let icon_path = default_icon_path(); + let install_location = manager_path + .parent() + .map(Path::to_path_buf) + .unwrap_or_else(|| install_root.clone()); + let uninstaller_path = install_location.join("uninstall.exe"); + let uninstall_command = format!("\"{}\"", uninstaller_path.to_string_lossy()); + let quiet_uninstall_command = format!("{uninstall_command} /S"); WindowsEntrypointPlan { silent_shortcut: install_root .join("Codex++.lnk") @@ -44,6 +54,9 @@ pub fn build_windows_entrypoint_plan(options: &InstallOptions) -> WindowsEntrypo icon_path: icon_path.to_string_lossy().to_string(), silent_icon_path: launcher_path.to_string_lossy().to_string(), manager_icon_path: manager_path.to_string_lossy().to_string(), + uninstaller_path: uninstaller_path.to_string_lossy().to_string(), + uninstall_command, + quiet_uninstall_command, uninstall_key: "CodexPlusPlus".to_string(), legacy_uninstall_key: "Codex++".to_string(), remove_owned_data: options.remove_owned_data, @@ -112,7 +125,6 @@ fn create_entrypoint_shortcut( #[cfg(windows)] fn write_uninstall_registration(plan: &WindowsEntrypointPlan) -> anyhow::Result<()> { let _ = crate::windows_integration::delete_current_user_key(LEGACY_UNINSTALL_SUBKEY); - let uninstall_command = format!("\"{}\"", plan.manager_path); let install_location = Path::new(&plan.manager_path) .parent() .map(Path::to_path_buf) @@ -125,8 +137,8 @@ fn write_uninstall_registration(plan: &WindowsEntrypointPlan) -> anyhow::Result< ("Publisher", "BigPizzaV3".to_string()), ("DisplayIcon", plan.manager_icon_path.clone()), ("InstallLocation", install_location), - ("UninstallString", uninstall_command.clone()), - ("QuietUninstallString", uninstall_command), + ("UninstallString", plan.uninstall_command.clone()), + ("QuietUninstallString", plan.quiet_uninstall_command.clone()), ] { crate::windows_integration::set_current_user_string_value(UNINSTALL_SUBKEY, name, &value)?; } diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 7503cf34f..d14cdac73 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -667,6 +667,8 @@ pub fn backfill_relay_profile_from_home( ) -> anyhow::Result<()> { profile.config_contents = read_optional_text(&home.join("config.toml"))?; profile.auth_contents = read_optional_text(&home.join("auth.json"))?; + let live_config = profile.config_contents.clone(); + sync_context_limits_from_config(profile, &live_config); if profile.model.trim().is_empty() { if let Some(model) = root_key_string(&profile.config_contents, "model") { profile.model = model; @@ -693,6 +695,7 @@ pub fn backfill_relay_profile_from_home_with_common( profile.auth_contents = read_optional_text(&home.join("auth.json"))?; restore_profile_auth_from_live_config(profile, &template_auth)?; sync_profile_mode_from_backfilled_live(profile); + sync_context_limits_from_config(profile, &live_config); if profile.model.trim().is_empty() { if let Some(model) = root_key_string(&live_config, "model") { profile.model = model; @@ -1364,6 +1367,35 @@ fn apply_context_limits_to_config( Ok(normalize_optional_toml(doc)) } +fn sync_context_limits_from_config(profile: &mut RelayProfile, config_text: &str) { + if let Some(value) = root_positive_int_string(config_text, "model_context_window") { + profile.context_window = value; + } + if let Some(value) = root_positive_int_string(config_text, "model_auto_compact_token_limit") { + profile.auto_compact_limit = value; + } +} + +fn root_positive_int_string(config_text: &str, key: &str) -> Option { + if let Ok(doc) = parse_toml_document(config_text) { + if let Some(value) = doc + .get(key) + .and_then(Item::as_value) + .and_then(toml_edit::Value::as_integer) + .filter(|value| *value > 0) + { + return Some(value.to_string()); + } + } + + root_key_value(config_text, key) + .and_then(|value| value.split('#').next()) + .map(str::trim) + .and_then(|value| value.parse::().ok()) + .filter(|value| *value > 0) + .map(|value| value.to_string()) +} + fn toml_value_is_subset(target: &toml_edit::Value, source: &toml_edit::Value) -> bool { match (target, source) { (toml_edit::Value::String(target), toml_edit::Value::String(source)) => { diff --git a/crates/codex-plus-core/tests/installers.rs b/crates/codex-plus-core/tests/installers.rs index e0aa042fd..48b732f64 100644 --- a/crates/codex-plus-core/tests/installers.rs +++ b/crates/codex-plus-core/tests/installers.rs @@ -26,6 +26,22 @@ fn windows_entrypoint_plan_contains_silent_and_manager_entrypoints() { ); assert_eq!(plan.uninstall_key, "CodexPlusPlus"); assert_eq!(plan.legacy_uninstall_key, "Codex++"); + assert_eq!( + plan.uninstaller_path.replace('\\', "/"), + "C:/Tools/uninstall.exe" + ); + assert_eq!( + plan.uninstall_command.replace('\\', "/"), + "\"C:/Tools/uninstall.exe\"" + ); + assert_eq!( + plan.quiet_uninstall_command.replace('\\', "/"), + "\"C:/Tools/uninstall.exe\" /S" + ); + assert_ne!( + plan.uninstall_command, + "\"C:/Tools/codex-plus-plus-manager.exe\"" + ); } #[test] diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index b3c378729..b2f754172 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -1491,6 +1491,39 @@ fn backfill_relay_profile_reads_live_files_and_model() { assert_eq!(profile.auth_contents, r#"{"OPENAI_API_KEY":"sk-live"}"#); } +#[test] +fn backfill_relay_profile_reads_live_context_limits() { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "mimo-v2.5-pro" +model_provider = "custom" +model_context_window = 1000000 +model_auto_compact_token_limit = 900000 + +[model_providers.custom] +base_url = "http://127.0.0.1:57321/v1" +"#, + ) + .unwrap(); + let mut profile = RelayProfile::default(); + + backfill_relay_profile_from_home(temp.path(), &mut profile).unwrap(); + + assert_eq!(profile.context_window, "1000000"); + assert_eq!(profile.auto_compact_limit, "900000"); + assert!( + profile + .config_contents + .contains("model_context_window = 1000000") + ); + assert!( + profile + .config_contents + .contains("model_auto_compact_token_limit = 900000") + ); +} + #[test] fn backfill_relay_profile_with_common_strips_common_config_for_switching() { let temp = tempfile::tempdir().unwrap(); @@ -1529,6 +1562,40 @@ command = "npx" assert_eq!(profile.auth_contents, r#"{"OPENAI_API_KEY":"sk-live"}"#); } +#[test] +fn backfill_relay_profile_with_common_reads_live_context_limits() { + let temp = tempfile::tempdir().unwrap(); + std::fs::write( + temp.path().join("config.toml"), + r#"model = "mimo-v2.5-pro" +model_provider = "custom" +model_context_window = 1000000 +model_auto_compact_token_limit = 900000 + +[model_providers.custom] +base_url = "http://127.0.0.1:57321/v1" + +[mcp_servers.context7] +command = "npx" +"#, + ) + .unwrap(); + let mut profile = RelayProfile::default(); + let mut common = r#"[mcp_servers.context7] +command = "npx" +"# + .to_string(); + + backfill_relay_profile_from_home_with_common(temp.path(), &mut profile, &mut common).unwrap(); + apply_relay_profile_files_to_home_with_context(temp.path(), &profile, &common).unwrap(); + + let config = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + assert_eq!(profile.context_window, "1000000"); + assert_eq!(profile.auto_compact_limit, "900000"); + assert!(config.contains("model_context_window = 1000000")); + assert!(config.contains("model_auto_compact_token_limit = 900000")); +} + #[test] fn backfill_relay_profile_with_common_tolerates_duplicate_live_toml() { let temp = tempfile::tempdir().unwrap(); diff --git a/crates/codex-plus-core/tests/relay_switch.rs b/crates/codex-plus-core/tests/relay_switch.rs index 1bd806c02..264e3a37c 100644 --- a/crates/codex-plus-core/tests/relay_switch.rs +++ b/crates/codex-plus-core/tests/relay_switch.rs @@ -63,6 +63,8 @@ fn switch_backfills_previous_profile_from_live_before_selecting_target() { home.join("config.toml"), r#"model = "edited-live-model" model_provider = "manual_a" +model_context_window = 1000000 +model_auto_compact_token_limit = 900000 [model_providers.manual_a] name = "manual_a" @@ -103,6 +105,8 @@ base_url = "https://edited-a.example/v1" .unwrap(); assert!(previous.config_contents.contains("edited-live-model")); assert!(previous.config_contents.contains("manual_a")); + assert_eq!(previous.context_window, "1000000"); + assert_eq!(previous.auto_compact_limit, "900000"); assert_eq!(stored.active_relay_id, "b"); assert_eq!(stored.launch_mode, LaunchMode::Patch); } From 9f2dc4a84250294d2d5fca144b3882abdf60d959 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Thu, 18 Jun 2026 15:49:12 +0800 Subject: [PATCH 057/156] style: format aggregate relay proxy code --- crates/codex-plus-core/src/protocol_proxy.rs | 24 ++++++++------------ 1 file changed, 10 insertions(+), 14 deletions(-) diff --git a/crates/codex-plus-core/src/protocol_proxy.rs b/crates/codex-plus-core/src/protocol_proxy.rs index 633e0774a..1b8bc4c16 100644 --- a/crates/codex-plus-core/src/protocol_proxy.rs +++ b/crates/codex-plus-core/src/protocol_proxy.rs @@ -481,12 +481,8 @@ pub async fn open_responses_proxy_request( original_user_agent: Option<&str>, ) -> anyhow::Result { let settings = SettingsStore::default().load().unwrap_or_default(); - open_responses_proxy_request_with_settings_and_user_agent( - body, - settings, - original_user_agent, - ) - .await + open_responses_proxy_request_with_settings_and_user_agent(body, settings, original_user_agent) + .await } pub async fn open_responses_proxy_request_with_settings( @@ -657,8 +653,8 @@ pub async fn open_models_proxy_request( &relay.user_agent, original_user_agent, ))? - .get(endpoint) - .bearer_auth(relay.api_key.trim()), + .get(endpoint) + .bearer_auth(relay.api_key.trim()), ) .await?; let status_code = upstream.status().as_u16(); @@ -703,12 +699,12 @@ pub async fn open_chat_completions_proxy_request( &relay.user_agent, original_user_agent, ))? - .post(chat_completions_url(&relay.base_url)) - .bearer_auth(relay.api_key.trim()) - .header(reqwest::header::CONTENT_TYPE, "application/json") - .json(&request_json) - .send() - .await?; + .post(chat_completions_url(&relay.base_url)) + .bearer_auth(relay.api_key.trim()) + .header(reqwest::header::CONTENT_TYPE, "application/json") + .json(&request_json) + .send() + .await?; let status_code = upstream.status().as_u16(); let content_type = upstream .headers() From 324a350d00376d4f9565aeeae3c8820b0cbbbe2a Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Thu, 18 Jun 2026 18:11:13 +0800 Subject: [PATCH 058/156] fix: allow aggregate relay switching --- Cargo.lock | 8 ++-- Cargo.toml | 2 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/tauri.conf.json | 2 +- crates/codex-plus-core/src/relay_config.rs | 8 ++++ crates/codex-plus-core/src/relay_switch.rs | 2 +- .../codex-plus-core/tests/protocol_proxy.rs | 2 + crates/codex-plus-core/tests/relay_config.rs | 21 ++++++++ crates/codex-plus-core/tests/relay_switch.rs | 48 ++++++++++++++++++- 10 files changed, 88 insertions(+), 11 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 63dbfdb34..95994189d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -352,7 +352,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.14" +version = "1.2.15" dependencies = [ "anyhow", "async-trait", @@ -375,7 +375,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.14" +version = "1.2.15" dependencies = [ "anyhow", "base64 0.22.1", @@ -391,7 +391,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.14" +version = "1.2.15" dependencies = [ "anyhow", "async-trait", @@ -405,7 +405,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.14" +version = "1.2.15" dependencies = [ "anyhow", "async-trait", diff --git a/Cargo.toml b/Cargo.toml index 814c12633..0f0a6ab79 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -8,7 +8,7 @@ members = [ ] [workspace.package] -version = "1.2.14" +version = "1.2.15" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 52085ce42..6f2a60bb9 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.14", + "version": "1.2.15", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.14", + "version": "1.2.15", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 5b8c17659..27cb88312 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.14", + "version": "1.2.15", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 7c3299aa7..1814a21a6 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.14", + "version": "1.2.15", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 0f389d600..0c0b606ad 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -1761,6 +1761,11 @@ pub fn relay_profile_model(profile: &RelayProfile) -> String { } fn relay_profile_base_url(profile: &RelayProfile) -> String { + if profile.relay_mode == crate::settings::RelayMode::Aggregate { + return crate::protocol_proxy::local_responses_proxy_base_url( + crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT, + ); + } if profile.protocol == RelayProtocol::ChatCompletions { if !profile.upstream_base_url.trim().is_empty() { return profile.upstream_base_url.trim().to_string(); @@ -1792,6 +1797,9 @@ fn relay_profile_base_url(profile: &RelayProfile) -> String { } fn relay_profile_api_key(profile: &RelayProfile) -> String { + if profile.relay_mode == crate::settings::RelayMode::Aggregate { + return "codex-plus-aggregate".to_string(); + } if profile.relay_mode == crate::settings::RelayMode::Official { return experimental_bearer_token_from_config(&profile.config_contents) .ok() diff --git a/crates/codex-plus-core/src/relay_switch.rs b/crates/codex-plus-core/src/relay_switch.rs index e481d2dd0..6a84d37a9 100644 --- a/crates/codex-plus-core/src/relay_switch.rs +++ b/crates/codex-plus-core/src/relay_switch.rs @@ -103,7 +103,7 @@ fn apply_selected_relay_profile( } fn validate_switch_profile_files(profile: &crate::settings::RelayProfile) -> anyhow::Result<()> { - if profile.config_contents.trim().is_empty() { + if profile.relay_mode != RelayMode::Aggregate && profile.config_contents.trim().is_empty() { anyhow::bail!( "供应商「{}」缺少独立 config.toml,已停止切换,避免继续显示上一套配置文件。", if profile.name.trim().is_empty() { diff --git a/crates/codex-plus-core/tests/protocol_proxy.rs b/crates/codex-plus-core/tests/protocol_proxy.rs index f7966bd01..ba67799f4 100644 --- a/crates/codex-plus-core/tests/protocol_proxy.rs +++ b/crates/codex-plus-core/tests/protocol_proxy.rs @@ -1290,6 +1290,7 @@ async fn upstream_request_returns_when_provider_accepts_but_never_sends_headers( #[tokio::test] async fn aggregate_proxy_fails_over_to_next_member_in_same_request() { + let _lock = settings_path_test_lock().lock().unwrap(); let first = tokio::net::TcpListener::bind(("127.0.0.1", 0)) .await .unwrap(); @@ -1328,6 +1329,7 @@ async fn aggregate_proxy_fails_over_to_next_member_in_same_request() { #[tokio::test] async fn aggregate_stream_request_sends_sse_accept_header() { + let _lock = settings_path_test_lock().lock().unwrap(); let listener = tokio::net::TcpListener::bind(("127.0.0.1", 0)) .await .unwrap(); diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index b2f754172..a8c84aae3 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -265,6 +265,27 @@ fn apply_chat_protocol_relay_points_codex_to_local_responses_proxy() { assert!(!updated.contains("codex_plus_chat_base_url")); } +#[test] +fn apply_aggregate_relay_points_codex_to_local_responses_proxy_without_snapshot() { + let temp = tempfile::tempdir().unwrap(); + let profile = RelayProfile { + id: "agg".to_string(), + name: "聚合供应商 1".to_string(), + relay_mode: RelayMode::Aggregate, + config_contents: String::new(), + auth_contents: String::new(), + ..RelayProfile::default() + }; + + let result = apply_relay_profile_to_home_with_switch_rules(temp.path(), &profile, "").unwrap(); + let updated = std::fs::read_to_string(temp.path().join("config.toml")).unwrap(); + + assert!(result.configured); + assert!(updated.contains(r#"wire_api = "responses""#)); + assert!(updated.contains(r#"base_url = "http://127.0.0.1:57321/v1""#)); + assert!(updated.contains(r#"experimental_bearer_token = "codex-plus-aggregate""#)); +} + #[test] fn chat_protocol_profile_keeps_upstream_base_url_separate_from_codex_proxy() { let temp = tempfile::tempdir().unwrap(); diff --git a/crates/codex-plus-core/tests/relay_switch.rs b/crates/codex-plus-core/tests/relay_switch.rs index 264e3a37c..4ec2f7d60 100644 --- a/crates/codex-plus-core/tests/relay_switch.rs +++ b/crates/codex-plus-core/tests/relay_switch.rs @@ -1,6 +1,7 @@ use codex_plus_core::relay_switch::switch_relay_profile_in_home; use codex_plus_core::settings::{ - BackendSettings, LaunchMode, RelayMode, RelayProfile, SettingsStore, + AggregateRelayMember, AggregateRelayProfile, AggregateRelayStrategy, BackendSettings, + LaunchMode, RelayMode, RelayProfile, SettingsStore, }; #[test] @@ -111,6 +112,51 @@ base_url = "https://edited-a.example/v1" assert_eq!(stored.launch_mode, LaunchMode::Patch); } +#[test] +fn switch_to_aggregate_relay_allows_empty_config_snapshot() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path().join("codex"); + std::fs::create_dir(&home).unwrap(); + let store = SettingsStore::new(temp.path().join("settings.json")); + let api = pure_profile("api", "https://api.example/v1", "sk-api"); + let aggregate = RelayProfile { + id: "agg".to_string(), + name: "聚合供应商 1".to_string(), + relay_mode: RelayMode::Aggregate, + config_contents: String::new(), + auth_contents: String::new(), + ..RelayProfile::default() + }; + let original = BackendSettings { + active_relay_id: "api".to_string(), + relay_profiles: vec![api.clone(), aggregate.clone()], + ..BackendSettings::default() + }; + store.save(&original).unwrap(); + let next = BackendSettings { + active_relay_id: "agg".to_string(), + relay_profiles: vec![api, aggregate], + aggregate_relay_profiles: vec![AggregateRelayProfile { + id: "agg".to_string(), + name: "聚合供应商 1".to_string(), + strategy: AggregateRelayStrategy::Failover, + members: vec![AggregateRelayMember { + relay_id: "api".to_string(), + weight: 1, + }], + }], + active_aggregate_relay_id: "agg".to_string(), + ..BackendSettings::default() + }; + + let result = switch_relay_profile_in_home(&store, &home, next, "api").unwrap(); + let live = std::fs::read_to_string(home.join("config.toml")).unwrap(); + + assert!(result.configured); + assert_eq!(store.load().unwrap().active_relay_id, "agg"); + assert!(live.contains(r#"base_url = "http://127.0.0.1:57321/v1""#)); +} + #[test] fn switch_returns_normalized_previous_official_profile_after_backfill() { let temp = tempfile::tempdir().unwrap(); From bd8a5ef444cfc0a3366c16b2da9e103f16da4784 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Sat, 20 Jun 2026 03:29:47 +0800 Subject: [PATCH 059/156] feat: add mobile control relay --- Cargo.lock | 130 +- Cargo.toml | 4 + apps/codex-plus-launcher/src/main.rs | 11 +- apps/codex-plus-manager/src-tauri/src/lib.rs | 4 +- apps/codex-plus-manager/src/App.tsx | 310 ++- apps/codex-plus-manager/src/styles.css | 58 + apps/codex-plus-mobile-relay/Cargo.toml | 18 + apps/codex-plus-mobile-relay/src/main.rs | 1283 ++++++++++ crates/codex-plus-core/Cargo.toml | 3 + crates/codex-plus-core/src/launcher.rs | 2127 ++++++++++++++++- crates/codex-plus-core/src/settings.rs | 37 + crates/codex-plus-core/tests/model_catalog.rs | 4 +- 12 files changed, 3902 insertions(+), 87 deletions(-) create mode 100644 apps/codex-plus-mobile-relay/Cargo.toml create mode 100644 apps/codex-plus-mobile-relay/src/main.rs diff --git a/Cargo.lock b/Cargo.lock index 95994189d..76181682a 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -8,6 +8,41 @@ version = "2.0.1" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "320119579fcad9c21884f5c4861d16174d0e06250625266f50fe6898340abefa" +[[package]] +name = "aead" +version = "0.5.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "d122413f284cf2d62fb1b7db97e02edb8cda96d769b16e443a4f6195e35662b0" +dependencies = [ + "crypto-common", + "generic-array", +] + +[[package]] +name = "aes" +version = "0.8.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "b169f7a6d4742236a0a00c541b845991d0ac43e546831af1249753ab4c3aa3a0" +dependencies = [ + "cfg-if", + "cipher", + "cpufeatures", +] + +[[package]] +name = "aes-gcm" +version = "0.10.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "831010a0f742e1209b3bcea8fab6a8e149051ba6099432c8cb2cc117dec3ead1" +dependencies = [ + "aead", + "aes", + "cipher", + "ctr", + "ghash", + "subtle", +] + [[package]] name = "ahash" version = "0.8.12" @@ -350,10 +385,21 @@ dependencies = [ "windows-link 0.2.1", ] +[[package]] +name = "cipher" +version = "0.4.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "773f3b9af64447d2ce9850330c473515014aa235e6a783b02db81ff39e4a3dad" +dependencies = [ + "crypto-common", + "inout", +] + [[package]] name = "codex-plus-core" version = "1.2.15" dependencies = [ + "aes-gcm", "anyhow", "async-trait", "base64 0.22.1", @@ -364,12 +410,14 @@ dependencies = [ "rusqlite", "serde", "serde_json", + "sha2", "tempfile", "thiserror 2.0.18", "tokio", "tokio-tungstenite", "toml 0.8.2", "toml_edit 0.22.27", + "uuid", "windows 0.58.0", ] @@ -421,6 +469,18 @@ dependencies = [ "tempfile", ] +[[package]] +name = "codex-plus-mobile-relay" +version = "1.2.13" +dependencies = [ + "anyhow", + "futures-util", + "serde", + "serde_json", + "tokio", + "tokio-tungstenite", +] + [[package]] name = "combine" version = "4.6.7" @@ -531,6 +591,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "78c8292055d1c1df0cce5d180393dc8cce0abec0a7102adb6c7b1eef6016d60a" dependencies = [ "generic-array", + "rand_core 0.6.4", "typenum", ] @@ -573,6 +634,15 @@ version = "0.0.7" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "52560adf09603e58c9a7ee1fe1dcb95a16927b17c127f0ac02d6e768a0e25bc1" +[[package]] +name = "ctr" +version = "0.9.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "0369ee1ad671834580515889b80f2ea915f23b8be8d0daa4bbaf2ac5c7590835" +dependencies = [ + "cipher", +] + [[package]] name = "darling" version = "0.23.0" @@ -1191,6 +1261,16 @@ dependencies = [ "wasip3", ] +[[package]] +name = "ghash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f0d8a4362ccb29cb0b265253fb0a2728f592895ee6854fd9bc13f2ffda266ff1" +dependencies = [ + "opaque-debug", + "polyval", +] + [[package]] name = "gio" version = "0.18.4" @@ -1687,6 +1767,15 @@ dependencies = [ "cfb", ] +[[package]] +name = "inout" +version = "0.1.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "879f10e63c20629ecabbb64a8010319738c66a5cd0c29b02d63d272b03751d01" +dependencies = [ + "generic-array", +] + [[package]] name = "ipnet" version = "2.12.0" @@ -2262,6 +2351,12 @@ version = "1.21.4" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "9f7c3e4beb33f85d45ae3e3a1792185706c8e16d043238c593331cc7cd313b50" +[[package]] +name = "opaque-debug" +version = "0.3.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c08d65885ee38876c4f86fa503fb49d7b507c2b62552df7c70b2fce627e06381" + [[package]] name = "option-ext" version = "0.2.0" @@ -2426,6 +2521,18 @@ dependencies = [ "miniz_oxide", ] +[[package]] +name = "polyval" +version = "0.6.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "9d1fe60d06143b2430aa532c94cfe9e29783047f06c0d7fd359a9a51b729fa25" +dependencies = [ + "cfg-if", + "cpufeatures", + "opaque-debug", + "universal-hash", +] + [[package]] name = "potential_utf" version = "0.1.5" @@ -2619,7 +2726,7 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "44c5af06bb1b7d3216d91932aed5265164bf384dc89cd6ba05cf59a35f5f76ea" dependencies = [ "rand_chacha", - "rand_core", + "rand_core 0.9.5", ] [[package]] @@ -2629,7 +2736,16 @@ source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "d3022b5f1df60f26e1ffddd6c66e8aa15de382ae63b3a0c1bfc0e4d3e3f325cb" dependencies = [ "ppv-lite86", - "rand_core", + "rand_core 0.9.5", +] + +[[package]] +name = "rand_core" +version = "0.6.4" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "ec0be4795e2f6a28069bec0b5ff3e2ac9bafc99e6a9a7dc3547996c5c816922c" +dependencies = [ + "getrandom 0.2.17", ] [[package]] @@ -4265,6 +4381,16 @@ version = "0.2.6" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "ebc1c04c71510c7f702b52b7c350734c9ff1295c464a03335b00bb84fc54f853" +[[package]] +name = "universal-hash" +version = "0.5.1" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fc1de2c688dc15305988b563c3854064043356019f97a4b46276fe734c4f07ea" +dependencies = [ + "crypto-common", + "subtle", +] + [[package]] name = "untrusted" version = "0.9.0" diff --git a/Cargo.toml b/Cargo.toml index 0f0a6ab79..b02575667 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,6 +4,7 @@ members = [ "crates/codex-plus-core", "crates/codex-plus-data", "apps/codex-plus-launcher", + "apps/codex-plus-mobile-relay", "apps/codex-plus-manager/src-tauri", ] @@ -14,14 +15,17 @@ license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" [workspace.dependencies] +aes-gcm = "0.10" anyhow = "1" base64 = "0.22" directories = "6" fs2 = "0.4" +futures-util = "0.3" reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls", "system-proxy"], default-features = false } rusqlite = { version = "0.32", features = ["bundled"] } serde = { version = "1", features = ["derive"] } serde_json = "1" +sha2 = "0.10" tempfile = "3" thiserror = "2" tokio = { version = "1", features = ["macros", "process", "rt-multi-thread", "time"] } diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index f971bbd09..0daa91bf3 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -35,7 +35,16 @@ impl Default for LauncherHooks { #[tokio::main] async fn main() -> Result<()> { - let options = parse_launch_options(std::env::args().skip(1)); + let args = std::env::args().skip(1).collect::>(); + let helper_only = args.iter().any(|arg| arg == "--helper-only"); + let options = parse_launch_options(args.iter()); + if helper_only { + let hooks = LauncherHooks::default(); + hooks.start_helper(options.helper_port).await?; + std::future::pending::<()>().await; + hooks.shutdown_helper(options.helper_port).await; + return Ok(()); + } let Some(_guard) = acquire_single_instance_guard(options.debug_port)? else { activate_existing_codex_app(&options).await?; return Ok(()); diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 9dc95c311..9325550f6 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -28,9 +28,9 @@ pub fn run() { .plugin(tauri_plugin_dialog::init()) .setup(move |app| { let url = if show_update { - "index.html?showUpdate=1" + "/index.html?showUpdate=1" } else { - "index.html" + "/index.html" }; let main_window = tauri::WebviewWindowBuilder::new(app, "main", tauri::WebviewUrl::App(url.into())) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 314ef5b5d..00893a683 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -125,6 +125,10 @@ type BackendSettings = { codexAppImageOverlayPath: string; codexAppImageOverlayOpacity: number; codexGoalsEnabled: boolean; + mobileControlEnabled: boolean; + mobileControlRelayUrl: string; + mobileControlRoom: string; + mobileControlKey: string; launchMode: LaunchMode; relayBaseUrl: string; relayApiKey: string; @@ -215,6 +219,13 @@ type RelayMode = "official" | "mixedApi" | "pureApi" | "aggregate"; const PROTOCOL_PROXY_BASE_URL = "http://127.0.0.1:57321/v1"; const CHAT_UPSTREAM_BASE_URL_KEY = "codex_plus_chat_base_url"; const SCRIPT_MARKET_REPOSITORY_URL = "https://github.com/BigPizzaV3/CodexPlusPlusScriptMarket"; +const LOCAL_MOBILE_RELAY_URL = "ws://127.0.0.1:57323"; +const PUBLIC_MOBILE_RELAY_URL = "ws://154.201.90.76:57323"; + +const mobileRelayServers = [ + { id: "local", label: "本机测试", url: LOCAL_MOBILE_RELAY_URL, capacity: 100 }, + { id: "public-154", label: "公共服务器 1", url: PUBLIC_MOBILE_RELAY_URL, capacity: 100 }, +]; const emptyContextSelection = (): RelayContextSelection => ({ mcpServers: [], @@ -531,12 +542,13 @@ type StartupResult = CommandResult<{ showUpdate: boolean; }>; -type Route = "overview" | "relay" | "sessions" | "context" | "enhance" | "zedRemote" | "userScripts" | "recommendations" | "maintenance" | "about" | "settings"; +type Route = "overview" | "relay" | "mobileControl" | "sessions" | "context" | "enhance" | "zedRemote" | "userScripts" | "recommendations" | "maintenance" | "about" | "settings"; type Theme = "dark" | "light"; const routes: Array<{ id: Route; label: string; icon: LucideIcon }> = [ { id: "overview", label: "概览", icon: LayoutDashboard }, { id: "relay", label: "供应商配置", icon: KeyRound }, + { id: "mobileControl", label: "手机控制", icon: MessageCircle }, { id: "sessions", label: "会话管理", icon: MessageCircle }, { id: "context", label: "工具与插件", icon: Network }, { id: "enhance", label: "页面增强", icon: Hammer }, @@ -580,6 +592,10 @@ const defaultSettings: BackendSettings = { codexAppImageOverlayPath: "", codexAppImageOverlayOpacity: 35, codexGoalsEnabled: false, + mobileControlEnabled: false, + mobileControlRelayUrl: LOCAL_MOBILE_RELAY_URL, + mobileControlRoom: "", + mobileControlKey: "", launchMode: "patch", relayBaseUrl: "", relayApiKey: "", @@ -1696,6 +1712,9 @@ export function App() { actions={actions} /> ) : null} + {route === "mobileControl" ? ( + + ) : null} {route === "sessions" ? ( Promise; }; +type MobileRelayRoomStatus = { + room: string; + hostOnline: boolean; + clientOnline: boolean; + connections: number; + ageSeconds: number; + forwardedMessages: number; + forwardedBytes: number; +}; + +type MobileRelayStatus = { + status: string; + service: string; + version: string; + uptimeSeconds: number; + rooms: number; + activeConnections: number; + totalConnections: number; + forwardedMessages: number; + forwardedBytes: number; + roomDetails: MobileRelayRoomStatus[]; +}; + +function MobileControlScreen({ + form, + onFormChange, + actions, +}: { + form: BackendSettings; + onFormChange: (value: BackendSettings) => void; + actions: Actions; +}) { + const [serverStatuses, setServerStatuses] = useState>({}); + const [statusMessage, setStatusMessage] = useState("尚未刷新"); + const [loadingStatus, setLoadingStatus] = useState(false); + const mobileUrl = mobileRelayShareUrl(form); + const selectedServerId = + mobileRelayServers.find((server) => server.url === form.mobileControlRelayUrl)?.id || mobileRelayServers[0].id; + const selectedServer = mobileRelayServers.find((server) => server.id === selectedServerId) ?? mobileRelayServers[0]; + const selectedStatus = serverStatuses[selectedServer.id] ?? null; + const serverCapacity = selectedServer?.capacity ?? 100; + const serverLoad = selectedStatus?.activeConnections ?? 0; + const saveMobileSettings = async (next: BackendSettings, silent = true) => { + onFormChange(next); + await actions.saveSettingsValue(next, silent); + }; + const selectRelayServer = (serverId: string) => { + const server = mobileRelayServers.find((item) => item.id === serverId); + if (!server) return; + onFormChange({ ...form, mobileControlRelayUrl: server.url }); + }; + const startAndCopyMobileLink = async () => { + const room = form.mobileControlRoom.trim() || randomToken(8); + const key = form.mobileControlKey.trim() || randomToken(32); + const relayUrl = selectedServer.url; + const next = { + ...form, + mobileControlEnabled: true, + mobileControlRelayUrl: relayUrl, + mobileControlRoom: room, + mobileControlKey: key, + }; + await saveMobileSettings(next, true); + const link = mobileRelayShareUrl(next); + if (!link) { + await actions.showMessage("手机控制", "服务器地址无效,无法生成手机链接。", "failed"); + return; + } + await actions.launch(); + try { + await navigator.clipboard?.writeText(link); + await actions.showMessage("手机控制", "已启动并复制手机链接。"); + } catch (error) { + await actions.showMessage("手机控制", `已启动,但复制链接失败:${stringifyError(error)}`, "failed"); + } + }; + const refreshRelayStatus = async () => { + setLoadingStatus(true); + const entries = await Promise.all(mobileRelayServers.map(async (server) => { + const httpUrl = mobileRelayHttpUrl(server.url); + try { + const response = await fetch(`${httpUrl}/status`, { cache: "no-store" }); + if (!response.ok) throw new Error(`HTTP ${response.status}`); + return [server.id, (await response.json()) as MobileRelayStatus, ""] as const; + } catch (error) { + return [server.id, null, `${server.label}: ${error instanceof Error ? error.message : "刷新失败"}`] as const; + } + })); + setServerStatuses(Object.fromEntries(entries.map(([id, data]) => [id, data]))); + const failed = entries.map(([, , error]) => error).filter(Boolean); + setStatusMessage(failed.length ? failed.join(";") : "状态已刷新"); + setLoadingStatus(false); + }; + useEffect(() => { + void refreshRelayStatus(); + }, []); + useEffect(() => { + if (!mobileRelayServers.some((server) => server.url === form.mobileControlRelayUrl)) { + onFormChange({ ...form, mobileControlRelayUrl: mobileRelayServers[0].url }); + } + }, [form.mobileControlRelayUrl]); + return ( + <> + + + +

+
+ + +
+ + + + + + + + + + +
+
+
+ {mobileUrl || "未生成手机入口"} + {mobileUrl ? "手机打开后会自动填入房间和 Key 并尝试连接。" : "选择服务器并启动后会生成手机入口。"} +
+ {mobileUrl ? ( + + ) : null} +
+
+
+
+ + + + {selectedStatus ? ( + <> +
+
+ +
+ 在线连接 + {selectedStatus.activeConnections} 个在线连接,累计 {selectedStatus.totalConnections} 次连接。 +
+ +
+
+ +
+ 房间数量 + {selectedStatus.rooms} 个房间,已转发 {selectedStatus.forwardedMessages} 条消息。 +
+ +
+
+
+ {selectedStatus.roomDetails.map((room) => ( +
+
+
+ {room.room} + + host {room.hostOnline ? "在线" : "离线"} / client {room.clientOnline ? "在线" : "离线"}, + {room.connections} 个连接,{formatBytes(room.forwardedBytes)} + +
+ +
+
+ ))} +
+ + ) : ( +

点击“刷新服务器状态”查看 relay 负载、在线用户和房间连接情况。

+ )} +
+
+ + ); +} + function OverviewScreen({ overview, actions, @@ -4024,6 +4285,52 @@ function FeatureToggle({ ); } +function randomToken(byteLength = 24) { + const bytes = new Uint8Array(byteLength); + crypto.getRandomValues(bytes); + return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join(""); +} + +function mobileRelayHttpUrl(value: string) { + const trimmed = value.trim(); + if (!trimmed) return ""; + const withScheme = /^[a-z]+:\/\//i.test(trimmed) ? trimmed : `ws://${trimmed}`; + try { + const url = new URL(withScheme); + url.protocol = url.protocol === "wss:" || url.protocol === "https:" ? "https:" : "http:"; + url.pathname = ""; + url.search = ""; + url.hash = ""; + return url.toString().replace(/\/$/, ""); + } catch { + return ""; + } +} + +function mobileRelayShareUrl(settings: Pick) { + const base = mobileRelayHttpUrl(settings.mobileControlRelayUrl); + const room = settings.mobileControlRoom.trim(); + const key = settings.mobileControlKey.trim(); + if (!base || !room || !key) return ""; + const url = new URL(`${base}/mobile`); + url.searchParams.set("room", room); + url.searchParams.set("key", key); + url.searchParams.set("auto", "1"); + return url.toString(); +} + +function formatBytes(bytes: number) { + if (!Number.isFinite(bytes) || bytes <= 0) return "0 B"; + const units = ["B", "KB", "MB", "GB"]; + let value = bytes; + let index = 0; + while (value >= 1024 && index < units.length - 1) { + value /= 1024; + index += 1; + } + return `${value >= 10 || index === 0 ? value.toFixed(0) : value.toFixed(1)} ${units[index]}`; +} + function GuideList({ items }: { items: string[] }) { return (
@@ -4198,6 +4505,7 @@ function routeSubtitle(route: Route) { const subtitles: Record = { overview: "检查问题、启动与快速修复", relay: "管理 API 供应商、协议、Key 与配置文件", + mobileControl: "配置手机控制 relay、房间密钥和服务器状态", sessions: "查看、删除和修复 Codex 本地会话", context: "独立管理 MCP、Skills、Plugins", enhance: "会话删除、导出、项目移动和脚本能力", diff --git a/apps/codex-plus-manager/src/styles.css b/apps/codex-plus-manager/src/styles.css index 5ee6af2cb..dbdd7c5dd 100644 --- a/apps/codex-plus-manager/src/styles.css +++ b/apps/codex-plus-manager/src/styles.css @@ -573,6 +573,64 @@ body { padding: 7px 0; } +.mobile-server-grid { + display: grid; + grid-template-columns: repeat(2, minmax(0, 1fr)); + gap: 10px; + margin-bottom: 12px; +} + +.mobile-server-card { + display: grid; + grid-template-columns: minmax(0, 1fr) auto; + gap: 12px; + align-items: center; + border: 1px solid hsl(var(--border)); + border-radius: 8px; + background: hsl(var(--surface-raised)); + color: hsl(var(--foreground)); + cursor: pointer; + padding: 14px; + text-align: left; +} + +.mobile-server-card:hover, +.mobile-server-card:focus-visible, +.mobile-server-card.active { + border-color: hsl(var(--primary) / 0.64); + background: hsl(var(--primary) / 0.1); + outline: none; +} + +.mobile-server-card span { + display: grid; + gap: 4px; + min-width: 0; +} + +.mobile-server-card strong, +.mobile-server-card small { + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.mobile-server-card small { + color: hsl(var(--muted-foreground)); + font-size: 12px; +} + +.mobile-server-card em { + min-width: 58px; + border-radius: 999px; + background: hsl(var(--secondary)); + color: hsl(var(--foreground)); + font-style: normal; + font-weight: 700; + padding: 5px 9px; + text-align: center; +} + .relay-profile-list { display: grid; gap: 10px; diff --git a/apps/codex-plus-mobile-relay/Cargo.toml b/apps/codex-plus-mobile-relay/Cargo.toml new file mode 100644 index 000000000..998b3a584 --- /dev/null +++ b/apps/codex-plus-mobile-relay/Cargo.toml @@ -0,0 +1,18 @@ +[package] +name = "codex-plus-mobile-relay" +version.workspace = true +edition.workspace = true +license.workspace = true +repository.workspace = true + +[[bin]] +name = "codex-plus-mobile-relay" +path = "src/main.rs" + +[dependencies] +anyhow.workspace = true +futures-util = { workspace = true, features = ["sink"] } +serde.workspace = true +serde_json.workspace = true +tokio = { workspace = true, features = ["net", "signal", "sync"] } +tokio-tungstenite.workspace = true diff --git a/apps/codex-plus-mobile-relay/src/main.rs b/apps/codex-plus-mobile-relay/src/main.rs new file mode 100644 index 000000000..73972c987 --- /dev/null +++ b/apps/codex-plus-mobile-relay/src/main.rs @@ -0,0 +1,1283 @@ +use std::collections::HashMap; +use std::env; +use std::net::SocketAddr; +use std::str; +use std::sync::Arc; +use std::sync::Mutex as StdMutex; +use std::time::{Duration, Instant}; + +use anyhow::{Context, bail}; +use futures_util::{SinkExt, StreamExt}; +use serde::{Deserialize, Serialize}; +use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::net::{TcpListener, TcpStream}; +use tokio::sync::{Mutex, mpsc}; +use tokio_tungstenite::accept_hdr_async; +use tokio_tungstenite::tungstenite::Message; + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +enum Role { + Host, + Client, +} + +impl Role { + fn from_str(value: &str) -> Option { + match value { + "host" => Some(Self::Host), + "client" => Some(Self::Client), + _ => None, + } + } + + fn as_str(self) -> &'static str { + match self { + Self::Host => "host", + Self::Client => "client", + } + } +} + +#[derive(Debug, Clone)] +struct Registration { + role: Role, + room: String, + token: String, +} + +#[derive(Debug, Deserialize, Serialize)] +struct RegisterMessage { + #[serde(rename = "type")] + message_type: String, + role: String, + room: String, + token: String, +} + +#[derive(Default)] +struct RelayState { + rooms: HashMap, + started_at: Option, + total_connections: u64, + active_connections: u64, + forwarded_messages: u64, + forwarded_bytes: u64, +} + +struct RoomState { + token: String, + host: Option>, + client: Option>, + connected_at: Instant, + forwarded_messages: u64, + forwarded_bytes: u64, +} + +impl RoomState { + fn new(token: String) -> Self { + Self { + token, + host: None, + client: None, + connected_at: Instant::now(), + forwarded_messages: 0, + forwarded_bytes: 0, + } + } + + fn sender_for(&self, role: Role) -> Option> { + match role { + Role::Host => self.host.clone(), + Role::Client => self.client.clone(), + } + } + + fn set_sender(&mut self, role: Role, sender: mpsc::UnboundedSender) { + let slot = match role { + Role::Host => &mut self.host, + Role::Client => &mut self.client, + }; + if let Some(previous) = slot.replace(sender) { + let _ = previous.send(Message::Close(None)); + } + } + + fn clear_sender(&mut self, role: Role) { + match role { + Role::Host => self.host = None, + Role::Client => self.client = None, + } + } + + fn is_empty(&self) -> bool { + self.host.is_none() && self.client.is_none() + } +} + +#[derive(Debug, Serialize)] +#[serde(rename_all = "camelCase")] +struct RelayStatus { + status: &'static str, + service: &'static str, + version: &'static str, + uptime_seconds: u64, + rooms: usize, + active_connections: u64, + total_connections: u64, + forwarded_messages: u64, + forwarded_bytes: u64, + room_details: Vec, +} + +#[derive(Debug, Serialize)] +#[serde(rename_all = "camelCase")] +struct RoomStatus { + room: String, + host_online: bool, + client_online: bool, + connections: u8, + age_seconds: u64, + forwarded_messages: u64, + forwarded_bytes: u64, +} + +#[derive(Clone)] +struct RegisteredPeer { + room: String, + role: Role, + sender: mpsc::UnboundedSender, +} + +#[tokio::main] +async fn main() -> anyhow::Result<()> { + let bind = env::var("CODEX_PLUS_MOBILE_RELAY_BIND") + .ok() + .filter(|value| !value.trim().is_empty()) + .unwrap_or_else(|| "0.0.0.0:57323".to_string()); + let listener = TcpListener::bind(&bind) + .await + .with_context(|| format!("failed to bind mobile relay server on {bind}"))?; + let local_addr = listener.local_addr()?; + println!("Codex++ mobile relay listening on ws://{local_addr}"); + println!( + "Clients must send first message: {{\"type\":\"register\",\"role\":\"host|client\",\"room\":\"...\",\"token\":\"...\"}}" + ); + + let state = Arc::new(Mutex::new(RelayState { + started_at: Some(Instant::now()), + ..RelayState::default() + })); + loop { + tokio::select! { + accepted = listener.accept() => { + let (stream, addr) = accepted?; + let state = Arc::clone(&state); + tokio::spawn(async move { + if let Err(error) = handle_tcp_connection(stream, addr, state).await { + eprintln!("relay connection {addr} closed: {error:#}"); + } + }); + } + signal = tokio::signal::ctrl_c() => { + signal.context("failed to wait for Ctrl+C")?; + break; + } + } + } + Ok(()) +} + +async fn handle_tcp_connection( + stream: TcpStream, + addr: SocketAddr, + state: Arc>, +) -> anyhow::Result<()> { + if !looks_like_websocket(&stream).await? { + return handle_http_connection(stream, state).await; + } + handle_websocket_connection(stream, addr, state).await +} + +async fn handle_websocket_connection( + stream: TcpStream, + addr: SocketAddr, + state: Arc>, +) -> anyhow::Result<()> { + let url_registration = Arc::new(StdMutex::new(None::)); + let callback_registration = Arc::clone(&url_registration); + let websocket = accept_hdr_async( + stream, + move |request: &tokio_tungstenite::tungstenite::handshake::server::Request, response| { + if let Some(registration) = + registration_from_uri(request.uri().path(), request.uri().query()) + { + if let Ok(mut slot) = callback_registration.lock() { + *slot = Some(registration); + } + } + Ok(response) + }, + ) + .await + .context("failed to accept websocket")?; + let (mut outgoing, mut incoming) = websocket.split(); + + let registration = match url_registration.lock().ok().and_then(|slot| slot.clone()) { + Some(registration) => registration, + None => { + let first = tokio::time::timeout(Duration::from_secs(10), incoming.next()) + .await + .context("registration timed out")? + .transpose() + .context("failed to read registration")? + .context("connection closed before registration")?; + parse_registration(first)? + } + }; + + let (tx, mut rx) = mpsc::unbounded_channel::(); + let peer = register_peer(&state, registration, tx).await?; + let writer = tokio::spawn(async move { + while let Some(message) = rx.recv().await { + if outgoing.send(message).await.is_err() { + break; + } + } + }); + + println!( + "relay registered {} room={} addr={}", + peer.role.as_str(), + peer.room, + addr + ); + + while let Some(message) = incoming.next().await { + let message = message.context("failed to read websocket message")?; + if message.is_close() { + break; + } + forward_message(&state, &peer, message).await; + } + + unregister_peer(&state, &peer).await; + writer.abort(); + println!( + "relay disconnected {} room={} addr={}", + peer.role.as_str(), + peer.room, + addr + ); + Ok(()) +} + +async fn looks_like_websocket(stream: &TcpStream) -> anyhow::Result { + let mut buffer = [0_u8; 2048]; + let read = stream.peek(&mut buffer).await?; + let head = String::from_utf8_lossy(&buffer[..read]).to_ascii_lowercase(); + Ok(head.contains("\r\nupgrade: websocket") || head.contains("\r\nsec-websocket-key:")) +} + +async fn handle_http_connection( + mut stream: TcpStream, + state: Arc>, +) -> anyhow::Result<()> { + let mut buffer = vec![0_u8; 8192]; + let read = stream.read(&mut buffer).await?; + let request = String::from_utf8_lossy(&buffer[..read]); + let request_line = request.lines().next().unwrap_or_default(); + let path = request_line + .split_whitespace() + .nth(1) + .unwrap_or("/") + .split('?') + .next() + .unwrap_or("/"); + let (status, content_type, body) = match path { + "/" | "/index.html" => ( + "200 OK", + "text/html; charset=utf-8", + relay_test_page().into_bytes(), + ), + "/mobile" => ( + "200 OK", + "text/html; charset=utf-8", + mobile_relay_page().into_bytes(), + ), + "/health" => ( + "200 OK", + "application/json; charset=utf-8", + serde_json::json!({ + "status": "ok", + "service": "codex-plus-mobile-relay", + "version": env!("CARGO_PKG_VERSION") + }) + .to_string() + .into_bytes(), + ), + "/status" => ( + "200 OK", + "application/json; charset=utf-8", + serde_json::to_string(&relay_status(&state).await)?.into_bytes(), + ), + _ => ( + "404 Not Found", + "application/json; charset=utf-8", + serde_json::json!({ + "status": "failed", + "message": "not found" + }) + .to_string() + .into_bytes(), + ), + }; + let response = format!( + concat!( + "HTTP/1.1 {}\r\n", + "Content-Type: {}\r\n", + "Cache-Control: no-store, no-cache, must-revalidate, max-age=0\r\n", + "Pragma: no-cache\r\n", + "Expires: 0\r\n", + "Content-Length: {}\r\n", + "Connection: close\r\n\r\n" + ), + status, + content_type, + body.len() + ); + stream.write_all(response.as_bytes()).await?; + stream.write_all(&body).await?; + stream.shutdown().await?; + Ok(()) +} + +fn parse_registration(message: Message) -> anyhow::Result { + let text = match message { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => { + String::from_utf8(bytes.to_vec()).context("binary registration must be utf-8 json")? + } + _ => bail!("first message must be registration json"), + }; + let registration: RegisterMessage = + serde_json::from_str(&text).context("registration is not valid json")?; + if registration.message_type != "register" { + bail!("registration type must be register"); + } + if registration.room.trim().is_empty() { + bail!("room is required"); + } + if registration.token.trim().is_empty() { + bail!("token is required"); + } + let role = Role::from_str(®istration.role).context("role must be host or client")?; + Ok(Registration { + role, + room: registration.room, + token: registration.token, + }) +} + +fn registration_from_uri(path: &str, query: Option<&str>) -> Option { + let query = query?; + let role = match path { + "/host" => Some(Role::Host), + "/client" => Some(Role::Client), + "/ws" => query_value(query, "role").and_then(|role| Role::from_str(&role)), + _ => None, + }?; + let room = query_value(query, "room")?; + let token = query_value(query, "token")?; + if room.trim().is_empty() || token.trim().is_empty() { + return None; + } + Some(Registration { role, room, token }) +} + +fn query_value(query: &str, key: &str) -> Option { + query.split('&').find_map(|pair| { + let (name, value) = pair.split_once('=')?; + (name == key).then(|| percent_decode(value)) + }) +} + +fn percent_decode(value: &str) -> String { + let mut output = Vec::with_capacity(value.len()); + let bytes = value.as_bytes(); + let mut index = 0; + while index < bytes.len() { + match bytes[index] { + b'+' => { + output.push(b' '); + index += 1; + } + b'%' if index + 2 < bytes.len() => { + let hex = &value[index + 1..index + 3]; + if let Ok(byte) = u8::from_str_radix(hex, 16) { + output.push(byte); + index += 3; + } else { + output.push(bytes[index]); + index += 1; + } + } + byte => { + output.push(byte); + index += 1; + } + } + } + String::from_utf8_lossy(&output).to_string() +} + +async fn register_peer( + state: &Arc>, + registration: Registration, + sender: mpsc::UnboundedSender, +) -> anyhow::Result { + let mut state = state.lock().await; + state.total_connections = state.total_connections.saturating_add(1); + state.active_connections = state.active_connections.saturating_add(1); + let room = state + .rooms + .entry(registration.room.clone()) + .or_insert_with(|| RoomState::new(registration.token.clone())); + if room.token != registration.token { + bail!("room token mismatch"); + } + room.set_sender(registration.role, sender.clone()); + let _ = sender.send(Message::Text( + serde_json::json!({ + "type": "registered", + "role": registration.role.as_str(), + "room": registration.room + }) + .to_string() + .into(), + )); + Ok(RegisteredPeer { + room: registration.room, + role: registration.role, + sender, + }) +} + +async fn forward_message(state: &Arc>, peer: &RegisteredPeer, message: Message) { + let message_bytes = message_len(&message); + let target = { + let mut state = state.lock().await; + state.forwarded_messages = state.forwarded_messages.saturating_add(1); + state.forwarded_bytes = state.forwarded_bytes.saturating_add(message_bytes); + let Some(room) = state.rooms.get_mut(&peer.room) else { + return; + }; + room.forwarded_messages = room.forwarded_messages.saturating_add(1); + room.forwarded_bytes = room.forwarded_bytes.saturating_add(message_bytes); + let target_role = match peer.role { + Role::Host => Role::Client, + Role::Client => Role::Host, + }; + room.sender_for(target_role) + }; + if let Some(target) = target { + let _ = target.send(message); + } +} + +async fn unregister_peer(state: &Arc>, peer: &RegisteredPeer) { + let mut state = state.lock().await; + state.active_connections = state.active_connections.saturating_sub(1); + let Some(room) = state.rooms.get_mut(&peer.room) else { + return; + }; + let still_same_sender = room + .sender_for(peer.role) + .as_ref() + .map(|sender| sender.same_channel(&peer.sender)) + .unwrap_or(false); + if still_same_sender { + room.clear_sender(peer.role); + } + if room.is_empty() { + state.rooms.remove(&peer.room); + } +} + +fn message_len(message: &Message) -> u64 { + match message { + Message::Text(text) => text.len() as u64, + Message::Binary(bytes) => bytes.len() as u64, + Message::Ping(bytes) | Message::Pong(bytes) => bytes.len() as u64, + Message::Close(_) | Message::Frame(_) => 0, + } +} + +async fn relay_status(state: &Arc>) -> RelayStatus { + let state = state.lock().await; + let now = Instant::now(); + let mut room_details = state + .rooms + .iter() + .map(|(room, detail)| { + let host_online = detail.host.is_some(); + let client_online = detail.client.is_some(); + RoomStatus { + room: room.clone(), + host_online, + client_online, + connections: u8::from(host_online) + u8::from(client_online), + age_seconds: now.saturating_duration_since(detail.connected_at).as_secs(), + forwarded_messages: detail.forwarded_messages, + forwarded_bytes: detail.forwarded_bytes, + } + }) + .collect::>(); + room_details.sort_by(|left, right| left.room.cmp(&right.room)); + RelayStatus { + status: "ok", + service: "codex-plus-mobile-relay", + version: env!("CARGO_PKG_VERSION"), + uptime_seconds: state + .started_at + .map(|started| now.saturating_duration_since(started).as_secs()) + .unwrap_or_default(), + rooms: state.rooms.len(), + active_connections: state.active_connections, + total_connections: state.total_connections, + forwarded_messages: state.forwarded_messages, + forwarded_bytes: state.forwarded_bytes, + room_details, + } +} + +fn relay_test_page() -> String { + r#" + + + + + Codex++ Mobile Relay + + + +
+

Codex++ Mobile Relay

+
+
+ + + +
+
+ + +
+
+
+ +
+ + + +
+
+
+

+  
+
+ + +"# + .to_string() +} + +fn mobile_relay_page() -> String { + r#" + + + + + Codex++ 手机控制 + + + +
+
Codex++待连接
+
+
+
+
+ + + +
+
+ +
连接后读取会话
+
+ +
+
+ + +"# + .to_string() +} diff --git a/crates/codex-plus-core/Cargo.toml b/crates/codex-plus-core/Cargo.toml index 1596588ba..c0f171176 100644 --- a/crates/codex-plus-core/Cargo.toml +++ b/crates/codex-plus-core/Cargo.toml @@ -6,6 +6,7 @@ license.workspace = true repository.workspace = true [dependencies] +aes-gcm.workspace = true anyhow.workspace = true async-trait = "0.1" base64.workspace = true @@ -16,11 +17,13 @@ reqwest.workspace = true rusqlite.workspace = true serde.workspace = true serde_json.workspace = true +sha2.workspace = true thiserror.workspace = true tokio = { workspace = true, features = ["net"] } tokio-tungstenite.workspace = true toml.workspace = true toml_edit.workspace = true +uuid.workspace = true [target.'cfg(windows)'.dependencies] windows = { version = "0.58", features = [ diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 6eb9fcbbb..b433e78f6 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -2,15 +2,22 @@ use std::net::SocketAddr; use std::path::{Path, PathBuf}; use std::process::Stdio; use std::sync::Arc; +use std::sync::OnceLock; use std::time::{SystemTime, UNIX_EPOCH}; +use aes_gcm::aead::{Aead, KeyInit}; +use aes_gcm::{Aes256Gcm, Nonce}; use anyhow::Context; use async_trait::async_trait; -use futures_util::StreamExt; +use base64::Engine; +use base64::engine::general_purpose::URL_SAFE_NO_PAD; +use futures_util::{SinkExt, StreamExt}; use serde_json::Value; +use sha2::{Digest, Sha256}; use tokio::io::{AsyncReadExt, AsyncWriteExt}; use tokio::process::{Child, Command}; -use tokio::sync::Mutex; +use tokio::sync::{Mutex, mpsc}; +use tokio_tungstenite::tungstenite::Message; use crate::settings::{BackendSettings, SettingsStore, normalize_codex_extra_args}; use crate::status::{LaunchStatus, StatusStore}; @@ -206,6 +213,7 @@ pub trait LaunchHooks: Send + Sync { pub struct DefaultLaunchHooks { child: Mutex>, helper: Mutex>, + mobile_relay_host: Mutex>, bridge_watchdog: Mutex>, computer_use_guard_watchdog: Mutex>, computer_use_guard_artifacts: Mutex>, @@ -216,6 +224,11 @@ struct HelperRuntime { task: tokio::task::JoinHandle<()>, } +struct MobileRelayHostRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + struct BridgeWatchdogRuntime { shutdown: tokio::sync::oneshot::Sender<()>, task: tokio::task::JoinHandle<()>, @@ -371,6 +384,35 @@ impl DefaultLaunchHooks { pub fn shared() -> Arc { Arc::new(Self::default()) } + + async fn start_mobile_relay_host(&self, helper_port: u16) -> anyhow::Result<()> { + let settings = SettingsStore::default().load().unwrap_or_default(); + let Some(config) = MobileRelayHostConfig::from_settings_and_env(&settings) else { + return Ok(()); + }; + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + run_mobile_relay_host(helper_port, config, &mut shutdown_rx).await; + }); + if let Some(runtime) = self + .mobile_relay_host + .lock() + .await + .replace(MobileRelayHostRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + Ok(()) + } +} + +fn helper_bind_host() -> String { + std::env::var("CODEX_PLUS_HELPER_BIND") + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| "127.0.0.1".to_string()) } #[async_trait(?Send)] @@ -453,14 +495,18 @@ impl LaunchHooks for DefaultLaunchHooks { } async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { - let listener = tokio::net::TcpListener::bind(("127.0.0.1", helper_port)) + let bind_host = helper_bind_host(); + let listener = tokio::net::TcpListener::bind((bind_host.as_str(), helper_port)) .await - .with_context(|| format!("failed to bind helper runtime on 127.0.0.1:{helper_port}"))?; + .with_context(|| { + format!("failed to bind helper runtime on {bind_host}:{helper_port}") + })?; let _ = crate::diagnostic_log::append_diagnostic_log( "helper.listening", serde_json::json!({ "helper_port": helper_port, - "address": format!("http://127.0.0.1:{helper_port}") + "bind_host": bind_host, + "address": format!("http://{bind_host}:{helper_port}") }), ); let (shutdown_tx, mut shutdown_rx) = tokio::sync::oneshot::channel(); @@ -482,6 +528,7 @@ impl LaunchHooks for DefaultLaunchHooks { shutdown: shutdown_tx, task, }); + self.start_mobile_relay_host(helper_port).await?; Ok(()) } @@ -651,6 +698,10 @@ impl LaunchHooks for DefaultLaunchHooks { } async fn shutdown_helper(&self, _helper_port: u16) { + if let Some(runtime) = self.mobile_relay_host.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } if let Some(runtime) = self.computer_use_guard_watchdog.lock().await.take() { let _ = runtime.shutdown.send(()); let _ = runtime.task.await; @@ -700,6 +751,20 @@ impl LaunchHooks for DefaultLaunchHooks { } } +struct AppServerRuntime { + port: u16, + source: &'static str, + child: Option>, +} + +impl AppServerRuntime { + async fn process_id(&self) -> Option { + self.child.as_ref()?.lock().await.id() + } +} + +static APP_SERVER_RUNTIME: OnceLock>>> = OnceLock::new(); + async fn handle_helper_connection( mut stream: tokio::net::TcpStream, remote_addr: Option, @@ -726,6 +791,19 @@ async fn handle_helper_connection( }), ); + if path == "/mobile" && matches!(method, "GET" | "OPTIONS") { + return handle_mobile_page_connection(&mut stream, method).await; + } + if path == "/app-server/ws" && matches!(method, "GET" | "OPTIONS") { + return handle_app_server_websocket_proxy_connection(&mut stream, &request, method).await; + } + if path == "/app-server/rpc" && matches!(method, "POST" | "OPTIONS") { + return handle_app_server_rpc_connection(&mut stream, method, request_body).await; + } + if path == "/app-server/status" && matches!(method, "GET" | "OPTIONS") { + return handle_app_server_status_connection(&mut stream, method).await; + } + if crate::protocol_proxy::is_responses_proxy_path(path) && method == "POST" { return handle_protocol_proxy_connection( &mut stream, @@ -855,6 +933,546 @@ async fn handle_helper_connection( Ok(()) } +#[derive(Debug, Clone)] +struct MobileRelayHostConfig { + relay_url: String, + room: String, + token: String, + encryption_key: String, +} + +struct MobileRelayAppServerSession { + sender: mpsc::UnboundedSender, +} + +impl MobileRelayHostConfig { + fn from_settings_and_env(settings: &BackendSettings) -> Option { + if !settings.mobile_control_enabled && std::env::var("CODEX_PLUS_MOBILE_RELAY_URL").is_err() + { + return None; + } + let relay_url = env_or_setting( + "CODEX_PLUS_MOBILE_RELAY_URL", + &settings.mobile_control_relay_url, + )?; + let room = env_or_setting( + "CODEX_PLUS_MOBILE_RELAY_ROOM", + &settings.mobile_control_room, + )?; + let token = std::env::var("CODEX_PLUS_MOBILE_RELAY_TOKEN") + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| room.clone()); + let encryption_key = + env_or_setting("CODEX_PLUS_MOBILE_RELAY_KEY", &settings.mobile_control_key)?; + Some(Self { + relay_url, + room, + token, + encryption_key, + }) + } + + fn cipher(&self) -> Aes256Gcm { + mobile_relay_cipher(&self.encryption_key) + } + + fn host_url(&self) -> String { + let separator = if self.relay_url.contains('?') { + '&' + } else { + '?' + }; + let role_path_url = + if self.relay_url.ends_with("/host") || self.relay_url.contains("/host?") { + self.relay_url.clone() + } else { + format!("{}/host", self.relay_url.trim_end_matches('/')) + }; + format!( + "{role_path_url}{separator}room={}&token={}", + percent_encode_query(&self.room), + percent_encode_query(&self.token) + ) + } +} + +fn env_or_setting(env_name: &str, setting: &str) -> Option { + std::env::var(env_name) + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .or_else(|| { + let value = setting.trim(); + (!value.is_empty()).then(|| value.to_string()) + }) +} + +async fn run_mobile_relay_host( + helper_port: u16, + config: MobileRelayHostConfig, + shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, +) { + let mut retry_delay = std::time::Duration::from_secs(1); + loop { + tokio::select! { + _ = &mut *shutdown_rx => break, + result = run_mobile_relay_host_once(helper_port, &config) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.host_disconnected", + serde_json::json!({ + "helper_port": helper_port, + "relay_url": config.relay_url, + "room": config.room, + "message": result.err().map(|error| error.to_string()) + }), + ); + } + } + tokio::select! { + _ = &mut *shutdown_rx => break, + _ = tokio::time::sleep(retry_delay) => {} + } + retry_delay = (retry_delay * 2).min(std::time::Duration::from_secs(30)); + } +} + +async fn run_mobile_relay_host_once( + helper_port: u16, + config: &MobileRelayHostConfig, +) -> anyhow::Result<()> { + let host_url = config.host_url(); + let (mut socket, _) = tokio_tungstenite::connect_async(&host_url) + .await + .with_context(|| format!("failed to connect mobile relay host {host_url}"))?; + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.host_connected", + serde_json::json!({ + "helper_port": helper_port, + "relay_url": config.relay_url, + "room": config.room + }), + ); + let cipher = config.cipher(); + let (relay_tx, mut relay_rx) = mpsc::unbounded_channel::(); + let mut sessions: std::collections::HashMap = + std::collections::HashMap::new(); + loop { + tokio::select! { + relay_message = relay_rx.recv() => { + let Some(relay_message) = relay_message else { + break; + }; + socket + .send(relay_message) + .await + .context("failed to send mobile relay async message")?; + continue; + } + inbound = socket.next() => { + let Some(inbound) = inbound else { + break; + }; + let message = inbound.context("failed to read mobile relay message")?; + if message.is_close() { + break; + } + let Some(response) = handle_mobile_relay_host_message( + helper_port, + &cipher, + message, + relay_tx.clone(), + &mut sessions, + ).await + else { + continue; + }; + socket + .send(Message::Text(response.to_string().into())) + .await + .context("failed to send mobile relay response")?; + } + } + } + for (_, sender) in sessions { + let _ = sender.sender.send(Message::Close(None)); + } + Ok(()) +} + +async fn handle_mobile_relay_host_message( + helper_port: u16, + cipher: &Aes256Gcm, + message: Message, + relay_tx: mpsc::UnboundedSender, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let text = match message { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => String::from_utf8(bytes.to_vec()).ok()?, + _ => return None, + }; + let envelope = serde_json::from_str::(&text).ok()?; + let plaintext_mode = envelope.get("type").and_then(Value::as_str) == Some("plaintext"); + let request = decrypt_mobile_relay_request(cipher, &envelope).ok()?; + if request.get("type").and_then(Value::as_str) == Some("appServerConnect") { + return handle_mobile_relay_app_server_connect( + helper_port, + cipher, + &request, + plaintext_mode, + relay_tx, + app_server_sessions, + ) + .await; + } + if request.get("type").and_then(Value::as_str) == Some("appServerMessage") { + return handle_mobile_relay_app_server_message(&request, app_server_sessions).await; + } + if request.get("type").and_then(Value::as_str) == Some("appServerClose") { + return handle_mobile_relay_app_server_close(&request, app_server_sessions).await; + } + if request.get("type").and_then(Value::as_str) != Some("httpRequest") { + return None; + } + let id = request.get("id").cloned().unwrap_or(Value::Null); + let response = match proxy_mobile_relay_http_request(helper_port, &request).await { + Ok(response) => serde_json::json!({ + "type": "httpResponse", + "id": id, + "status": response.status, + "headers": response.headers, + "body": response.body + }), + Err(error) => serde_json::json!({ + "type": "httpResponse", + "id": id, + "status": 502, + "headers": {"content-type": "application/json; charset=utf-8"}, + "body": serde_json::json!({ + "status": "failed", + "message": error.to_string() + }).to_string() + }), + }; + encode_mobile_relay_payload(cipher, plaintext_mode, &response).ok() +} + +async fn handle_mobile_relay_app_server_connect( + _helper_port: u16, + cipher: &Aes256Gcm, + request: &Value, + plaintext_mode: bool, + relay_tx: mpsc::UnboundedSender, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let id = request.get("id").cloned().unwrap_or(Value::Null); + let session_id = request + .get("sessionId") + .and_then(Value::as_str) + .map(str::to_string) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); + if let Some(previous) = app_server_sessions.remove(&session_id) { + let _ = previous.sender.send(Message::Close(None)); + } + let (app_tx, app_rx) = mpsc::unbounded_channel::(); + app_server_sessions.insert( + session_id.clone(), + MobileRelayAppServerSession { + sender: app_tx, + }, + ); + let session_cipher = cipher.clone(); + tokio::spawn(run_mobile_relay_app_server_session( + session_cipher, + plaintext_mode, + relay_tx, + session_id.clone(), + app_rx, + )); + encode_mobile_relay_payload( + &cipher, + plaintext_mode, + &serde_json::json!({ + "type": "appServerConnected", + "id": id, + "sessionId": session_id + }), + ) + .ok() +} + +async fn handle_mobile_relay_app_server_message( + request: &Value, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let session_id = request.get("sessionId").and_then(Value::as_str)?; + let text = request.get("message").and_then(Value::as_str)?; + let session = app_server_sessions.get(session_id)?; + let _ = session.sender.send(Message::Text(text.to_string().into())); + None +} + +async fn handle_mobile_relay_app_server_close( + request: &Value, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let session_id = request.get("sessionId").and_then(Value::as_str)?; + if let Some(sender) = app_server_sessions.remove(session_id) { + let _ = sender.sender.send(Message::Close(None)); + } + None +} + +async fn run_mobile_relay_app_server_session( + cipher: Aes256Gcm, + plaintext_mode: bool, + relay_tx: mpsc::UnboundedSender, + session_id: String, + mut app_rx: mpsc::UnboundedReceiver, +) { + let result = async { + let runtime = ensure_app_server_runtime().await?; + let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); + let (mut upstream, _) = tokio_tungstenite::connect_async(&url) + .await + .with_context(|| format!("failed to connect Codex app-server {url}"))?; + loop { + tokio::select! { + outbound = app_rx.recv() => { + let Some(outbound) = outbound else { + break; + }; + if outbound.is_close() { + break; + } + upstream + .send(outbound) + .await + .context("failed to send app-server message")?; + } + inbound = upstream.next() => { + let Some(inbound) = inbound else { + break; + }; + let inbound = inbound.context("failed to read app-server message")?; + if inbound.is_close() { + break; + } + let message = match inbound { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => String::from_utf8(bytes.to_vec()) + .context("app-server returned non-utf8 binary")?, + Message::Ping(_) | Message::Pong(_) => continue, + Message::Close(_) => break, + Message::Frame(_) => continue, + }; + if let Ok(value) = serde_json::from_str::(&message) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.app_server_message", + serde_json::json!({ + "sessionId": session_id, + "id": value.get("id").cloned().unwrap_or(Value::Null), + "method": value.get("method").and_then(Value::as_str), + "hasError": value.get("error").is_some() + }), + ); + } + let envelope = encode_mobile_relay_payload( + &cipher, + plaintext_mode, + &serde_json::json!({ + "type": "appServerMessage", + "sessionId": session_id, + "message": message + }), + )?; + let _ = relay_tx.send(Message::Text(envelope.to_string().into())); + } + } + } + anyhow::Ok(()) + } + .await; + let detail = match result { + Ok(()) => serde_json::json!({ + "type": "appServerClosed", + "sessionId": session_id + }), + Err(error) => serde_json::json!({ + "type": "appServerClosed", + "sessionId": session_id, + "error": error.to_string() + }), + }; + if let Ok(envelope) = encrypt_mobile_relay_payload(&cipher, &detail) { + let _ = relay_tx.send(Message::Text(envelope.to_string().into())); + } +} + +struct MobileRelayHttpResponse { + status: u16, + headers: serde_json::Map, + body: String, +} + +async fn proxy_mobile_relay_http_request( + helper_port: u16, + request: &serde_json::Value, +) -> anyhow::Result { + let method = request + .get("method") + .and_then(Value::as_str) + .unwrap_or("GET") + .to_ascii_uppercase(); + let path = request + .get("path") + .and_then(Value::as_str) + .filter(|path| path.starts_with('/')) + .unwrap_or("/"); + let body = request.get("body").and_then(Value::as_str).unwrap_or(""); + let mut stream = tokio::net::TcpStream::connect(("127.0.0.1", helper_port)) + .await + .with_context(|| format!("failed to connect helper on 127.0.0.1:{helper_port}"))?; + let content_type = request + .get("headers") + .and_then(Value::as_object) + .and_then(|headers| { + headers + .get("content-type") + .or_else(|| headers.get("Content-Type")) + .and_then(Value::as_str) + }) + .unwrap_or("application/json; charset=utf-8"); + let wire = format!( + "{method} {path} HTTP/1.1\r\nHost: 127.0.0.1:{helper_port}\r\nContent-Type: {content_type}\r\nContent-Length: {}\r\nConnection: close\r\n\r\n{body}", + body.as_bytes().len() + ); + stream.write_all(wire.as_bytes()).await?; + stream.shutdown().await?; + let mut response_bytes = Vec::new(); + stream.read_to_end(&mut response_bytes).await?; + parse_mobile_relay_http_response(&response_bytes) +} + +fn parse_mobile_relay_http_response(bytes: &[u8]) -> anyhow::Result { + let text = String::from_utf8_lossy(bytes); + let (header_text, body) = text + .split_once("\r\n\r\n") + .ok_or_else(|| anyhow::anyhow!("helper returned an invalid HTTP response"))?; + let mut lines = header_text.lines(); + let status_line = lines.next().unwrap_or_default(); + let status = status_line + .split_whitespace() + .nth(1) + .and_then(|value| value.parse::().ok()) + .unwrap_or(502); + let mut headers = serde_json::Map::new(); + for line in lines { + let Some((name, value)) = line.split_once(':') else { + continue; + }; + headers.insert( + name.trim().to_ascii_lowercase(), + Value::String(value.trim().to_string()), + ); + } + Ok(MobileRelayHttpResponse { + status, + headers, + body: body.to_string(), + }) +} + +fn percent_encode_query(value: &str) -> String { + let mut encoded = String::new(); + for byte in value.bytes() { + match byte { + b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'.' | b'_' | b'~' => { + encoded.push(byte as char) + } + _ => encoded.push_str(&format!("%{byte:02X}")), + } + } + encoded +} + +fn mobile_relay_cipher(key_text: &str) -> Aes256Gcm { + let digest = Sha256::digest(key_text.as_bytes()); + Aes256Gcm::new_from_slice(&digest).expect("sha256 always returns 32 bytes") +} + +fn mobile_relay_nonce() -> [u8; 12] { + let now = now_ms(); + let mut nonce = [0_u8; 12]; + nonce[..8].copy_from_slice(&now.to_le_bytes()); + let random = uuid::Uuid::new_v4(); + nonce[8..].copy_from_slice(&random.as_bytes()[..4]); + nonce +} + +fn encrypt_mobile_relay_payload(cipher: &Aes256Gcm, payload: &Value) -> anyhow::Result { + let nonce = mobile_relay_nonce(); + let plaintext = serde_json::to_vec(payload)?; + let ciphertext = cipher + .encrypt(Nonce::from_slice(&nonce), plaintext.as_slice()) + .map_err(|_| anyhow::anyhow!("手机控制数据加密失败"))?; + Ok(serde_json::json!({ + "type": "encrypted", + "nonce": URL_SAFE_NO_PAD.encode(nonce), + "payload": URL_SAFE_NO_PAD.encode(ciphertext) + })) +} + +fn encode_mobile_relay_payload( + cipher: &Aes256Gcm, + plaintext_mode: bool, + payload: &Value, +) -> anyhow::Result { + if plaintext_mode { + return Ok(serde_json::json!({ + "type": "plaintext", + "payload": payload + })); + } + encrypt_mobile_relay_payload(cipher, payload) +} + +fn decrypt_mobile_relay_request(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { + if envelope.get("type").and_then(Value::as_str) == Some("plaintext") { + return envelope + .get("payload") + .cloned() + .ok_or_else(|| anyhow::anyhow!("手机控制明文数据包缺少 payload")); + } + decrypt_mobile_relay_envelope(cipher, envelope) +} + +fn decrypt_mobile_relay_envelope(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { + if envelope.get("type").and_then(Value::as_str) != Some("encrypted") { + anyhow::bail!("手机控制数据包未加密"); + } + let nonce_text = envelope + .get("nonce") + .and_then(Value::as_str) + .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 nonce"))?; + let payload_text = envelope + .get("payload") + .and_then(Value::as_str) + .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 payload"))?; + let nonce = URL_SAFE_NO_PAD.decode(nonce_text)?; + if nonce.len() != 12 { + anyhow::bail!("手机控制 nonce 长度无效"); + } + let ciphertext = URL_SAFE_NO_PAD.decode(payload_text)?; + let plaintext = cipher + .decrypt(Nonce::from_slice(&nonce), ciphertext.as_slice()) + .map_err(|_| anyhow::anyhow!("手机控制数据解密失败"))?; + Ok(serde_json::from_slice(&plaintext)?) +} + fn overlay_image_response() -> (String, Vec, String, &'static str) { let not_found = || { ( @@ -906,92 +1524,1399 @@ fn overlay_image_content_type(path: &Path) -> Option<&'static str> { } } -async fn handle_models_proxy_connection( +async fn handle_mobile_page_connection( stream: &mut tokio::net::TcpStream, - request_user_agent: Option<&str>, method: &str, - path: &str, - remote_addr_text: Option, ) -> anyhow::Result<()> { if method == "OPTIONS" { - write_http_response( - stream, - "204 No Content", - "application/json; charset=utf-8", - &[], - ) - .await?; + write_options_response(stream).await?; stream.shutdown().await?; return Ok(()); } - - let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.models_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - let status = upstream.status(); - let is_success = upstream.is_success(); - let content_type = if upstream.content_type.is_empty() { - "application/json; charset=utf-8".to_string() - } else { - upstream.content_type.clone() - }; - let body = upstream.response.bytes().await?.to_vec(); - write_http_response(stream, &status, &content_type, &body).await?; - log_helper_response( - if is_success { - "helper.models_proxy_ok" - } else { - "helper.models_proxy_upstream_error" - }, - method, - path, - &status, - remote_addr_text, - ); + write_http_no_store_response( + stream, + "200 OK", + "text/html; charset=utf-8", + mobile_page_html(&serde_json::to_string(&mobile_model_catalog_value())?).as_bytes(), + ) + .await?; stream.shutdown().await?; Ok(()) } -async fn handle_protocol_proxy_connection( +async fn handle_app_server_status_connection( stream: &mut tokio::net::TcpStream, - request_body: &str, - request_user_agent: Option<&str>, method: &str, - path: &str, - remote_addr_text: Option, ) -> anyhow::Result<()> { - let request_json = serde_json::from_str::(request_body).ok(); - let upstream = - match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) - .await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let body = serde_json::to_vec(&app_server_status_response().await)?; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + stream.shutdown().await?; + Ok(()) +} + +async fn handle_app_server_rpc_connection( + stream: &mut tokio::net::TcpStream, + method: &str, + request_body: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let payload = serde_json::from_str::(request_body).unwrap_or_else(|error| { + serde_json::json!({ + "jsonrpc": "2.0", + "id": null, + "error": {"code": -32700, "message": error.to_string()} + }) + }); + let body = match app_server_rpc_once(payload).await { + Ok(response) => serde_json::to_vec(&response)?, + Err(error) => serde_json::to_vec(&serde_json::json!({ + "jsonrpc": "2.0", + "id": null, + "error": {"code": -32000, "message": error.to_string()} + }))?, + }; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + stream.shutdown().await?; + Ok(()) +} + +async fn app_server_rpc_once(payload: Value) -> anyhow::Result { + let runtime = ensure_app_server_runtime().await?; + let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); + let (mut socket, _) = tokio_tungstenite::connect_async(&url) + .await + .with_context(|| format!("failed to connect Codex app-server {url}"))?; + if payload.get("method").and_then(Value::as_str) != Some("initialize") { + let init_id = "__codex_plus_mobile_init__"; + let init_payload = serde_json::json!({ + "jsonrpc": "2.0", + "id": init_id, + "method": "initialize", + "params": { + "clientInfo": {"name": "Codex++ Mobile Relay", "version": "1.0.0"}, + "capabilities": {"experimentalApi": true} + } + }); + socket + .send(Message::Text(init_payload.to_string().into())) + .await + .context("failed to send app-server initialize")?; + let init_response = read_app_server_rpc_response( + &mut socket, + Some(Value::String(init_id.to_string())), + std::time::Duration::from_secs(20), + ) + .await?; + if let Some(error) = init_response.get("error") { + anyhow::bail!("app-server initialize failed: {error}"); + } + } + socket + .send(Message::Text(payload.to_string().into())) + .await + .context("failed to send app-server rpc")?; + let requested_id = payload.get("id").cloned(); + if payload.get("method").and_then(Value::as_str) == Some("turn/start") { + let thread_id = payload + .get("params") + .and_then(|params| params.get("threadId").or_else(|| params.get("thread_id"))) + .and_then(Value::as_str) + .map(str::to_string); + let response = read_app_server_rpc_response( + &mut socket, + requested_id, + std::time::Duration::from_secs(60), + ) + .await?; + if response.get("error").is_none() { + tokio::spawn(async move { + drain_app_server_turn_socket( + socket, + thread_id, + std::time::Duration::from_secs(600), + ) + .await; + }); + } + Ok(response) + } else { + read_app_server_rpc_response( + &mut socket, + requested_id, + std::time::Duration::from_secs(60), + ) + .await + } +} + +async fn read_app_server_rpc_response( + socket: &mut tokio_tungstenite::WebSocketStream< + tokio_tungstenite::MaybeTlsStream, + >, + requested_id: Option, + timeout: std::time::Duration, +) -> anyhow::Result { + let deadline = tokio::time::sleep(timeout); + tokio::pin!(deadline); + loop { + tokio::select! { + _ = &mut deadline => anyhow::bail!("app-server rpc timed out"), + message = socket.next() => { + let Some(message) = message else { + anyhow::bail!("app-server rpc connection closed"); + }; + let message = message.context("failed to read app-server rpc")?; + let response = app_server_message_json(message)?; + if response.get("id") == requested_id.as_ref() { + return Ok(response); + } + } + } + } +} + +async fn drain_app_server_turn_socket( + mut socket: tokio_tungstenite::WebSocketStream< + tokio_tungstenite::MaybeTlsStream, + >, + thread_id: Option, + timeout: std::time::Duration, +) { + let deadline = tokio::time::sleep(timeout); + tokio::pin!(deadline); + loop { + tokio::select! { + _ = &mut deadline => { + break; + } + message = socket.next() => { + let Some(message) = message else { + break; + }; + let Ok(message) = message else { + break; + }; + if matches!(message, Message::Ping(_) | Message::Pong(_)) { + continue; + } + let Ok(value) = app_server_message_json(message) else { + continue; + }; + if app_server_turn_finished_for_thread(&value, thread_id.as_deref()) { + break; + } + } + } + } + let _ = socket.close(None).await; +} + +fn app_server_message_json(message: Message) -> anyhow::Result { + let text = match message { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => { + String::from_utf8(bytes.to_vec()).context("app-server rpc returned non-utf8 binary")? + } + Message::Close(_) => anyhow::bail!("app-server rpc connection closed"), + _ => anyhow::bail!("app-server rpc returned unsupported websocket frame"), + }; + serde_json::from_str::(&text).context("app-server rpc returned invalid json") +} + +fn app_server_turn_finished_for_thread(message: &Value, thread_id: Option<&str>) -> bool { + let method = message + .get("method") + .and_then(Value::as_str) + .unwrap_or_default(); + if !matches!( + method, + "turn/completed" | "turn/failed" | "turn/cancelled" | "thread/status/changed" + ) { + return false; + } + if method == "thread/status/changed" + && !matches!( + message + .get("params") + .and_then(|params| params.get("status")) + .and_then(Value::as_str), + Some("idle" | "completed" | "failed" | "cancelled") + ) + { + return false; + } + let Some(expected) = thread_id else { + return true; + }; + app_server_event_thread_id(message) + .as_deref() + .map(|actual| actual == expected) + .unwrap_or_else(|| message.to_string().contains(expected)) +} + +fn app_server_event_thread_id(message: &Value) -> Option { + let params = message.get("params")?; + params + .get("threadId") + .or_else(|| params.get("thread_id")) + .or_else(|| params.get("thread").and_then(|thread| thread.get("id"))) + .or_else(|| params.get("turn").and_then(|turn| turn.get("threadId"))) + .or_else(|| params.get("turn").and_then(|turn| turn.get("thread_id"))) + .or_else(|| params.get("item").and_then(|item| item.get("threadId"))) + .or_else(|| params.get("item").and_then(|item| item.get("thread_id"))) + .and_then(Value::as_str) + .map(str::to_string) +} + +async fn handle_app_server_websocket_proxy_connection( + stream: &mut tokio::net::TcpStream, + request: &str, + method: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let runtime = match ensure_app_server_runtime().await { + Ok(runtime) => runtime, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + stream.shutdown().await?; + return Ok(()); + } + }; + let upstream_request = rewrite_app_server_ws_request(request, runtime.port); + let mut upstream = tokio::net::TcpStream::connect(("127.0.0.1", runtime.port)).await?; + upstream.write_all(upstream_request.as_bytes()).await?; + let _ = tokio::io::copy_bidirectional(stream, &mut upstream).await?; + stream.shutdown().await?; + Ok(()) +} + +fn rewrite_app_server_ws_request(request: &str, app_server_port: u16) -> String { + let mut out = format!("GET /rpc HTTP/1.1\r\nHost: 127.0.0.1:{app_server_port}\r\n"); + for line in request.lines().skip(1) { + if line.is_empty() { + break; + } + let Some((name, _)) = line.split_once(':') else { + continue; + }; + let name = name.trim(); + if name.eq_ignore_ascii_case("host") + || name.eq_ignore_ascii_case("origin") + || name.eq_ignore_ascii_case("sec-websocket-protocol") + { + continue; + } + out.push_str(line); + out.push_str("\r\n"); + } + out.push_str("\r\n"); + out +} + +async fn app_server_status_response() -> Value { + match ensure_app_server_runtime().await { + Ok(runtime) => serde_json::json!({ + "status": "ok", + "port": runtime.port, + "pid": runtime.process_id().await, + "source": runtime.source, + "rpcUrl": format!("ws://127.0.0.1:{}/rpc", runtime.port), + "transport": "codex-app-server" + }), + Err(error) => serde_json::json!({ + "status": "failed", + "message": error.to_string() + }), + } +} + +async fn ensure_app_server_runtime() -> anyhow::Result> { + let runtime_slot = APP_SERVER_RUNTIME.get_or_init(|| Mutex::new(None)); + let mut guard = runtime_slot.lock().await; + if let Some(runtime) = guard.as_ref() { + if app_server_ready(runtime.port).await { + return Ok(runtime.clone()); + } + } + if let Some(runtime) = existing_app_server_runtime().await { + *guard = Some(runtime.clone()); + return Ok(runtime); + } + let runtime = Arc::new(start_app_server_runtime().await?); + *guard = Some(runtime.clone()); + Ok(runtime) +} + +async fn existing_app_server_runtime() -> Option> { + for key in ["CODEX_PLUS_APP_SERVER_URL", "CODEX_APP_SERVER_URL"] { + let Ok(value) = std::env::var(key) else { + continue; + }; + let Some(port) = app_server_port_from_url(&value) else { + continue; + }; + if app_server_ready(port).await { + return Some(Arc::new(AppServerRuntime { + port, + source: "external", + child: None, + })); + } + } + None +} + +fn app_server_port_from_url(value: &str) -> Option { + let trimmed = value.trim(); + let without_scheme = trimmed + .strip_prefix("ws://") + .or_else(|| trimmed.strip_prefix("http://"))?; + let authority = without_scheme.split('/').next().unwrap_or(without_scheme); + let (host, port) = authority.rsplit_once(':')?; + matches!(host, "127.0.0.1" | "localhost").then(|| port.parse().ok())? +} + +async fn start_app_server_runtime() -> anyhow::Result { + let port = reserve_app_server_port()?; + let codex = resolve_codex_cli_path(); + let mut command = Command::new(&codex); + command + .arg("app-server") + .arg("--listen") + .arg(format!("ws://127.0.0.1:{port}")) + .kill_on_drop(true) + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()); + #[cfg(windows)] + command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); + let child = command + .spawn() + .with_context(|| format!("无法启动 Codex app-server:{codex}"))?; + wait_for_app_server_ready(port).await?; + Ok(AppServerRuntime { + port, + source: "managed", + child: Some(Mutex::new(child)), + }) +} + +fn resolve_codex_cli_path() -> String { + std::env::var("CODEX_CLI_PATH") + .ok() + .filter(|path| !path.trim().is_empty()) + .filter(|path| Path::new(path).is_file()) + .or_else(|| { + crate::cli_wrapper::resolve_real_codex().map(|path| path.to_string_lossy().to_string()) + }) + .unwrap_or_else(|| "codex".to_string()) +} + +fn reserve_app_server_port() -> anyhow::Result { + for _ in 0..20 { + let listener = std::net::TcpListener::bind(("127.0.0.1", 0))?; + let port = listener.local_addr()?.port(); + if port != crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT { + return Ok(port); + } + } + anyhow::bail!("无法为 Codex app-server 预留端口") +} + +async fn wait_for_app_server_ready(port: u16) -> anyhow::Result<()> { + for _ in 0..80 { + if app_server_ready(port).await { + return Ok(()); + } + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + } + anyhow::bail!("Codex app-server 启动超时") +} + +async fn app_server_ready(port: u16) -> bool { + let Ok(mut stream) = tokio::net::TcpStream::connect(("127.0.0.1", port)).await else { + return false; + }; + let request = "GET /readyz HTTP/1.1\r\nHost: 127.0.0.1\r\nConnection: close\r\n\r\n"; + if stream.write_all(request.as_bytes()).await.is_err() { + return false; + } + let Ok(response) = read_http_request(&mut stream).await else { + return false; + }; + response.starts_with(b"HTTP/1.1 200") || response.starts_with(b"HTTP/1.0 200") +} + +fn mobile_model_catalog_value() -> Value { + let settings = SettingsStore::default().load().unwrap_or_default(); + let profile = settings.active_relay_profile(); + let mut models = Vec::new(); + for value in profile + .model_list + .split(['\r', '\n', ',']) + .chain(std::iter::once(profile.model.as_str())) + .map(str::trim) + .filter(|value| !value.is_empty()) + { + if !models.iter().any(|existing| existing == value) { + models.push(value.to_string()); + } + } + let default_model = if models.iter().any(|model| model == &profile.model) { + profile.model.trim().to_string() + } else { + models.first().cloned().unwrap_or_default() + }; + serde_json::json!({ + "status": if models.is_empty() { "not_configured" } else { "ok" }, + "model": profile.model.trim(), + "model_provider": profile.id.trim(), + "provider_name": if profile.name.trim().is_empty() { profile.id.trim() } else { profile.name.trim() }, + "default_model": default_model, + "models": models + }) +} + +fn mobile_page_html(model_catalog_json: &str) -> String { + let html = r#" + + + + + Codex++ Mobile + + + +
+
+ Codex++ + 正在连接 WebSocket... +
+
+
+ +
+
+ +
+
+ + +"#; + html.replace( + "__MODEL_CATALOG_JSON__", + &script_safe_json(model_catalog_json), + ) +} + +fn script_safe_json(json: &str) -> String { + json.replace('<', "\\u003c") + .replace('>', "\\u003e") + .replace('&', "\\u0026") + .replace('\u{2028}', "\\u2028") + .replace('\u{2029}', "\\u2029") +} + +async fn handle_models_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_http_response( + stream, + "204 No Content", + "application/json; charset=utf-8", + &[], + ) + .await?; + stream.shutdown().await?; + return Ok(()); + } + + let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.models_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + + let status = upstream.status(); + let is_success = upstream.is_success(); + let content_type = if upstream.content_type.is_empty() { + "application/json; charset=utf-8".to_string() + } else { + upstream.content_type.clone() + }; + let body = upstream.response.bytes().await?.to_vec(); + write_http_response(stream, &status, &content_type, &body).await?; + log_helper_response( + if is_success { + "helper.models_proxy_ok" + } else { + "helper.models_proxy_upstream_error" + }, + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} + +async fn handle_protocol_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_body: &str, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + let request_json = serde_json::from_str::(request_body).ok(); + let upstream = + match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ "status": "failed", "message": error.to_string() }))?; @@ -1243,6 +3168,30 @@ async fn write_http_response( Ok(()) } +async fn write_http_no_store_response( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, + body: &[u8], +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-store\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ); + stream.write_all(response.as_bytes()).await?; + stream.write_all(body).await?; + Ok(()) +} + +async fn write_options_response(stream: &mut tokio::net::TcpStream) -> anyhow::Result<()> { + stream + .write_all( + b"HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", + ) + .await?; + Ok(()) +} + async fn write_http_stream_headers( stream: &mut tokio::net::TcpStream, status: &str, @@ -1275,7 +3224,10 @@ fn log_helper_response( #[cfg(test)] mod computer_use_tests { - use super::{header_value_from_request, overlay_image_content_type}; + use super::{ + MobileRelayHostConfig, header_value_from_request, overlay_image_content_type, + percent_encode_query, + }; use std::path::Path; #[test] @@ -1304,6 +3256,25 @@ mod computer_use_tests { Some("Codex/26.614") ); } + + #[test] + fn mobile_relay_host_url_appends_host_path_and_credentials() { + let config = MobileRelayHostConfig { + relay_url: "ws://example.test:57323".to_string(), + room: "项目 A".to_string(), + token: "a+b&c".to_string(), + encryption_key: "test-key".to_string(), + }; + assert_eq!( + config.host_url(), + "ws://example.test:57323/host?room=%E9%A1%B9%E7%9B%AE%20A&token=a%2Bb%26c" + ); + } + + #[test] + fn mobile_relay_percent_encode_keeps_url_safe_bytes() { + assert_eq!(percent_encode_query("abc-._~ 1+2"), "abc-._~%201%2B2"); + } } async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index 37dacdffd..3f8ee6fea 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -240,6 +240,14 @@ pub struct BackendSettings { pub codex_app_image_overlay_opacity: u8, #[serde(rename = "codexGoalsEnabled", default)] pub codex_goals_enabled: bool, + #[serde(rename = "mobileControlEnabled", default)] + pub mobile_control_enabled: bool, + #[serde(rename = "mobileControlRelayUrl", default)] + pub mobile_control_relay_url: String, + #[serde(rename = "mobileControlRoom", default)] + pub mobile_control_room: String, + #[serde(rename = "mobileControlKey", default)] + pub mobile_control_key: String, #[serde(rename = "launchMode", default)] pub launch_mode: LaunchMode, #[serde(rename = "relayBaseUrl", default = "default_relay_base_url")] @@ -274,6 +282,10 @@ pub struct BackendSettings { pub cli_wrapper_api_key_env: String, } +fn default_mobile_control_relay_url() -> String { + "ws://127.0.0.1:57323".to_string() +} + impl Default for BackendSettings { fn default() -> Self { Self { @@ -308,6 +320,10 @@ impl Default for BackendSettings { codex_app_image_overlay_path: String::new(), codex_app_image_overlay_opacity: default_image_overlay_opacity(), codex_goals_enabled: false, + mobile_control_enabled: false, + mobile_control_relay_url: default_mobile_control_relay_url(), + mobile_control_room: String::new(), + mobile_control_key: String::new(), launch_mode: LaunchMode::Patch, relay_base_url: default_relay_base_url(), relay_api_key: String::new(), @@ -672,6 +688,27 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map Date: Sat, 20 Jun 2026 18:52:42 +0800 Subject: [PATCH 060/156] chore: release 1.2.16 --- Cargo.lock | 10 +- Cargo.toml | 2 +- README.md | 8 - README_EN.md | 8 - apps/codex-plus-launcher/src/main.rs | 9 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/src/commands.rs | 84 ++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 2 + .../src-tauri/tauri.conf.json | 2 +- apps/codex-plus-manager/src/App.tsx | 93 +++- apps/codex-plus-manager/src/styles.css | 69 ++- crates/codex-plus-core/src/ccs_import.rs | 417 ++++++++++++++++++ crates/codex-plus-core/src/install/macos.rs | 61 +-- crates/codex-plus-core/src/install/mod.rs | 100 ++++- crates/codex-plus-core/src/launcher.rs | 4 +- crates/codex-plus-core/src/lib.rs | 1 + crates/codex-plus-core/tests/installers.rs | 53 ++- crates/codex-plus-core/tests/model_catalog.rs | 4 +- 19 files changed, 844 insertions(+), 89 deletions(-) create mode 100644 crates/codex-plus-core/src/ccs_import.rs diff --git a/Cargo.lock b/Cargo.lock index 76181682a..94e97b64c 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -397,7 +397,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.15" +version = "1.2.16" dependencies = [ "aes-gcm", "anyhow", @@ -423,7 +423,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.15" +version = "1.2.16" dependencies = [ "anyhow", "base64 0.22.1", @@ -439,7 +439,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.15" +version = "1.2.16" dependencies = [ "anyhow", "async-trait", @@ -453,7 +453,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.15" +version = "1.2.16" dependencies = [ "anyhow", "async-trait", @@ -471,7 +471,7 @@ dependencies = [ [[package]] name = "codex-plus-mobile-relay" -version = "1.2.13" +version = "1.2.16" dependencies = [ "anyhow", "futures-util", diff --git a/Cargo.toml b/Cargo.toml index b02575667..061152ee7 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "1.2.15" +version = "1.2.16" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/README.md b/README.md index ce4f4e2f4..b54464c89 100644 --- a/README.md +++ b/README.md @@ -101,14 +101,6 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安
0029云桥|codex api中转站(gpt5.5 gpt-image-2)
支持个人和企业接入。包月套餐/按量计费,Pro/Plus 号池,全站接口稳定可用,7×24 小时技术支持! - - - - VisionCoder - - - VisionCoder 开发平台
感谢 VisionCoder 对本项目的支持。VisionCoder 开发平台是一个可靠高效的 API 中继服务提供商,提供 Claude Code、Codex、Gemini 等主流 AI 模型,帮助开发者和团队更轻松地集成 AI 功能,提升工作效率。VisionCoder 还为我们的用户提供 Token Plan 限时活动:购买 1 个月,赠送 1 个月。 - diff --git a/README_EN.md b/README_EN.md index 6b537e9d3..ab0d4a2c0 100644 --- a/README_EN.md +++ b/README_EN.md @@ -101,14 +101,6 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in 0029 Cloud Bridge | Codex API Relay Station (gpt5.5 gpt-image-2)
Supports individual and enterprise access. Monthly plans and pay-as-you-go billing are available, with Pro/Plus account pools, stable site-wide APIs, and 24/7 technical support. - - - - VisionCoder - - - VisionCoder Developer Platform
Thanks to VisionCoder for supporting this project. VisionCoder Developer Platform is a reliable and efficient API relay service provider, offering access to mainstream AI models such as Claude Code, Codex, and Gemini. It helps developers and teams integrate AI capabilities more easily and improve productivity. VisionCoder is also offering our users a limited-time Token Plan promotion: buy 1 month and get 1 month free. - diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 0daa91bf3..9d6581555 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -733,14 +733,7 @@ fn open_url(url: &str) -> anyhow::Result<()> { } fn manager_exe_path() -> PathBuf { - let exe = std::env::current_exe().unwrap_or_else(|_| PathBuf::from(".")); - let dir = exe.parent().unwrap_or_else(|| Path::new(".")); - let suffix = if cfg!(windows) { ".exe" } else { "" }; - dir.join(format!( - "{}{}", - codex_plus_core::install::MANAGER_BINARY, - suffix - )) + codex_plus_core::install::companion_binary_path(codex_plus_core::install::MANAGER_BINARY) } fn default_user_script_manager() -> UserScriptManager { diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 6f2a60bb9..76e21af7b 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.15", + "version": "1.2.16", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.15", + "version": "1.2.16", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 27cb88312..68b5dda19 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.15", + "version": "1.2.16", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 5f2baad28..62d03e248 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -58,6 +58,13 @@ pub struct SettingsPayload { pub user_scripts: Value, } +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct CcsProvidersPayload { + pub db_path: String, + pub providers: Vec, +} + #[derive(Debug, Clone, Serialize)] #[serde(rename_all = "camelCase")] pub struct LocalSessionsPayload { @@ -451,6 +458,83 @@ pub fn save_settings(settings: BackendSettings) -> CommandResult CommandResult { + let db_path = codex_plus_core::ccs_import::default_ccs_db_path(); + match codex_plus_core::ccs_import::list_codex_providers_from_db(&db_path) { + Ok(providers) => ok( + &format!( + "已读取 cc-switch Codex 供应商配置:{} 个。", + providers.len() + ), + CcsProvidersPayload { + db_path: db_path.to_string_lossy().to_string(), + providers, + }, + ), + Err(error) => failed( + &format!("读取 cc-switch 供应商配置失败:{error}"), + CcsProvidersPayload { + db_path: db_path.to_string_lossy().to_string(), + providers: Vec::new(), + }, + ), + } +} + +#[tauri::command] +pub fn import_ccs_providers() -> CommandResult { + let providers = match codex_plus_core::ccs_import::list_codex_providers_from_default_db() { + Ok(providers) => providers, + Err(error) => { + let payload = settings_payload_value().unwrap_or_else(|(_, payload)| payload); + return failed(&format!("读取 cc-switch 供应商配置失败:{error}"), payload); + } + }; + + let store = SettingsStore::default(); + let mut settings = store.load().unwrap_or_default(); + let mut existing_keys: Vec = settings + .relay_profiles + .iter() + .map(codex_plus_core::ccs_import::imported_provider_identity) + .collect(); + let mut existing_ids: Vec = settings + .relay_profiles + .iter() + .map(|profile| profile.id.clone()) + .collect(); + let mut imported = 0usize; + + for provider in providers { + let key = codex_plus_core::ccs_import::provider_identity_from_ccs(&provider); + if existing_keys.iter().any(|existing| existing == &key) { + continue; + } + let profile = codex_plus_core::ccs_import::relay_profile_from_ccs(&provider, &existing_ids); + existing_ids.push(profile.id.clone()); + existing_keys.push(key); + settings.relay_profiles.push(profile); + imported += 1; + } + + if imported == 0 { + return settings_payload("没有新的 cc-switch 供应商配置需要导入。", "设置读取失败"); + } + + settings = normalize_settings_before_save(settings); + match store.save(&settings) { + Ok(()) => settings_payload( + &format!("已从 cc-switch 导入供应商配置:{imported} 个。"), + "导入供应商配置后重新读取设置失败", + ), + Err(error) => failed( + &format!("保存 cc-switch 供应商配置失败:{error}"), + settings_payload_value().unwrap_or_else(|(_, payload)| payload), + ), + } +} + #[tauri::command] pub fn list_local_sessions() -> CommandResult { let home = codex_plus_core::codex_sqlite::default_codex_home_dir(); diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 9325550f6..7179fa90e 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -50,6 +50,8 @@ pub fn run() { commands::restart_codex_plus, commands::load_settings, commands::save_settings, + commands::load_ccs_providers, + commands::import_ccs_providers, commands::list_local_sessions, commands::list_zed_remote_projects, commands::open_zed_remote, diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 1814a21a6..16c2cd1f8 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.15", + "version": "1.2.16", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 00893a683..bfadf16ea 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -362,6 +362,21 @@ type RelayProfileModelsResult = CommandResult<{ endpoint: string; }>; +type CcsProviderImport = { + sourceId: string; + name: string; + baseUrl: string; + apiKey: string; + protocol: RelayProtocol; + configContents: string; + authContents: string; +}; + +type CcsProvidersResult = CommandResult<{ + dbPath: string; + providers: CcsProviderImport[]; +}>; + type EnvConflict = { name: string; source: "process" | "user" | string; @@ -545,10 +560,10 @@ type StartupResult = CommandResult<{ type Route = "overview" | "relay" | "mobileControl" | "sessions" | "context" | "enhance" | "zedRemote" | "userScripts" | "recommendations" | "maintenance" | "about" | "settings"; type Theme = "dark" | "light"; -const routes: Array<{ id: Route; label: string; icon: LucideIcon }> = [ +const routes: Array<{ id: Route; label: string; icon: LucideIcon; badge?: string }> = [ { id: "overview", label: "概览", icon: LayoutDashboard }, { id: "relay", label: "供应商配置", icon: KeyRound }, - { id: "mobileControl", label: "手机控制", icon: MessageCircle }, + { id: "mobileControl", label: "手机控制", icon: MessageCircle, badge: "测试版" }, { id: "sessions", label: "会话管理", icon: MessageCircle }, { id: "context", label: "工具与插件", icon: Network }, { id: "enhance", label: "页面增强", icon: Hammer }, @@ -643,6 +658,7 @@ export function App() { const [relay, setRelay] = useState(null); const [relayFiles, setRelayFiles] = useState(null); const [envConflicts, setEnvConflicts] = useState(null); + const [ccsProviders, setCcsProviders] = useState(null); const [localSessions, setLocalSessions] = useState(null); const [zedRemoteProjects, setZedRemoteProjects] = useState(null); const [liveContextEntries, setLiveContextEntries] = useState(null); @@ -796,6 +812,25 @@ export function App() { } }; + const refreshCcsProviders = async (silent = false) => { + const result = await run(() => call("load_ccs_providers")); + if (result) { + setCcsProviders(result); + if (!silent || !isSuccessStatus(result.status)) showResultNotice("cc-switch 导入", result, { silentSuccess: true }); + } + return result; + }; + + const importCcsProviders = async () => { + const result = await run(() => call("import_ccs_providers")); + if (result) { + setSettings(result); + setSettingsForm(normalizeSettings(result.settings)); + showResultNotice("cc-switch 导入", result); + await refreshCcsProviders(true); + } + }; + const refreshLocalSessions = async (silent = false) => { const result = await run(() => call("list_local_sessions")); if (result) { @@ -907,6 +942,7 @@ export function App() { await refreshRelay(true); await refreshRelayFiles(true); await refreshEnvConflicts(true); + await refreshCcsProviders(true); } if (next === "sessions") { await refreshSettings(true); @@ -1578,6 +1614,8 @@ export function App() { refreshRelayFiles, refreshEnvConflicts, removeEnvConflicts, + refreshCcsProviders, + importCcsProviders, refreshLiveContextEntries, syncLiveContextEntries, refreshAds, @@ -1622,7 +1660,7 @@ export function App() { disableWatcher: () => watcherAction("disable_watcher"), toggleTheme: () => setTheme((current) => (current === "dark" ? "light" : "dark")), }), - [route, launchForm, settingsForm, settings, removeOwnedData, update, logs, diagnostics, theme, relayFiles, localSessions, zedRemoteProjects, selectedProviderSyncTarget, envConflicts], + [route, launchForm, settingsForm, settings, removeOwnedData, update, logs, diagnostics, theme, relayFiles, localSessions, zedRemoteProjects, selectedProviderSyncTarget, envConflicts, ccsProviders], ); const hasUpdate = update?.updateAvailable === true; @@ -1666,6 +1704,7 @@ export function App() {
PathBuf { + home_dir() + .join(format!(".{}-{}", "cc", "switch")) + .join(format!("{}-{}.db", "cc", "switch")) +} + +pub fn list_codex_providers_from_default_db() -> anyhow::Result> { + list_codex_providers_from_db(&default_ccs_db_path()) +} + +pub fn list_codex_providers_from_db(path: &Path) -> anyhow::Result> { + if !path.exists() { + return Ok(Vec::new()); + } + let conn = Connection::open_with_flags(path, rusqlite::OpenFlags::SQLITE_OPEN_READ_ONLY) + .with_context(|| format!("failed to open provider database {}", path.display()))?; + let mut stmt = conn.prepare( + "SELECT id, name, settings_config + FROM providers + WHERE app_type = 'codex' + ORDER BY COALESCE(sort_index, 999999), created_at ASC, id ASC", + )?; + let rows = stmt.query_map([], |row| { + let source_id: String = row.get(0)?; + let name: String = row.get(1)?; + let settings_config: String = row.get(2)?; + Ok((source_id, name, settings_config)) + })?; + + let mut providers = Vec::new(); + for row in rows { + let (source_id, name, settings_config) = row?; + let Ok(config) = serde_json::from_str::(&settings_config) else { + continue; + }; + if let Some(provider) = import_from_ccs_value(&source_id, &name, &config) { + providers.push(provider); + } + } + Ok(providers) +} + +pub fn imported_provider_identity(provider: &RelayProfile) -> String { + ccs_import_key( + strip_ccs_name_suffix(&provider.name), + &provider.upstream_base_url, + ) +} + +pub fn provider_identity_from_ccs(provider: &CcsProviderImport) -> String { + ccs_import_key(&provider.name, &provider.base_url) +} + +pub fn relay_profile_from_ccs( + provider: &CcsProviderImport, + existing_ids: &[String], +) -> RelayProfile { + RelayProfile { + id: unique_profile_id( + &format!("ccs-{}", sanitize_id(&provider.source_id)), + existing_ids, + ), + name: format!("{}(ccswitch)", strip_ccs_name_suffix(&provider.name)), + model: String::new(), + base_url: provider.base_url.clone(), + upstream_base_url: provider.base_url.clone(), + api_key: provider.api_key.clone(), + protocol: provider.protocol, + relay_mode: RelayMode::PureApi, + official_mix_api_key: false, + test_model: String::new(), + config_contents: provider.config_contents.clone(), + auth_contents: provider.auth_contents.clone(), + use_common_config: true, + context_selection: crate::settings::RelayContextSelection::default(), + context_selection_initialized: false, + context_window: String::new(), + auto_compact_limit: String::new(), + model_insert_mode: Default::default(), + model_list: String::new(), + user_agent: String::new(), + } +} + +fn import_from_ccs_value(source_id: &str, name: &str, config: &Value) -> Option { + let base_url = extract_base_url(config)?; + let api_key = extract_api_key(config).unwrap_or_default(); + let protocol = extract_protocol(config); + let config_contents = extract_config_contents(config) + .filter(|value| !value.trim().is_empty()) + .unwrap_or_else(|| build_config_toml(&base_url, &api_key, protocol)); + let auth_contents = extract_auth_contents(config) + .filter(|value| !value.trim().is_empty()) + .unwrap_or_else(|| build_auth_json(&api_key)); + Some(CcsProviderImport { + source_id: source_id.to_string(), + name: name.to_string(), + base_url, + api_key, + protocol, + config_contents, + auth_contents, + }) +} + +fn extract_base_url(config: &Value) -> Option { + string_at(config, &["base_url", "baseURL"]) + .or_else(|| { + config + .get("config") + .and_then(|value| string_at(value, &["base_url", "baseURL"])) + }) + .or_else(|| { + config + .get("config") + .and_then(Value::as_str) + .and_then(extract_toml_base_url) + }) + .map(trim_trailing_slash) + .filter(|value| !value.is_empty()) +} + +fn extract_api_key(config: &Value) -> Option { + if let Some(key) = config + .pointer("/env/OPENAI_API_KEY") + .and_then(Value::as_str) + { + return Some(key.to_string()); + } + if let Some(key) = config + .pointer("/auth/OPENAI_API_KEY") + .and_then(Value::as_str) + { + return Some(key.to_string()); + } + string_at(config, &["apiKey", "api_key"]).or_else(|| { + config + .get("config") + .and_then(|value| string_at(value, &["apiKey", "api_key"])) + }) +} + +fn extract_protocol(config: &Value) -> RelayProtocol { + if let Some(api_format) = string_at(config, &["api_format", "apiFormat"]) { + if is_chat_protocol(&api_format) { + return RelayProtocol::ChatCompletions; + } + } + if let Some(wire_api) = config + .get("config") + .and_then(Value::as_str) + .and_then(extract_toml_wire_api) + { + if is_chat_protocol(&wire_api) { + return RelayProtocol::ChatCompletions; + } + } + if extract_base_url(config) + .map(|value| value.to_ascii_lowercase().ends_with("/chat/completions")) + .unwrap_or(false) + { + return RelayProtocol::ChatCompletions; + } + RelayProtocol::Responses +} + +fn extract_config_contents(config: &Value) -> Option { + config + .get("config") + .and_then(Value::as_str) + .map(str::to_string) +} + +fn extract_auth_contents(config: &Value) -> Option { + config.get("auth").and_then(|auth| { + if auth.is_object() { + serde_json::to_string_pretty(auth) + .ok() + .map(|value| format!("{value}\n")) + } else { + auth.as_str().map(str::to_string) + } + }) +} + +fn string_at(value: &Value, keys: &[&str]) -> Option { + keys.iter() + .find_map(|key| value.get(*key).and_then(Value::as_str)) + .map(str::to_string) +} + +fn trim_trailing_slash(value: String) -> String { + value.trim().trim_end_matches('/').to_string() +} + +fn is_chat_protocol(value: &str) -> bool { + matches!( + value.trim().to_ascii_lowercase().as_str(), + "chat" | "chat_completions" | "chat-completions" | "openai_chat" | "openai-chat" + ) +} + +fn extract_toml_base_url(text: &str) -> Option { + extract_toml_string_value(text, "base_url") +} + +fn extract_toml_wire_api(text: &str) -> Option { + extract_toml_string_value(text, "wire_api") +} + +fn extract_toml_string_value(text: &str, key: &str) -> Option { + for line in text.lines() { + let trimmed = line.trim(); + let Some(rest) = trimmed.strip_prefix(key) else { + continue; + }; + let rest = rest.trim_start(); + let Some(rest) = rest.strip_prefix('=') else { + continue; + }; + let rest = rest.trim_start(); + let quote = rest.chars().next()?; + if quote != '"' && quote != '\'' { + continue; + } + let rest = &rest[quote.len_utf8()..]; + let end = rest.find(quote)?; + return Some(rest[..end].to_string()); + } + None +} + +fn build_config_toml(base_url: &str, api_key: &str, protocol: RelayProtocol) -> String { + let wire_api = match protocol { + RelayProtocol::Responses => "responses", + RelayProtocol::ChatCompletions => "chat", + }; + [ + "model_provider = \"CodexPlusPlus\"".to_string(), + String::new(), + "[model_providers.CodexPlusPlus]".to_string(), + "name = \"CodexPlusPlus\"".to_string(), + format!("wire_api = \"{wire_api}\""), + "requires_openai_auth = true".to_string(), + format!("base_url = \"{}\"", toml_string(base_url)), + format!("experimental_bearer_token = \"{}\"", toml_string(api_key)), + String::new(), + ] + .join("\n") +} + +fn build_auth_json(api_key: &str) -> String { + format!( + "{}\n", + serde_json::to_string_pretty(&serde_json::json!({ "OPENAI_API_KEY": api_key })) + .unwrap_or_else(|_| "{\"OPENAI_API_KEY\":\"\"}".to_string()) + ) +} + +fn toml_string(value: &str) -> String { + value.replace('\\', "\\\\").replace('"', "\\\"") +} + +fn ccs_import_key(name: &str, base_url: &str) -> String { + format!( + "{}\n{}", + strip_ccs_name_suffix(name).trim().to_ascii_lowercase(), + base_url.trim().trim_end_matches('/').to_ascii_lowercase() + ) +} + +fn strip_ccs_name_suffix(name: &str) -> &str { + name.trim() + .strip_suffix("(ccswitch)") + .or_else(|| name.trim().strip_suffix("(ccswitch)")) + .unwrap_or_else(|| name.trim()) +} + +fn sanitize_id(value: &str) -> String { + let mut result = String::new(); + for ch in value.chars() { + if ch.is_ascii_alphanumeric() { + result.push(ch.to_ascii_lowercase()); + } else if !result.ends_with('-') { + result.push('-'); + } + } + let result = result.trim_matches('-').to_string(); + if result.is_empty() { + "provider".to_string() + } else { + result + } +} + +fn unique_profile_id(base: &str, existing_ids: &[String]) -> String { + if !existing_ids.iter().any(|id| id == base) { + return base.to_string(); + } + let mut index = 2; + loop { + let candidate = format!("{base}-{index}"); + if !existing_ids.iter().any(|id| id == &candidate) { + return candidate; + } + index += 1; + } +} + +fn home_dir() -> PathBuf { + directories::BaseDirs::new() + .map(|dirs| dirs.home_dir().to_path_buf()) + .or_else(|| std::env::var_os("USERPROFILE").map(PathBuf::from)) + .or_else(|| std::env::var_os("HOME").map(PathBuf::from)) + .unwrap_or_else(|| PathBuf::from(".")) +} + +#[cfg(test)] +mod tests { + use super::*; + use rusqlite::params; + use serde_json::json; + + fn create_ccs_db(path: &Path) { + let conn = Connection::open(path).unwrap(); + conn.execute( + "CREATE TABLE providers ( + id TEXT NOT NULL, + app_type TEXT NOT NULL, + name TEXT NOT NULL, + settings_config TEXT NOT NULL, + created_at INTEGER, + sort_index INTEGER, + PRIMARY KEY (id, app_type) + )", + [], + ) + .unwrap(); + } + + fn insert_provider(path: &Path, id: &str, name: &str, config: Value, sort_index: i64) { + let conn = Connection::open(path).unwrap(); + conn.execute( + "INSERT INTO providers (id, app_type, name, settings_config, created_at, sort_index) + VALUES (?1, 'codex', ?2, ?3, ?4, ?5)", + params![id, name, config.to_string(), 1000 + sort_index, sort_index], + ) + .unwrap(); + } + + #[test] + fn imports_direct_base_url_and_api_key_provider() { + let dir = tempfile::tempdir().unwrap(); + let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); + create_ccs_db(&db); + insert_provider( + &db, + "one", + "One", + json!({ + "base_url": "https://example.com/v1/", + "apiKey": "key-1", + "api_format": "chat_completions" + }), + 1, + ); + + let providers = list_codex_providers_from_db(&db).unwrap(); + assert_eq!(providers.len(), 1); + assert_eq!(providers[0].base_url, "https://example.com/v1"); + assert_eq!(providers[0].api_key, "key-1"); + assert_eq!(providers[0].protocol, RelayProtocol::ChatCompletions); + } + + #[test] + fn imports_toml_config_provider() { + let dir = tempfile::tempdir().unwrap(); + let db = dir.path().join(format!("{}-{}.db", "cc", "switch")); + create_ccs_db(&db); + insert_provider( + &db, + "two", + "Two", + json!({ + "config": "model_provider = 'custom'\n[model_providers.custom]\nwire_api = 'responses'\nbase_url = 'https://relay.example/v1'\n", + "auth": { "OPENAI_API_KEY": "key-2" } + }), + 1, + ); + + let providers = list_codex_providers_from_db(&db).unwrap(); + assert_eq!(providers.len(), 1); + assert_eq!(providers[0].base_url, "https://relay.example/v1"); + assert_eq!(providers[0].api_key, "key-2"); + assert_eq!(providers[0].protocol, RelayProtocol::Responses); + } +} diff --git a/crates/codex-plus-core/src/install/macos.rs b/crates/codex-plus-core/src/install/macos.rs index e963c383c..65dff4100 100644 --- a/crates/codex-plus-core/src/install/macos.rs +++ b/crates/codex-plus-core/src/install/macos.rs @@ -22,41 +22,52 @@ pub fn build_app_bundle(options: &InstallOptions, manager: bool) -> MacosAppBund } else { SILENT_BINARY }; - let target = option_or_current_exe( - if manager { - &options.manager_path - } else { - &options.launcher_path - }, + let binary_source = install_binary_source( + option_or_current_exe( + if manager { + &options.manager_path + } else { + &options.launcher_path + }, + binary, + ), binary, ); - let (target, binary_source, binary_target_name) = - if is_bundle_executable_target(&target, executable_name) { - let sidecar = target - .parent() - .unwrap_or_else(|| Path::new(".")) - .join(binary); - (sidecar, Some(target), Some(binary.to_string())) - } else { - (target, None, None) - }; let identifier_suffix = if manager { ".manager" } else { "" }; MacosAppBundle { app_path: install_root.join(format!("{display_name}.app")), info_plist: info_plist(display_name, executable_name, identifier_suffix), - launch_script: format!("#!/bin/sh\nexec \"{}\"\n", target.to_string_lossy()), - binary_source, - binary_target_name, + launch_script: launch_script(binary), + binary_source: Some(binary_source), + binary_target_name: Some(binary.to_string()), } } -fn is_bundle_executable_target(target: &Path, executable_name: &str) -> bool { - target.file_name().and_then(|name| name.to_str()) == Some(executable_name) - && target +fn launch_script(binary: &str) -> String { + format!( + "#!/bin/sh\nDIR=$(CDPATH= cd -- \"$(dirname -- \"$0\")\" && pwd)\nexec \"$DIR/{binary}\" \"$@\"\n" + ) +} + +fn install_binary_source(target: std::path::PathBuf, binary: &str) -> std::path::PathBuf { + if is_bundle_macos_target(&target) { + let sidecar = target .parent() - .and_then(|parent| parent.file_name()) - .and_then(|name| name.to_str()) - == Some("MacOS") + .unwrap_or_else(|| Path::new(".")) + .join(binary); + if sidecar.exists() { + return sidecar; + } + } + target +} + +fn is_bundle_macos_target(target: &Path) -> bool { + target + .parent() + .and_then(|parent| parent.file_name()) + .and_then(|name| name.to_str()) + == Some("MacOS") && target .parent() .and_then(|parent| parent.parent()) diff --git a/crates/codex-plus-core/src/install/mod.rs b/crates/codex-plus-core/src/install/mod.rs index 860924161..2f105edde 100644 --- a/crates/codex-plus-core/src/install/mod.rs +++ b/crates/codex-plus-core/src/install/mod.rs @@ -139,7 +139,9 @@ pub fn default_install_root() -> Option { } if let Ok(exe) = std::env::current_exe() { if let Some(dir) = macos_applications_dir_from_exe(&exe) { - return Some(dir); + if is_macos_applications_dir(&dir) { + return Some(dir); + } } } return Some(sys_apps); @@ -245,39 +247,105 @@ pub fn companion_binary_path(binary: &str) -> PathBuf { pub fn companion_binary_path_from_exe(exe: &Path, binary: &str) -> PathBuf { let dir = exe.parent().unwrap_or_else(|| Path::new(".")); let suffix = if cfg!(windows) { ".exe" } else { "" }; - if binary == SILENT_BINARY { - if let Some(sibling_app_binary) = macos_silent_app_binary_from_exe(exe) { - return sibling_app_binary; - } - let same_bundle = dir.join(binary); - if same_bundle.exists() { - return same_bundle; - } + if let Some(bundle_binary) = macos_companion_binary_from_exe(exe, binary) { + return bundle_binary; + } + let same_bundle = dir.join(binary); + if same_bundle.exists() { + return same_bundle; } dir.join(format!("{binary}{suffix}")) } -fn macos_silent_app_binary_from_exe(exe: &Path) -> Option { - macos_applications_dir_from_exe(exe).map(|applications_dir| { - applications_dir +fn macos_companion_binary_from_exe(exe: &Path, binary: &str) -> Option { + let (applications_dir, app_name) = macos_applications_dir_and_app_name_from_exe(exe)?; + if binary == SILENT_BINARY { + if app_name == format!("{SILENT_NAME}.app") { + return Some(macos_preferred_bundle_binary( + exe, + SILENT_BINARY, + "CodexPlusPlus", + )); + } + let macos = applications_dir .join(format!("{SILENT_NAME}.app")) .join("Contents") - .join("MacOS") - .join("CodexPlusPlus") - }) + .join("MacOS"); + return Some( + macos + .join(SILENT_BINARY) + .exists() + .then(|| macos.join(SILENT_BINARY)) + .unwrap_or_else(|| macos.join("CodexPlusPlus")), + ); + } + if binary == MANAGER_BINARY { + if app_name == format!("{MANAGER_NAME}.app") { + return Some(macos_preferred_bundle_binary( + exe, + MANAGER_BINARY, + "CodexPlusPlusManager", + )); + } + let macos = applications_dir + .join(format!("{MANAGER_NAME}.app")) + .join("Contents") + .join("MacOS"); + return Some( + macos + .join(MANAGER_BINARY) + .exists() + .then(|| macos.join(MANAGER_BINARY)) + .unwrap_or_else(|| macos.join("CodexPlusPlusManager")), + ); + } + None +} + +fn macos_preferred_bundle_binary( + exe: &Path, + sidecar_name: &str, + bundle_executable_name: &str, +) -> PathBuf { + let macos = exe.parent().unwrap_or_else(|| Path::new(".")); + let sidecar = macos.join(sidecar_name); + if sidecar.exists() { + return sidecar; + } + let bundle_executable = macos.join(bundle_executable_name); + if bundle_executable.exists() { + return bundle_executable; + } + exe.to_path_buf() } +#[cfg(target_os = "macos")] fn macos_applications_dir_from_exe(exe: &Path) -> Option { + macos_applications_dir_and_app_name_from_exe(exe).map(|(dir, _)| dir) +} + +fn macos_applications_dir_and_app_name_from_exe(exe: &Path) -> Option<(PathBuf, String)> { let mut path = exe; while let Some(parent) = path.parent() { if path.extension().and_then(|extension| extension.to_str()) == Some("app") { - return Some(parent.to_path_buf()); + let app_name = path.file_name()?.to_string_lossy().to_string(); + return Some((parent.to_path_buf(), app_name)); } path = parent; } None } +#[cfg(target_os = "macos")] +fn is_macos_applications_dir(path: &Path) -> bool { + if path == Path::new("/Applications") { + return true; + } + directories::BaseDirs::new() + .map(|dirs| path == dirs.home_dir().join("Applications")) + .unwrap_or(false) +} + pub(crate) fn install_root_or_default(options: &InstallOptions) -> PathBuf { options .install_root diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index b433e78f6..3a22879ef 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -1180,9 +1180,7 @@ async fn handle_mobile_relay_app_server_connect( let (app_tx, app_rx) = mpsc::unbounded_channel::(); app_server_sessions.insert( session_id.clone(), - MobileRelayAppServerSession { - sender: app_tx, - }, + MobileRelayAppServerSession { sender: app_tx }, ); let session_cipher = cipher.clone(); tokio::spawn(run_mobile_relay_app_server_session( diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 2c88721b7..e2ecb524f 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -2,6 +2,7 @@ pub mod ads; pub mod app_paths; pub mod assets; pub mod bridge; +pub mod ccs_import; pub mod cdp; pub mod cli_wrapper; pub mod codex_home; diff --git a/crates/codex-plus-core/tests/installers.rs b/crates/codex-plus-core/tests/installers.rs index 48b732f64..7cd4e79a1 100644 --- a/crates/codex-plus-core/tests/installers.rs +++ b/crates/codex-plus-core/tests/installers.rs @@ -80,8 +80,20 @@ fn macos_bundle_metadata_contains_silent_and_manager_apps() { .info_plist .contains("Codex++ 管理工具") ); - assert!(silent.launch_script.contains("codex-plus-plus")); - assert!(manager.launch_script.contains("codex-plus-plus-manager")); + assert_eq!( + silent.binary_target_name.as_deref(), + Some("codex-plus-plus") + ); + assert_eq!( + manager.binary_target_name.as_deref(), + Some("codex-plus-plus-manager") + ); + assert!(silent.launch_script.contains("$DIR/codex-plus-plus")); + assert!( + manager + .launch_script + .contains("$DIR/codex-plus-plus-manager") + ); } #[test] @@ -118,6 +130,21 @@ fn companion_binary_path_resolves_macos_silent_app_next_to_manager_app() { ); } +#[test] +fn companion_binary_path_resolves_macos_manager_app_next_to_silent_app() { + let silent_exe = std::path::Path::new("/Applications/Codex++.app/Contents/MacOS/CodexPlusPlus"); + + let companion = + companion_binary_path_from_exe(silent_exe, codex_plus_core::install::MANAGER_BINARY); + + assert_eq!( + companion, + std::path::PathBuf::from( + "/Applications/Codex++ 管理工具.app/Contents/MacOS/CodexPlusPlusManager" + ) + ); +} + #[test] fn macos_bundle_does_not_wrap_the_bundle_executable_in_itself() { let options = InstallOptions { @@ -132,10 +159,24 @@ fn macos_bundle_does_not_wrap_the_bundle_executable_in_itself() { let silent = build_macos_app_bundle(&options, false); let manager = build_macos_app_bundle(&options, true); - assert!(!silent.launch_script.contains("CodexPlusPlus\"")); - assert!(!manager.launch_script.contains("CodexPlusPlusManager\"")); - assert!(silent.launch_script.contains("codex-plus-plus")); - assert!(manager.launch_script.contains("codex-plus-plus-manager")); + assert_eq!( + silent.binary_source, + Some(std::path::PathBuf::from( + "/Applications/Codex++.app/Contents/MacOS/CodexPlusPlus" + )) + ); + assert_eq!( + manager.binary_source, + Some(std::path::PathBuf::from( + "/Applications/Codex++ 管理工具.app/Contents/MacOS/CodexPlusPlusManager" + )) + ); + assert!(silent.launch_script.contains("$DIR/codex-plus-plus")); + assert!( + manager + .launch_script + .contains("$DIR/codex-plus-plus-manager") + ); } #[test] diff --git a/crates/codex-plus-core/tests/model_catalog.rs b/crates/codex-plus-core/tests/model_catalog.rs index f9e7baace..cf5b15890 100644 --- a/crates/codex-plus-core/tests/model_catalog.rs +++ b/crates/codex-plus-core/tests/model_catalog.rs @@ -7,7 +7,9 @@ use std::thread; use codex_plus_core::model_catalog::{ read_codex_model_catalog, read_codex_model_catalog_from_home, }; -use codex_plus_core::settings::{BackendSettings, RelayProfile, RelayProtocol, SettingsStore}; +use codex_plus_core::settings::{ + BackendSettings, RelayMode, RelayProfile, RelayProtocol, SettingsStore, +}; use serde_json::json; #[tokio::test] From c862c50de01b340bf743b7562f63c3cf6790ba39 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Sat, 20 Jun 2026 22:24:41 +0800 Subject: [PATCH 061/156] feat: repair plugin marketplace unlock --- Cargo.lock | 60 ++- Cargo.toml | 3 +- apps/codex-plus-launcher/src/main.rs | 9 + apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/src/commands.rs | 86 ++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 2 + .../src-tauri/tauri.conf.json | 2 +- apps/codex-plus-manager/src/App.tsx | 171 +++++- apps/codex-plus-manager/src/styles.css | 48 ++ assets/inject/renderer-inject.js | 331 +++++++++++- crates/codex-plus-core/Cargo.toml | 1 + crates/codex-plus-core/src/assets.rs | 168 +++++- crates/codex-plus-core/src/launcher.rs | 39 ++ crates/codex-plus-core/src/lib.rs | 1 + .../codex-plus-core/src/plugin_marketplace.rs | 485 ++++++++++++++++++ crates/codex-plus-core/tests/cdp_bridge.rs | 28 +- 17 files changed, 1401 insertions(+), 39 deletions(-) create mode 100644 crates/codex-plus-core/src/plugin_marketplace.rs diff --git a/Cargo.lock b/Cargo.lock index 94e97b64c..09e9060cf 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -94,6 +94,15 @@ version = "1.0.102" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "7f202df86484c868dbad7eaa557ef785d5c66295e41b460ef922eca0723b842c" +[[package]] +name = "arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "c3d036a3c4ab069c7b410a2ce876bd74808d2d0888a82667669f8e783a898bf1" +dependencies = [ + "derive_arbitrary", +] + [[package]] name = "async-trait" version = "0.1.89" @@ -397,7 +406,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.16" +version = "1.2.17" dependencies = [ "aes-gcm", "anyhow", @@ -419,11 +428,12 @@ dependencies = [ "toml_edit 0.22.27", "uuid", "windows 0.58.0", + "zip", ] [[package]] name = "codex-plus-data" -version = "1.2.16" +version = "1.2.17" dependencies = [ "anyhow", "base64 0.22.1", @@ -439,7 +449,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.16" +version = "1.2.17" dependencies = [ "anyhow", "async-trait", @@ -453,7 +463,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.16" +version = "1.2.17" dependencies = [ "anyhow", "async-trait", @@ -471,7 +481,7 @@ dependencies = [ [[package]] name = "codex-plus-mobile-relay" -version = "1.2.16" +version = "1.2.17" dependencies = [ "anyhow", "futures-util", @@ -704,6 +714,17 @@ dependencies = [ "serde_core", ] +[[package]] +name = "derive_arbitrary" +version = "1.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "1e567bd82dcff979e4b03460c307b3cdc9e96fde3d73bed1496d2bc75d9dd62a" +dependencies = [ + "proc-macro2", + "quote", + "syn 2.0.117", +] + [[package]] name = "derive_more" version = "2.1.1" @@ -5596,8 +5617,37 @@ dependencies = [ "syn 2.0.117", ] +[[package]] +name = "zip" +version = "2.4.2" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "fabe6324e908f85a1c52063ce7aa26b68dcb7eb6dbc83a2d148403c9bc3eba50" +dependencies = [ + "arbitrary", + "crc32fast", + "crossbeam-utils", + "displaydoc", + "flate2", + "indexmap 2.14.0", + "memchr", + "thiserror 2.0.18", + "zopfli", +] + [[package]] name = "zmij" version = "1.0.21" source = "registry+https://github.com/rust-lang/crates.io-index" checksum = "b8848ee67ecc8aedbaf3e4122217aff892639231befc6a1b58d29fff4c2cabaa" + +[[package]] +name = "zopfli" +version = "0.8.3" +source = "registry+https://github.com/rust-lang/crates.io-index" +checksum = "f05cd8797d63865425ff89b5c4a48804f35ba0ce8d125800027ad6017d2b5249" +dependencies = [ + "bumpalo", + "crc32fast", + "log", + "simd-adler32", +] diff --git a/Cargo.toml b/Cargo.toml index 061152ee7..f7739cc54 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -9,7 +9,7 @@ members = [ ] [workspace.package] -version = "1.2.16" +version = "1.2.17" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" @@ -35,3 +35,4 @@ toml_edit = "0.22" url = "2" uuid = { version = "1", features = ["v4"] } winresource = "0.1" +zip = { version = "2", default-features = false, features = ["deflate"] } diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 9d6581555..961b2c79e 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -299,6 +299,13 @@ impl LaunchHooks for LauncherHooks { self.core.ensure_computer_use_config(settings).await } + async fn ensure_plugin_marketplace_config( + &self, + settings: &codex_plus_core::settings::BackendSettings, + ) -> anyhow::Result<()> { + self.core.ensure_plugin_marketplace_config(settings).await + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { self.core.start_helper(helper_port).await } @@ -804,6 +811,8 @@ mod tests { assert!(source.contains("async fn ensure_computer_use_config")); assert!(source.contains("self.core.ensure_computer_use_config(settings).await")); + assert!(source.contains("async fn ensure_plugin_marketplace_config")); + assert!(source.contains("self.core.ensure_plugin_marketplace_config(settings).await")); assert!(source.contains("async fn start_computer_use_guard_watchdog")); assert!(source.contains("self.core")); assert!(source.contains(".start_computer_use_guard_watchdog(settings)")); diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 76e21af7b..c88897db3 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.16", + "version": "1.2.17", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.16", + "version": "1.2.17", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 68b5dda19..60f445ff9 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.16", + "version": "1.2.17", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 62d03e248..d27d334c8 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -58,6 +58,25 @@ pub struct SettingsPayload { pub user_scripts: Value, } +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct PluginMarketplaceRepairPayload { + pub codex_home: String, + pub marketplace_root: Option, + pub initialized: bool, + pub configured: bool, + pub needs_repair: bool, +} + +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct PluginMarketplaceStatusPayload { + pub codex_home: String, + pub marketplace_root: Option, + pub config_registered: bool, + pub needs_repair: bool, +} + #[derive(Debug, Clone, Serialize)] #[serde(rename_all = "camelCase")] pub struct CcsProvidersPayload { @@ -1285,6 +1304,73 @@ pub fn repair_backend() -> CommandResult { settings_payload(&message, "修复后重新读取设置失败") } +#[tauri::command] +pub fn plugin_marketplace_status() -> CommandResult { + let home = codex_plus_core::codex_home::default_codex_home_dir(); + let status = codex_plus_core::plugin_marketplace::openai_curated_marketplace_status(&home); + ok( + if status.needs_repair() { + "插件市场需要初始化或注册。" + } else { + "插件市场已可用。" + }, + PluginMarketplaceStatusPayload { + codex_home: home.to_string_lossy().to_string(), + marketplace_root: status + .marketplace_root + .as_ref() + .map(|path| path.to_string_lossy().to_string()), + config_registered: status.config_registered, + needs_repair: status.needs_repair(), + }, + ) +} + +#[tauri::command] +pub async fn repair_plugin_marketplace() -> CommandResult { + let home = codex_plus_core::codex_home::default_codex_home_dir(); + match codex_plus_core::plugin_marketplace::initialize_openai_curated_marketplace_and_configure( + &home, + ) + .await + { + Ok(result) => ok( + if result.initialized { + "插件市场已从 openai/plugins 初始化并注册。" + } else if result.configured { + "已注册本地插件市场。" + } else { + "插件市场已可用,无需修复。" + }, + PluginMarketplaceRepairPayload { + codex_home: home.to_string_lossy().to_string(), + marketplace_root: + codex_plus_core::plugin_marketplace::openai_curated_marketplace_status(&home) + .marketplace_root + .as_ref() + .map(|path| path.to_string_lossy().to_string()), + initialized: result.initialized, + configured: result.configured, + needs_repair: false, + }, + ), + Err(error) => failed( + &format!("插件市场修复失败:{error}"), + PluginMarketplaceRepairPayload { + codex_home: home.to_string_lossy().to_string(), + marketplace_root: + codex_plus_core::plugin_marketplace::openai_curated_marketplace_status(&home) + .marketplace_root + .as_ref() + .map(|path| path.to_string_lossy().to_string()), + initialized: false, + configured: false, + needs_repair: true, + }, + ), + } +} + #[tauri::command] pub async fn check_update() -> CommandResult { match codex_plus_core::update::check_for_update(codex_plus_core::version::VERSION).await { diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 7179fa90e..ffd36b06d 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -69,6 +69,8 @@ pub fn run() { commands::uninstall_entrypoints, commands::repair_shortcuts, commands::repair_backend, + commands::plugin_marketplace_status, + commands::repair_plugin_marketplace, commands::check_update, commands::perform_update, commands::load_watcher_state, diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index 16c2cd1f8..3ebdbe10e 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.16", + "version": "1.2.17", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index bfadf16ea..ea0acdeb0 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -93,6 +93,21 @@ type OverviewResult = CommandResult<{ logs_path: string; }>; +type PluginMarketplaceRepairResult = CommandResult<{ + codexHome: string; + marketplaceRoot?: string | null; + initialized: boolean; + configured: boolean; + needsRepair: boolean; +}>; + +type PluginMarketplaceStatusResult = CommandResult<{ + codexHome: string; + marketplaceRoot?: string | null; + configRegistered: boolean; + needsRepair: boolean; +}>; + type BackendSettings = { codexAppPath: string; codexExtraArgs: string[]; @@ -434,6 +449,12 @@ type ProviderSyncProgress = { result: CommandResult | null; }; +type TaskProgress = { + active: boolean; + percent: number; + message: string; +}; + type LogsResult = CommandResult<{ path: string; text: string; @@ -681,6 +702,12 @@ export function App() { message: "尚未运行历史会话修复。", result: null, }); + const [pluginMarketplaceProgress, setPluginMarketplaceProgress] = useState({ + active: false, + percent: 0, + message: "尚未运行插件市场修复。", + }); + const [pluginMarketplacePrompt, setPluginMarketplacePrompt] = useState(null); const [providerSyncTargets, setProviderSyncTargets] = useState(null); const [selectedProviderSyncTarget, setSelectedProviderSyncTarget] = useState(""); const [removeOwnedData, setRemoveOwnedData] = useState(false); @@ -1013,6 +1040,52 @@ export function App() { } }; + const repairPluginMarketplace = async () => { + if (pluginMarketplaceProgress.active) return; + setPluginMarketplacePrompt(null); + setPluginMarketplaceProgress({ active: true, percent: 8, message: "正在检查本地插件市场…" }); + const progressTimer = window.setInterval(() => { + setPluginMarketplaceProgress((current) => { + if (!current.active) return current; + const nextPercent = Math.min(92, current.percent + 9); + const message = + nextPercent < 28 + ? "正在连接 openai/plugins…" + : nextPercent < 62 + ? "正在下载插件市场快照…" + : nextPercent < 84 + ? "正在解压并校验插件文件…" + : "正在写入 Codex 配置…"; + return { ...current, percent: nextPercent, message }; + }); + }, 500); + try { + const result = await run(() => call("repair_plugin_marketplace")); + if (result) { + setPluginMarketplaceProgress({ + active: false, + percent: 100, + message: result.message, + }); + showNotice("插件市场修复", result.message, result.status); + } else { + setPluginMarketplaceProgress({ + active: false, + percent: 100, + message: "插件市场修复失败,请查看错误提示后重试。", + }); + } + } finally { + window.clearInterval(progressTimer); + } + }; + + const checkPluginMarketplacePrompt = async () => { + const result = await run(() => call("plugin_marketplace_status")); + if (result?.needsRepair) setPluginMarketplacePrompt(result); + return result; + }; + const installEntrypoints = async () => { const result = await run(() => call("install_entrypoints")); if (result) { @@ -1492,6 +1565,7 @@ export function App() { await refreshRelay(true); await refreshEnvConflicts(true); await refreshProviderSyncTargets(true); + await checkPluginMarketplacePrompt(); })(); }, []); @@ -1520,6 +1594,8 @@ export function App() { launch, restart, repairBackend, + repairPluginMarketplace, + checkPluginMarketplacePrompt, installEntrypoints, uninstallEntrypoints, repairShortcuts, @@ -1738,6 +1814,7 @@ export function App() { {route === "overview" ? ( ) : null} @@ -1777,7 +1854,12 @@ export function App() { /> ) : null} {route === "enhance" ? ( - + ) : null} {route === "zedRemote" ? ( @@ -1809,6 +1891,14 @@ export function App() { onClose={() => setNotice(null)} /> ) : null} + {pluginMarketplacePrompt ? ( + setPluginMarketplacePrompt(null)} + onRepair={() => void actions.repairPluginMarketplace()} + /> + ) : null}
); } @@ -1818,6 +1908,8 @@ type Actions = { launch: () => Promise; restart: () => Promise; repairBackend: () => Promise; + repairPluginMarketplace: () => Promise; + checkPluginMarketplacePrompt: () => Promise; installEntrypoints: () => Promise; uninstallEntrypoints: () => Promise; repairShortcuts: () => Promise; @@ -2131,9 +2223,11 @@ function MobileControlScreen({ function OverviewScreen({ overview, + pluginMarketplaceProgress, actions, }: { overview: OverviewResult | null; + pluginMarketplaceProgress: TaskProgress; actions: Actions; }) { const health = healthItems(overview); @@ -2205,7 +2299,11 @@ function OverviewScreen({ + + @@ -2442,10 +2540,12 @@ function envConflictSourceLabel(source: string): string { function EnhanceScreen({ form, + pluginMarketplaceProgress, onFormChange, actions, }: { form: BackendSettings; + pluginMarketplaceProgress: TaskProgress; onFormChange: (value: BackendSettings) => void; actions: Actions; }) { @@ -2505,6 +2605,14 @@ function EnhanceScreen({ setEnhanceFlag("codexAppUpstreamWorktreeCreate", value)} /> setEnhanceFlag("codexAppNativeMenuPlacement", value)} />
+
+ + 新机器没有本地插件市场时,可从 openai/plugins 初始化到当前 CODEX_HOME。 + +
+
updateDraft({ model: event.currentTarget.value })} + placeholder="留空使用默认值" + /> + +``` + +改为: + +```tsx + + updateDraft({ model: event.currentTarget.value })} + placeholder="例如 deepseek-v4-pro 或 deepseek-v4-pro[1M]" + /> +

+ 支持在模型名后加 [1M][200K][1000000] 指定上下文窗口;不写则使用 Codex 默认长度。 +

+
+``` + +#### 4.1.2 “模型列表”字段 + +当前代码位置约在 3898 行附近: + +```tsx + +
+ - - - - -
- - -"#; - html.replace( - "__MODEL_CATALOG_JSON__", - &script_safe_json(model_catalog_json), - ) -} - -fn script_safe_json(json: &str) -> String { - json.replace('<', "\\u003c") - .replace('>', "\\u003e") - .replace('&', "\\u0026") - .replace('\u{2028}', "\\u2028") - .replace('\u{2029}', "\\u2029") -} - -async fn handle_models_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_http_response( - stream, - "204 No Content", - "application/json; charset=utf-8", - &[], - ) - .await?; - stream.shutdown().await?; - return Ok(()); - } - - let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.models_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - let status = upstream.status(); - let is_success = upstream.is_success(); - let content_type = if upstream.content_type.is_empty() { - "application/json; charset=utf-8".to_string() - } else { - upstream.content_type.clone() - }; - let body = upstream.response.bytes().await?.to_vec(); - write_http_response(stream, &status, &content_type, &body).await?; - log_helper_response( - if is_success { - "helper.models_proxy_ok" - } else { - "helper.models_proxy_upstream_error" - }, - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn handle_protocol_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_body: &str, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - let request_json = serde_json::from_str::(request_body).ok(); - let upstream = - match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) - .await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.protocol_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - if !upstream.is_success() { - let status = upstream.status(); - let upstream_content_type = upstream.content_type.clone(); - let upstream_body = upstream.response.bytes().await?.to_vec(); - let error = crate::protocol_proxy::responses_error_from_upstream( - upstream.status_code, - &upstream_content_type, - &upstream_body, - ); - let body = serde_json::to_vec(&error)?; - write_http_response(stream, &status, "application/json; charset=utf-8", &body).await?; - log_helper_response( - "helper.protocol_proxy_upstream_error", - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - if upstream.is_stream { - write_http_stream_headers(stream, "200 OK", "text/event-stream; charset=utf-8").await?; - if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { - let mut bytes_stream = upstream.response.bytes_stream(); - while let Some(chunk) = bytes_stream.next().await { - if let Ok(bytes) = chunk { - stream.write_all(&bytes).await?; - } else { - break; - } - } - log_helper_response( - "helper.protocol_proxy_stream_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let mut converter = request_json - .as_ref() - .map(crate::protocol_proxy::ChatSseToResponsesConverter::with_request) - .unwrap_or_default(); - let mut bytes_stream = upstream.response.bytes_stream(); - let mut stream_failed = false; - - while let Some(chunk) = bytes_stream.next().await { - match chunk { - Ok(bytes) => { - let converted = converter.push_bytes(&bytes); - if !converted.is_empty() { - stream.write_all(&converted).await?; - } - } - Err(error) => { - let failed = converter.fail( - format!("Stream error: {error}"), - Some("stream_error".to_string()), - ); - if !failed.is_empty() { - stream.write_all(&failed).await?; - } - stream_failed = true; - break; - } - } - } - - if !stream_failed { - let tail = converter.finish(); - if !tail.is_empty() { - stream.write_all(&tail).await?; - } - } - log_helper_response( - "helper.protocol_proxy_stream_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let upstream_body = upstream.response.bytes().await?; - if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { - write_http_response( - stream, - "200 OK", - if upstream.content_type.is_empty() { - "application/json; charset=utf-8" - } else { - &upstream.content_type - }, - &upstream_body, - ) - .await?; - log_helper_response( - "helper.protocol_proxy_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let chat_json: serde_json::Value = serde_json::from_slice(&upstream_body)?; - let response_json = if let Some(request_json) = request_json.as_ref() { - crate::protocol_proxy::chat_completion_to_response_with_request(chat_json, request_json)? - } else { - crate::protocol_proxy::chat_completion_to_response(chat_json)? - }; - let body = serde_json::to_vec(&response_json)?; - write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; - log_helper_response( - "helper.protocol_proxy_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn handle_chat_completions_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_body: &str, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - let upstream = match crate::protocol_proxy::open_chat_completions_proxy_request( - request_body, - request_user_agent, - ) - .await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.chat_completions_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - let status = upstream.status(); - let is_success = upstream.is_success(); - let content_type = if upstream.content_type.is_empty() { - "application/json; charset=utf-8".to_string() - } else { - upstream.content_type.clone() - }; - - if upstream.is_stream && is_success { - write_http_stream_headers(stream, &status, &content_type).await?; - let mut bytes_stream = upstream.response.bytes_stream(); - while let Some(chunk) = bytes_stream.next().await { - stream.write_all(&chunk?).await?; - } - log_helper_response( - "helper.chat_completions_proxy_stream_ok", - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let body = upstream.response.bytes().await?.to_vec(); - write_http_response(stream, &status, &content_type, &body).await?; - log_helper_response( - if is_success { - "helper.chat_completions_proxy_ok" - } else { - "helper.chat_completions_proxy_upstream_error" - }, - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn write_http_response( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, - body: &[u8], -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", - body.len() - ); - stream.write_all(response.as_bytes()).await?; - stream.write_all(body).await?; - Ok(()) -} - -async fn write_http_no_store_response( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, - body: &[u8], -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-store\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", - body.len() - ); - stream.write_all(response.as_bytes()).await?; - stream.write_all(body).await?; - Ok(()) -} - -async fn write_options_response(stream: &mut tokio::net::TcpStream) -> anyhow::Result<()> { - stream - .write_all( - b"HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", - ) - .await?; - Ok(()) -} - -async fn write_http_stream_headers( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-cache\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nConnection: close\r\n\r\n" - ); - stream.write_all(response.as_bytes()).await?; - Ok(()) -} - -fn log_helper_response( - event: &str, - method: &str, - path: &str, - status: &str, - remote_addr_text: Option, -) { - let _ = crate::diagnostic_log::append_diagnostic_log( - event, - serde_json::json!({ - "method": method, - "path": path, - "status": status, - "remote_addr": remote_addr_text - }), - ); -} - -#[cfg(test)] -mod computer_use_tests { - use super::{ - MobileRelayHostConfig, header_value_from_request, overlay_image_content_type, - percent_encode_query, - }; - use std::path::Path; - - #[test] - fn overlay_image_content_type_accepts_common_images_only() { - assert_eq!( - overlay_image_content_type(Path::new("overlay.PNG")), - Some("image/png") - ); - assert_eq!( - overlay_image_content_type(Path::new("overlay.jpeg")), - Some("image/jpeg") - ); - assert_eq!( - overlay_image_content_type(Path::new("overlay.webp")), - Some("image/webp") - ); - assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); - } - - #[test] - fn header_value_from_request_reads_user_agent_case_insensitively() { - let request = "POST /v1/chat/completions HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: Codex/26.614\r\nContent-Length: 2\r\n\r\n{}"; - - assert_eq!( - header_value_from_request(request, "user-agent").as_deref(), - Some("Codex/26.614") - ); - } - - #[test] - fn mobile_relay_host_url_appends_host_path_and_credentials() { - let config = MobileRelayHostConfig { - relay_url: "ws://example.test:57323".to_string(), - room: "项目 A".to_string(), - token: "a+b&c".to_string(), - encryption_key: "test-key".to_string(), - }; - assert_eq!( - config.host_url(), - "ws://example.test:57323/host?room=%E9%A1%B9%E7%9B%AE%20A&token=a%2Bb%26c" - ); - } - - #[test] - fn mobile_relay_percent_encode_keeps_url_safe_bytes() { - assert_eq!(percent_encode_query("abc-._~ 1+2"), "abc-._~%201%2B2"); - } -} - -async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { - let mut buffer = Vec::new(); - let mut chunk = vec![0_u8; 4096]; - let mut header_end = None; - let mut content_length = 0_usize; - - loop { - let read = stream.read(&mut chunk).await?; - if read == 0 { - break; - } - buffer.extend_from_slice(&chunk[..read]); - if header_end.is_none() { - header_end = find_header_end(&buffer); - if let Some(end) = header_end { - content_length = content_length_from_headers(&buffer[..end]).unwrap_or(0); - } - } - if let Some(end) = header_end { - if buffer.len() >= end + 4 + content_length { - break; - } - } - if buffer.len() > 32 * 1024 * 1024 { - anyhow::bail!("HTTP 请求过大"); - } - } - - Ok(buffer) -} - -fn find_header_end(buffer: &[u8]) -> Option { - buffer.windows(4).position(|window| window == b"\r\n\r\n") -} - -fn content_length_from_headers(headers: &[u8]) -> Option { - let text = String::from_utf8_lossy(headers); - text.lines().find_map(|line| { - let (name, value) = line.split_once(':')?; - if name.trim().eq_ignore_ascii_case("content-length") { - value.trim().parse().ok() - } else { - None - } - }) -} - -fn http_request_body(request: &str) -> &str { - request - .split_once("\r\n\r\n") - .map(|(_, body)| body) - .unwrap_or_default() -} - -fn header_value_from_request(request: &str, header_name: &str) -> Option { - request - .split_once("\r\n\r\n") - .map(|(headers, _)| headers) - .unwrap_or(request) - .lines() - .skip(1) - .find_map(|line| { - let (name, value) = line.split_once(':')?; - name.trim() - .eq_ignore_ascii_case(header_name) - .then(|| value.trim().to_string()) - }) - .filter(|value| !value.is_empty()) -} - -fn sanitize_diagnostic_event(event: &str) -> String { - let sanitized = event - .chars() - .map(|ch| { - if ch.is_ascii_alphanumeric() || matches!(ch, '_' | '-' | '.') { - ch - } else { - '_' - } - }) - .collect::(); - if sanitized.is_empty() { - "event".to_string() - } else { - sanitized - } -} - -pub fn build_codex_arguments(debug_port: u16, extra_args: &[String]) -> Vec { - let mut args = vec![ - format!("--remote-debugging-port={debug_port}"), - format!("--remote-allow-origins=http://127.0.0.1:{debug_port}"), - ]; - args.extend(normalize_codex_extra_args(extra_args)); - args -} - -pub fn build_codex_arguments_with_native_menu_inspector( - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut args = build_codex_arguments(debug_port, &[]); - if inspector_port != 0 { - args.push(format!("--inspect=127.0.0.1:{inspector_port}")); - } - args.extend(normalize_codex_extra_args(extra_args)); - args -} - -pub fn build_codex_command(app_dir: &Path, debug_port: u16, extra_args: &[String]) -> Vec { - let mut command = vec![ - crate::app_paths::build_codex_executable(app_dir) - .to_string_lossy() - .to_string(), - ]; - command.extend(build_codex_arguments(debug_port, extra_args)); - command -} - -pub fn build_codex_command_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - crate::app_paths::build_codex_executable(app_dir) - .to_string_lossy() - .to_string(), - ]; - command.extend(build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )); - command -} - -pub fn build_packaged_activation( - app_dir: &Path, - debug_port: u16, - extra_args: &[String], -) -> Option { - Some(CodexLaunch::PackagedActivation { - app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, - arguments: command_line_arguments(&build_codex_arguments(debug_port, extra_args)), - process_id: None, - }) -} - -pub fn build_packaged_activation_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Option { - Some(CodexLaunch::PackagedActivation { - app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, - arguments: command_line_arguments(&build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )), - process_id: None, - }) -} - -async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - let mut last_error = None; - for _ in 0..20 { - match try_inject(debug_port, helper_port).await { - Ok(()) => return Ok(()), - Err(error) => { - last_error = Some(error); - tokio::time::sleep(std::time::Duration::from_millis(500)).await; - } - } - } - Err(last_error.unwrap_or_else(|| anyhow::anyhow!("Codex injection failed"))) -} - -pub async fn check_and_reinject_bridge(debug_port: u16, helper_port: u16) -> bool { - let healthy = match bridge_health_ok(debug_port).await { - Ok(healthy) => healthy, - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.health_check_failed", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port, - "message": error.to_string() - }), - ); - false - } - }; - if healthy { - return false; - } - - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_start", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port - }), - ); - match retry_injection(debug_port, helper_port).await { - Ok(()) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_ok", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port - }), - ); - true - } - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_failed", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port, - "message": error.to_string() - }), - ); - false - } - } -} - -async fn bridge_health_ok(debug_port: u16) -> anyhow::Result { - let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; - let websocket_url = target - .web_socket_debugger_url - .as_deref() - .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; - let result = crate::bridge::evaluate_script_with_await_promise( - websocket_url, - crate::bridge::bridge_health_check_script(), - true, - ) - .await?; - Ok(runtime_evaluate_result_is_true(&result)) -} - -fn runtime_evaluate_result_is_true(result: &Value) -> bool { - result - .get("result") - .and_then(|result| result.get("result")) - .and_then(|result| result.get("value")) - .and_then(Value::as_bool) - .unwrap_or(false) -} - -async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; - let websocket_url = target - .web_socket_debugger_url - .as_deref() - .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; - let settings = SettingsStore::default().load().unwrap_or_default(); - let script = crate::assets::injection_script_with_settings(helper_port, &settings); - let ctx = crate::routes::BridgeContext::core(Arc::new(crate::routes::CoreRuntimeService::new( - debug_port, - StatusStore::default(), - ))); - crate::bridge::install_bridge( - websocket_url, - crate::bridge::BRIDGE_BINDING_NAME, - Arc::new(move |path, payload| { - let ctx = ctx.clone(); - Box::pin( - async move { Ok(crate::routes::handle_bridge_request(ctx, &path, payload).await) }, - ) - }), - &[script], - ) - .await -} - -pub fn build_macos_open_command( - app_dir: &Path, - debug_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - "open".to_string(), - "-W".to_string(), - "-a".to_string(), - app_dir.to_string_lossy().to_string(), - "--args".to_string(), - ]; - command.extend(build_codex_arguments(debug_port, extra_args)); - command -} - -pub fn build_macos_open_command_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - "open".to_string(), - "-W".to_string(), - "-a".to_string(), - app_dir.to_string_lossy().to_string(), - "--args".to_string(), - ]; - command.extend(build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )); - command -} - -pub fn build_macos_cleanup_command( - app_dir: &Path, - policy: MacosCleanupPolicy, -) -> Option> { - if policy == MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning { - return None; - } - let app_name = app_dir - .file_stem() - .and_then(|value| value.to_str()) - .unwrap_or("Codex"); - Some(vec![ - "osascript".to_string(), - "-e".to_string(), - format!( - r#"tell application "{}" to quit"#, - app_name.replace('"', "\\\"") - ), - ]) -} - -async fn run_macos_cleanup_command( - app_dir: &Path, - policy: MacosCleanupPolicy, -) -> anyhow::Result<()> { - let Some(command) = build_macos_cleanup_command(app_dir, policy) else { - return Ok(()); - }; - let Some(executable) = command.first() else { - return Ok(()); - }; - let _ = Command::new(executable) - .args(&command[1..]) - .stdout(Stdio::null()) - .stderr(Stdio::null()) - .status() - .await - .with_context(|| format!("failed to request macOS app quit for {}", app_dir.display()))?; - Ok(()) -} - -fn macos_app_dir_from_open_command(command: &[String]) -> Option { - let app_index = command.iter().position(|part| part == "-a")?; - command.get(app_index + 1).map(PathBuf::from) -} - -async fn is_macos_app_running(app_dir: &Path) -> bool { - if !cfg!(target_os = "macos") { - return false; - } - let app_name = app_dir - .file_stem() - .and_then(|value| value.to_str()) - .unwrap_or("Codex"); - let script = format!( - r#"application "{}" is running"#, - app_name.replace('"', "\\\"") - ); - let Ok(output) = Command::new("osascript") - .arg("-e") - .arg(script) - .stdout(Stdio::piped()) - .stderr(Stdio::null()) - .output() - .await - else { - return false; - }; - output.status.success() - && String::from_utf8_lossy(&output.stdout) - .trim() - .eq_ignore_ascii_case("true") -} - -#[cfg_attr(not(windows), allow(dead_code))] -fn post_launch_guard_artifacts_ready( - artifacts: &crate::computer_use_guard::GuardArtifacts, -) -> bool { - artifacts.notify_exe.is_some() - && artifacts.marketplace_path.is_some() - && (!artifacts.runtime_exports_needed || artifacts.sky_package_json.is_some()) -} - -#[cfg_attr(not(windows), allow(dead_code))] -fn should_stop_post_launch_computer_use_guard( - stable_unchanged_attempts: usize, - artifacts: &crate::computer_use_guard::GuardArtifacts, -) -> bool { - stable_unchanged_attempts >= POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS - && post_launch_guard_artifacts_ready(artifacts) -} - -#[cfg(windows)] -async fn run_post_launch_computer_use_guard( - home: PathBuf, - mut artifacts: Option, - shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, -) { - let mut previous_delay = 0_u64; - let mut stable_unchanged_attempts = 0_usize; - for (index, delay) in POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS - .iter() - .copied() - .enumerate() - { - let wait_seconds = delay.saturating_sub(previous_delay); - previous_delay = delay; - if wait_seconds > 0 { - tokio::select! { - _ = &mut *shutdown_rx => return, - _ = tokio::time::sleep(std::time::Duration::from_secs(wait_seconds)) => {} - } - } - let attempt = index + 1; - let resolved_artifacts = match artifacts.take() { - Some(artifacts) => artifacts, - None => match crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home) { - Ok(resolved) => resolved, - Err(error) => { - stable_unchanged_attempts = 0; - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_failed", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "phase": "resolve_artifacts", - "message": error.to_string() - }), - ); - continue; - } - }, - }; - let artifacts_ready = post_launch_guard_artifacts_ready(&resolved_artifacts); - artifacts = artifacts_ready.then_some(resolved_artifacts.clone()); - match crate::computer_use_guard::ensure_computer_use_config_with_artifacts( - &home, - &resolved_artifacts, - ) { - Ok(result) => { - if !result.changed && artifacts_ready { - stable_unchanged_attempts += 1; - } else { - stable_unchanged_attempts = 0; - } - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_ok", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "changed": result.changed, - "stable_unchanged_attempts": stable_unchanged_attempts, - "notify_exe": result - .notify_exe - .map(|path| path.to_string_lossy().to_string()) - }), - ); - if should_stop_post_launch_computer_use_guard( - stable_unchanged_attempts, - &resolved_artifacts, - ) { - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_stable_stop", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "stable_unchanged_attempts": stable_unchanged_attempts - }), - ); - return; - } - } - Err(error) => { - stable_unchanged_attempts = 0; - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_failed", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "message": error.to_string() - }), - ); - } - } - } -} - -#[cfg(windows)] -async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { - tokio::task::spawn_blocking(move || wait_for_windows_process_id_blocking(process_id)) - .await - .context("Windows process wait task failed")? -} - -#[cfg(windows)] -async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { - tokio::task::spawn_blocking(move || terminate_windows_process_id_blocking(process_id)) - .await - .context("Windows process termination task failed")? -} - -#[cfg(windows)] -fn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { - use windows::Win32::Foundation::{CloseHandle, WAIT_FAILED}; - use windows::Win32::System::Threading::{ - INFINITE, OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_SYNCHRONIZE, - WaitForSingleObject, - }; - - unsafe { - let handle = OpenProcess( - PROCESS_SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION, - false, - process_id, - ) - .with_context(|| format!("failed to open Windows process id {process_id}"))?; - let wait_result = WaitForSingleObject(handle, INFINITE); - let _ = CloseHandle(handle); - if wait_result == WAIT_FAILED { - anyhow::bail!("failed to wait for Windows process id {process_id}"); - } - } - Ok(()) -} - -#[cfg(windows)] -fn terminate_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { - use windows::Win32::Foundation::CloseHandle; - use windows::Win32::System::Threading::{ - OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_TERMINATE, TerminateProcess, - }; - - unsafe { - let handle = OpenProcess( - PROCESS_TERMINATE | PROCESS_QUERY_LIMITED_INFORMATION, - false, - process_id, - ) - .with_context(|| format!("failed to open Windows process id {process_id}"))?; - let terminate_result = TerminateProcess(handle, 1); - let _ = CloseHandle(handle); - terminate_result - .with_context(|| format!("failed to terminate Windows process id {process_id}"))?; - } - Ok(()) -} - -#[cfg(not(windows))] -async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { - anyhow::bail!("cannot wait for Windows process id {process_id} on this platform") -} - -#[cfg(not(windows))] -async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { - anyhow::bail!("cannot terminate Windows process id {process_id} on this platform") -} - -fn launch_status( - status: &str, - message: &str, - debug_port: u16, - helper_port: u16, - app_dir: &Path, -) -> LaunchStatus { - LaunchStatus { - status: status.to_string(), - message: message.to_string(), - started_at_ms: now_ms(), - debug_port: Some(debug_port), - helper_port: Some(helper_port), - codex_app: Some(app_dir.to_string_lossy().to_string()), - } -} - -fn now_ms() -> u64 { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .unwrap_or_default() - .as_millis() as u64 -} - -fn command_line_arguments(args: &[String]) -> String { - args.iter() - .map(|arg| quote_windows_argument(arg)) - .collect::>() - .join(" ") -} - -fn quote_windows_argument(arg: &str) -> String { - if !arg.is_empty() && !arg.bytes().any(|byte| matches!(byte, b' ' | b'\t' | b'"')) { - return arg.to_string(); - } - let mut output = String::from("\""); - let mut backslashes = 0; - for ch in arg.chars() { - match ch { - '\\' => backslashes += 1, - '"' => { - output.push_str(&"\\".repeat(backslashes * 2 + 1)); - output.push('"'); - backslashes = 0; - } - _ => { - output.push_str(&"\\".repeat(backslashes)); - output.push(ch); - backslashes = 0; - } - } - } - output.push_str(&"\\".repeat(backslashes * 2)); - output.push('"'); - output -} - -#[cfg(not(windows))] -pub async fn activate_packaged_app( - _app_user_model_id: &str, - _arguments: &str, -) -> anyhow::Result { - anyhow::bail!("Packaged app activation is only supported on Windows") -} - -#[cfg(windows)] -pub async fn activate_packaged_app( - app_user_model_id: &str, - arguments: &str, -) -> anyhow::Result { - let app_user_model_id = app_user_model_id.to_string(); - let arguments = arguments.to_string(); - tokio::task::spawn_blocking(move || { - activate_packaged_app_blocking(&app_user_model_id, &arguments) - }) - .await - .context("packaged app activation task failed")? -} - -#[cfg(windows)] -fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> anyhow::Result { - use windows::Win32::System::Com::{ - CLSCTX_LOCAL_SERVER, COINIT_APARTMENTTHREADED, CoCreateInstance, CoInitializeEx, - CoUninitialize, - }; - use windows::Win32::UI::Shell::{ApplicationActivationManager, IApplicationActivationManager}; - use windows::core::HSTRING; - - unsafe { - let coinit = CoInitializeEx(None, COINIT_APARTMENTTHREADED); - let should_uninitialize = coinit.is_ok(); - coinit.ok().or_else(|error| { - const RPC_E_CHANGED_MODE: i32 = -2147417850; - if error.code().0 == RPC_E_CHANGED_MODE { - Ok(()) - } else { - Err(error) - } - })?; - - let result: windows::core::Result = (|| { - let manager: IApplicationActivationManager = - CoCreateInstance(&ApplicationActivationManager, None, CLSCTX_LOCAL_SERVER)?; - let process_id = manager.ActivateApplication( - &HSTRING::from(app_user_model_id), - &HSTRING::from(arguments), - windows::Win32::UI::Shell::ACTIVATEOPTIONS(0), - )?; - Ok(process_id) - })(); - - if should_uninitialize { - CoUninitialize(); - } - result.map_err(Into::into) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn post_launch_guard_stops_after_stable_ready_artifacts() { - let artifacts = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: false, - }; - - assert!(!should_stop_post_launch_computer_use_guard(2, &artifacts)); - assert!(should_stop_post_launch_computer_use_guard(3, &artifacts)); - } - - #[test] - fn post_launch_guard_keeps_retrying_until_artifacts_are_ready() { - let missing_notify = crate::computer_use_guard::GuardArtifacts { - notify_exe: None, - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: false, - }; - let missing_marketplace = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: None, - sky_package_json: None, - runtime_exports_needed: false, - }; - let missing_runtime_package = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: true, - }; - - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_notify - )); - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_marketplace - )); - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_runtime_package - )); - } -} diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index a47c08e81..09d635493 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -1,527 +1,527 @@ -use std::path::{Path, PathBuf}; -use std::sync::{Arc, Mutex}; - -use codex_plus_core::app_paths::{ - build_codex_executable, codex_app_version, find_latest_codex_app_dir, - find_latest_codex_app_dir_from_roots, find_macos_codex_app, - latest_appx_install_location_from_output, normalize_codex_app_path, packaged_app_user_model_id, - resolve_codex_app_dir_with_saved, user_data_candidates_from, -}; -use codex_plus_core::launcher::{ - CodexLaunch, DefaultLaunchHooks, LaunchHooks, LaunchOptions, MacosCleanupPolicy, - build_codex_arguments, build_codex_arguments_with_native_menu_inspector, build_codex_command, - build_codex_command_with_native_menu_inspector, build_macos_cleanup_command, - build_macos_open_command, build_macos_open_command_with_native_menu_inspector, - build_packaged_activation, build_packaged_activation_with_native_menu_inspector, - launch_and_inject_with_hooks, -}; -#[cfg(windows)] -use codex_plus_core::launcher::{WindowsProcessControlStrategy, windows_process_control_strategy}; -use codex_plus_core::ports::{ - select_packaged_codex_debug_port_with, select_platform_loopback_port_with, -}; -use codex_plus_core::settings::{BackendSettings, RelayProfile, RelayProtocol}; -use codex_plus_core::status::StatusStore; - -#[test] -fn app_paths_find_latest_windows_package_prefers_highest_version_app_dir() { - let temp = tempfile::tempdir().unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_1.2.3.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_not-a-version_x64__abc")).unwrap(); - - let latest = find_latest_codex_app_dir(temp.path()).unwrap(); - - assert_eq!( - latest, - temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app") - ); -} - -#[test] -fn app_paths_find_latest_windows_package_detects_beta_package() { - let temp = tempfile::tempdir().unwrap(); - std::fs::create_dir_all( - temp.path() - .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app"), - ) - .unwrap(); - - let latest = find_latest_codex_app_dir(temp.path()).unwrap(); - - assert_eq!( - latest, - temp.path() - .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") - ); - assert_eq!(codex_app_version(&latest).as_deref(), Some("26.527.7698.0")); - assert_eq!( - packaged_app_user_model_id(&latest).as_deref(), - Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") - ); -} - -#[test] -fn app_paths_find_latest_windows_package_returns_package_when_app_dir_missing() { - let temp = tempfile::tempdir().unwrap(); - let package = temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc"); - std::fs::create_dir_all(&package).unwrap(); - - assert_eq!(find_latest_codex_app_dir(temp.path()).unwrap(), package); -} - -#[test] -fn app_paths_find_latest_windows_package_checks_roots_before_fallback() { - let temp = tempfile::tempdir().unwrap(); - let root = temp.path().join("WindowsApps"); - std::fs::create_dir_all(root.join("OpenAI.Codex_1.0.0.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(root.join("OpenAI.Codex_26.513.3673.0_x64__abc/app")).unwrap(); - - let latest = find_latest_codex_app_dir_from_roots(&[root]).unwrap(); - - assert!(latest.ends_with("OpenAI.Codex_26.513.3673.0_x64__abc/app")); -} - -#[test] -fn app_paths_extracts_codex_version_from_windows_package_app_dir() { - let app_dir = - PathBuf::from(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.513.3673.0_x64__abc\app"); - - assert_eq!( - codex_app_version(&app_dir).as_deref(), - Some("26.513.3673.0") - ); -} - -#[test] -fn app_paths_extracts_codex_version_from_macos_bundle_plist() { - let temp = tempfile::tempdir().unwrap(); - let app = temp.path().join("OpenAI Codex.app"); - let contents = app.join("Contents"); - std::fs::create_dir_all(&contents).unwrap(); - std::fs::write( - contents.join("Info.plist"), - r#" - - - CFBundleVersion - 26.500.0 - CFBundleShortVersionString - 26.513.3673 - - -"#, - ) - .unwrap(); - - assert_eq!(codex_app_version(&app).as_deref(), Some("26.513.3673")); -} - -#[test] -fn app_paths_user_data_candidates_include_local_and_roaming_variants() { - let local = PathBuf::from(r"C:\Users\me\AppData\Local"); - let roaming = PathBuf::from(r"C:\Users\me\AppData\Roaming"); - - let candidates = user_data_candidates_from(Some(&local), Some(&roaming)); - - assert_eq!( - candidates, - vec![ - local.join("OpenAI").join("Codex"), - local.join("OpenAI.Codex"), - local.join("Codex"), - roaming.join("OpenAI").join("Codex"), - roaming.join("OpenAI.Codex"), - roaming.join("Codex"), - ] - ); -} - -#[test] -fn app_paths_find_macos_codex_app_prefers_first_search_root_and_known_names() { - let temp = tempfile::tempdir().unwrap(); - let system_root = temp.path().join("Applications"); - let user_root = temp.path().join("Users/me/Applications"); - let system_app = system_root.join("OpenAI Codex.app"); - let user_app = user_root.join("Codex.app"); - std::fs::create_dir_all(&system_app).unwrap(); - std::fs::create_dir_all(&user_app).unwrap(); - - assert_eq!( - find_macos_codex_app(&[system_root, user_root]).unwrap(), - system_app - ); -} - -#[test] -fn app_paths_build_macos_bundle_executable() { - let app = PathBuf::from("/Applications/OpenAI Codex.app"); - - assert_eq!( - build_codex_executable(&app), - PathBuf::from("/Applications/OpenAI Codex.app/Contents/MacOS/Codex") - ); -} - -#[test] -fn app_paths_normalizes_executable_and_package_paths() { - let temp = tempfile::tempdir().unwrap(); - let portable = temp.path().join("CodexPortable"); - let app = portable.join("app"); - std::fs::create_dir_all(&app).unwrap(); - std::fs::write(app.join("Codex.exe"), "").unwrap(); - - assert_eq!( - normalize_codex_app_path(&app.join("Codex.exe")).as_deref(), - Some(app.as_path()) - ); - assert_eq!( - normalize_codex_app_path(&portable).as_deref(), - Some(app.as_path()) - ); -} - -#[test] -fn app_paths_saved_path_is_used_when_no_explicit_path_is_provided() { - let temp = tempfile::tempdir().unwrap(); - let app = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app).unwrap(); - - assert_eq!( - resolve_codex_app_dir_with_saved(None, Some(&app.to_string_lossy())).as_deref(), - Some(app.as_path()) - ); -} - -#[test] -fn launcher_builds_debug_arguments_and_commands() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - - assert_eq!( - build_codex_arguments(9229, &[]), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - ] - ); - let command = build_codex_command(&app_dir, 9229, &[]); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); -} - -#[test] -fn launcher_does_not_override_codex_app_environment() { - let source = include_str!("../src/launcher.rs"); - - assert!(!source.contains(".envs(codex_process_environment())")); - assert!(!source.contains("activate_packaged_app_with_environment")); - assert!(!source.contains("with_temporary_proxy_environment")); -} - -#[test] -fn launcher_windows_process_wait_uses_platform_cfg_guards() { - let source = include_str!("../src/launcher.rs").replace("\r\n", "\n"); - - assert!(source.contains( - "#[cfg(windows)]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" - )); - assert!(source.contains( - "#[cfg(not(windows))]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" - )); - assert!(source.contains( - "#[cfg(windows)]\nfn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()>" - )); -} - -#[test] -fn launcher_appends_extra_codex_arguments_after_debug_arguments() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - let extra_args = vec![ - "--force_high_performance_gpu".to_string(), - " ".to_string(), - "--enable-features=UseOzonePlatform".to_string(), - ]; - - assert_eq!( - build_codex_arguments(9229, &extra_args), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--force_high_performance_gpu".to_string(), - "--enable-features=UseOzonePlatform".to_string(), - ] - ); - let command = build_codex_command(&app_dir, 9229, &extra_args); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); - assert_eq!(command[3], "--force_high_performance_gpu"); - assert_eq!(command[4], "--enable-features=UseOzonePlatform"); -} - -#[test] -fn launcher_native_menu_inspector_arguments_are_added_before_extra_args() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - - assert_eq!( - build_codex_arguments_with_native_menu_inspector(9229, 9329, &extra_args), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--inspect=127.0.0.1:9329".to_string(), - "--force_high_performance_gpu".to_string(), - ] - ); - let command = build_codex_command_with_native_menu_inspector(&app_dir, 9229, 9329, &extra_args); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); - assert_eq!(command[3], "--inspect=127.0.0.1:9329"); - assert_eq!(command[4], "--force_high_performance_gpu"); -} - -#[test] -fn launcher_constructs_windows_packaged_activation_without_real_app() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - - assert_eq!( - packaged_app_user_model_id(&app_dir).unwrap(), - "OpenAI.Codex_2p2nqsd0c76g0!App" - ); - assert_eq!( - build_packaged_activation(&app_dir, 9229, &[]).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_appends_extra_codex_arguments() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - - assert_eq!( - build_packaged_activation(&app_dir, 9229, &extra_args).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: - "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --force_high_performance_gpu" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_adds_native_menu_inspector_argument() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - - assert_eq!( - build_packaged_activation_with_native_menu_inspector(&app_dir, 9229, 9329, &[]).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: - "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --inspect=127.0.0.1:9329" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_can_preserve_process_id() { - let launch = CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }; - - assert_eq!(launch.process_id(), Some(4242)); -} - -#[test] -fn app_paths_parse_appx_install_location_from_powershell_output() { - let output = - "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; - - assert_eq!( - latest_appx_install_location_from_output(output).as_deref(), - Some(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0") - ); -} - -#[test] -fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { - let source = include_str!("../src/launcher.rs"); - - assert!(!source.contains("launcher.packaged_activation_cdp_unready_direct_fallback")); - assert!(!source.contains("terminate_windows_process_id(process_id).await")); -} - -#[cfg(windows)] -#[test] -fn launcher_windows_packaged_process_management_uses_native_api() { - assert_eq!( - windows_process_control_strategy(), - WindowsProcessControlStrategy::NativeWindowsApi - ); -} - -#[test] -fn launcher_macos_open_command_waits_for_app_exit() { - let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &[]); - - assert_eq!(command[0], "open"); - assert!(command.contains(&"-W".to_string())); - assert!(command.contains(&"-a".to_string())); - assert!(command.contains(&"--args".to_string())); - assert!(command.contains(&"--remote-debugging-port=9229".to_string())); -} - -#[test] -fn launcher_macos_open_command_appends_extra_codex_arguments_after_args() { - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &extra_args); - let args_index = command - .iter() - .position(|part| part == "--args") - .expect("macOS command should contain --args"); - - assert_eq!( - &command[args_index + 1..], - &[ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--force_high_performance_gpu".to_string(), - ] - ); -} - -#[test] -fn launcher_macos_open_command_adds_native_menu_inspector_argument() { - let command = build_macos_open_command_with_native_menu_inspector( - Path::new("/Applications/Codex.app"), - 9229, - 9329, - &[], - ); - let args_index = command - .iter() - .position(|part| part == "--args") - .expect("macOS command should contain --args"); - - assert_eq!( - &command[args_index + 1..], - &[ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--inspect=127.0.0.1:9329".to_string(), - ] - ); -} - -#[test] -fn ports_windows_falls_back_to_ephemeral_when_requested_is_busy() { - let selected = select_platform_loopback_port_with(9229, true, |_| false, || 43001); - - assert_eq!(selected, 43001); -} - -#[test] -fn ports_windows_packaged_debug_falls_back_to_ephemeral_when_requested_is_busy() { - let selected = select_packaged_codex_debug_port_with(9229, true, |_| false, || 43001); - - assert_eq!(selected, 43001); -} - -#[test] -fn ports_non_windows_keeps_requested_even_when_busy() { - let selected = select_platform_loopback_port_with(9229, false, |_| false, || 43001); - - assert_eq!(selected, 9229); -} - -#[tokio::test] -async fn default_helper_serves_backend_status_over_http() { - let hooks = DefaultLaunchHooks::default(); - let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); - let port = listener.local_addr().unwrap().port(); - drop(listener); - - hooks.start_helper(port).await.unwrap(); - let client = reqwest::Client::builder().no_proxy().build().unwrap(); - let response = client - .post(format!("http://127.0.0.1:{port}/backend/status")) - .json(&serde_json::json!({})) - .send() - .await - .unwrap(); - assert!(response.status().is_success()); - let payload: serde_json::Value = response.json().await.unwrap(); - assert_eq!(payload["status"], "ok"); - assert_eq!(payload["transport"], "http-helper"); - - let repair_response = client - .post(format!("http://127.0.0.1:{port}/backend/repair")) - .json(&serde_json::json!({})) - .send() - .await - .unwrap(); - assert!(repair_response.status().is_success()); - let repair_payload: serde_json::Value = repair_response.json().await.unwrap(); - assert_eq!(repair_payload["status"], "ok"); - assert_eq!(repair_payload["transport"], "http-helper"); - - hooks.shutdown_helper(port).await; -} - -#[tokio::test] -async fn default_helper_accepts_diagnostic_log_events_over_http() { - let temp = tempfile::tempdir().unwrap(); - let log_path = temp.path().join("codex-plus.log"); - codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(Some(log_path.clone())); - let hooks = DefaultLaunchHooks::default(); - let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); - let port = listener.local_addr().unwrap().port(); - drop(listener); - - hooks.start_helper(port).await.unwrap(); - let response = reqwest::Client::builder() - .no_proxy() - .build() - .unwrap() - .post(format!("http://127.0.0.1:{port}/diagnostics/log")) - .json(&serde_json::json!({ - "event": "backend_check_failed", - "message": "fetch failed", - "helperBase": format!("http://127.0.0.1:{port}") - })) - .send() - .await - .unwrap(); - - assert!(response.status().is_success()); - let payload: serde_json::Value = response.json().await.unwrap(); - assert_eq!(payload["status"], "ok"); - hooks.shutdown_helper(port).await; - - let contents = std::fs::read_to_string(&log_path).unwrap(); - assert!(contents.contains("renderer.backend_check_failed")); - assert!(contents.contains("fetch failed")); - codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(None); -} - -#[tokio::test] -async fn launch_lifecycle_runs_sync_before_launch_writes_success_and_shutdowns_on_exit() { +use std::path::{Path, PathBuf}; +use std::sync::{Arc, Mutex}; + +use codex_plus_core::app_paths::{ + build_codex_executable, codex_app_version, find_latest_codex_app_dir, + find_latest_codex_app_dir_from_roots, find_macos_codex_app, + latest_appx_install_location_from_output, normalize_codex_app_path, packaged_app_user_model_id, + resolve_codex_app_dir_with_saved, user_data_candidates_from, +}; +use codex_plus_core::launcher::{ + CodexLaunch, DefaultLaunchHooks, LaunchHooks, LaunchOptions, MacosCleanupPolicy, + build_codex_arguments, build_codex_arguments_with_native_menu_inspector, build_codex_command, + build_codex_command_with_native_menu_inspector, build_macos_cleanup_command, + build_macos_open_command, build_macos_open_command_with_native_menu_inspector, + build_packaged_activation, build_packaged_activation_with_native_menu_inspector, + launch_and_inject_with_hooks, +}; +#[cfg(windows)] +use codex_plus_core::launcher::{WindowsProcessControlStrategy, windows_process_control_strategy}; +use codex_plus_core::ports::{ + select_packaged_codex_debug_port_with, select_platform_loopback_port_with, +}; +use codex_plus_core::settings::{BackendSettings, RelayProfile, RelayProtocol}; +use codex_plus_core::status::StatusStore; + +#[test] +fn app_paths_find_latest_windows_package_prefers_highest_version_app_dir() { + let temp = tempfile::tempdir().unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_1.2.3.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_not-a-version_x64__abc")).unwrap(); + + let latest = find_latest_codex_app_dir(temp.path()).unwrap(); + + assert_eq!( + latest, + temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app") + ); +} + +#[test] +fn app_paths_find_latest_windows_package_detects_beta_package() { + let temp = tempfile::tempdir().unwrap(); + std::fs::create_dir_all( + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app"), + ) + .unwrap(); + + let latest = find_latest_codex_app_dir(temp.path()).unwrap(); + + assert_eq!( + latest, + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") + ); + assert_eq!(codex_app_version(&latest).as_deref(), Some("26.527.7698.0")); + assert_eq!( + packaged_app_user_model_id(&latest).as_deref(), + Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") + ); +} + +#[test] +fn app_paths_find_latest_windows_package_returns_package_when_app_dir_missing() { + let temp = tempfile::tempdir().unwrap(); + let package = temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc"); + std::fs::create_dir_all(&package).unwrap(); + + assert_eq!(find_latest_codex_app_dir(temp.path()).unwrap(), package); +} + +#[test] +fn app_paths_find_latest_windows_package_checks_roots_before_fallback() { + let temp = tempfile::tempdir().unwrap(); + let root = temp.path().join("WindowsApps"); + std::fs::create_dir_all(root.join("OpenAI.Codex_1.0.0.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(root.join("OpenAI.Codex_26.513.3673.0_x64__abc/app")).unwrap(); + + let latest = find_latest_codex_app_dir_from_roots(&[root]).unwrap(); + + assert!(latest.ends_with("OpenAI.Codex_26.513.3673.0_x64__abc/app")); +} + +#[test] +fn app_paths_extracts_codex_version_from_windows_package_app_dir() { + let app_dir = + PathBuf::from(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.513.3673.0_x64__abc\app"); + + assert_eq!( + codex_app_version(&app_dir).as_deref(), + Some("26.513.3673.0") + ); +} + +#[test] +fn app_paths_extracts_codex_version_from_macos_bundle_plist() { + let temp = tempfile::tempdir().unwrap(); + let app = temp.path().join("OpenAI Codex.app"); + let contents = app.join("Contents"); + std::fs::create_dir_all(&contents).unwrap(); + std::fs::write( + contents.join("Info.plist"), + r#" + + + CFBundleVersion + 26.500.0 + CFBundleShortVersionString + 26.513.3673 + + +"#, + ) + .unwrap(); + + assert_eq!(codex_app_version(&app).as_deref(), Some("26.513.3673")); +} + +#[test] +fn app_paths_user_data_candidates_include_local_and_roaming_variants() { + let local = PathBuf::from(r"C:\Users\me\AppData\Local"); + let roaming = PathBuf::from(r"C:\Users\me\AppData\Roaming"); + + let candidates = user_data_candidates_from(Some(&local), Some(&roaming)); + + assert_eq!( + candidates, + vec![ + local.join("OpenAI").join("Codex"), + local.join("OpenAI.Codex"), + local.join("Codex"), + roaming.join("OpenAI").join("Codex"), + roaming.join("OpenAI.Codex"), + roaming.join("Codex"), + ] + ); +} + +#[test] +fn app_paths_find_macos_codex_app_prefers_first_search_root_and_known_names() { + let temp = tempfile::tempdir().unwrap(); + let system_root = temp.path().join("Applications"); + let user_root = temp.path().join("Users/me/Applications"); + let system_app = system_root.join("OpenAI Codex.app"); + let user_app = user_root.join("Codex.app"); + std::fs::create_dir_all(&system_app).unwrap(); + std::fs::create_dir_all(&user_app).unwrap(); + + assert_eq!( + find_macos_codex_app(&[system_root, user_root]).unwrap(), + system_app + ); +} + +#[test] +fn app_paths_build_macos_bundle_executable() { + let app = PathBuf::from("/Applications/OpenAI Codex.app"); + + assert_eq!( + build_codex_executable(&app), + PathBuf::from("/Applications/OpenAI Codex.app/Contents/MacOS/Codex") + ); +} + +#[test] +fn app_paths_normalizes_executable_and_package_paths() { + let temp = tempfile::tempdir().unwrap(); + let portable = temp.path().join("CodexPortable"); + let app = portable.join("app"); + std::fs::create_dir_all(&app).unwrap(); + std::fs::write(app.join("Codex.exe"), "").unwrap(); + + assert_eq!( + normalize_codex_app_path(&app.join("Codex.exe")).as_deref(), + Some(app.as_path()) + ); + assert_eq!( + normalize_codex_app_path(&portable).as_deref(), + Some(app.as_path()) + ); +} + +#[test] +fn app_paths_saved_path_is_used_when_no_explicit_path_is_provided() { + let temp = tempfile::tempdir().unwrap(); + let app = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app).unwrap(); + + assert_eq!( + resolve_codex_app_dir_with_saved(None, Some(&app.to_string_lossy())).as_deref(), + Some(app.as_path()) + ); +} + +#[test] +fn launcher_builds_debug_arguments_and_commands() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + + assert_eq!( + build_codex_arguments(9229, &[]), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + ] + ); + let command = build_codex_command(&app_dir, 9229, &[]); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); +} + +#[test] +fn launcher_does_not_override_codex_app_environment() { + let source = include_str!("../src/launcher.rs"); + + assert!(!source.contains(".envs(codex_process_environment())")); + assert!(!source.contains("activate_packaged_app_with_environment")); + assert!(!source.contains("with_temporary_proxy_environment")); +} + +#[test] +fn launcher_windows_process_wait_uses_platform_cfg_guards() { + let source = include_str!("../src/launcher.rs").replace("\r\n", "\n"); + + assert!(source.contains( + "#[cfg(windows)]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" + )); + assert!(source.contains( + "#[cfg(not(windows))]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" + )); + assert!(source.contains( + "#[cfg(windows)]\nfn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()>" + )); +} + +#[test] +fn launcher_appends_extra_codex_arguments_after_debug_arguments() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + let extra_args = vec![ + "--force_high_performance_gpu".to_string(), + " ".to_string(), + "--enable-features=UseOzonePlatform".to_string(), + ]; + + assert_eq!( + build_codex_arguments(9229, &extra_args), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--force_high_performance_gpu".to_string(), + "--enable-features=UseOzonePlatform".to_string(), + ] + ); + let command = build_codex_command(&app_dir, 9229, &extra_args); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); + assert_eq!(command[3], "--force_high_performance_gpu"); + assert_eq!(command[4], "--enable-features=UseOzonePlatform"); +} + +#[test] +fn launcher_native_menu_inspector_arguments_are_added_before_extra_args() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + + assert_eq!( + build_codex_arguments_with_native_menu_inspector(9229, 9329, &extra_args), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--inspect=127.0.0.1:9329".to_string(), + "--force_high_performance_gpu".to_string(), + ] + ); + let command = build_codex_command_with_native_menu_inspector(&app_dir, 9229, 9329, &extra_args); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); + assert_eq!(command[3], "--inspect=127.0.0.1:9329"); + assert_eq!(command[4], "--force_high_performance_gpu"); +} + +#[test] +fn launcher_constructs_windows_packaged_activation_without_real_app() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + + assert_eq!( + packaged_app_user_model_id(&app_dir).unwrap(), + "OpenAI.Codex_2p2nqsd0c76g0!App" + ); + assert_eq!( + build_packaged_activation(&app_dir, 9229, &[]).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_appends_extra_codex_arguments() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + + assert_eq!( + build_packaged_activation(&app_dir, 9229, &extra_args).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: + "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --force_high_performance_gpu" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_adds_native_menu_inspector_argument() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + + assert_eq!( + build_packaged_activation_with_native_menu_inspector(&app_dir, 9229, 9329, &[]).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: + "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --inspect=127.0.0.1:9329" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_can_preserve_process_id() { + let launch = CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }; + + assert_eq!(launch.process_id(), Some(4242)); +} + +#[test] +fn app_paths_parse_appx_install_location_from_powershell_output() { + let output = + "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; + + assert_eq!( + latest_appx_install_location_from_output(output).as_deref(), + Some(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0") + ); +} + +#[test] +fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { + let source = include_str!("../src/launcher.rs"); + + assert!(!source.contains("launcher.packaged_activation_cdp_unready_direct_fallback")); + assert!(!source.contains("terminate_windows_process_id(process_id).await")); +} + +#[cfg(windows)] +#[test] +fn launcher_windows_packaged_process_management_uses_native_api() { + assert_eq!( + windows_process_control_strategy(), + WindowsProcessControlStrategy::NativeWindowsApi + ); +} + +#[test] +fn launcher_macos_open_command_waits_for_app_exit() { + let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &[]); + + assert_eq!(command[0], "open"); + assert!(command.contains(&"-W".to_string())); + assert!(command.contains(&"-a".to_string())); + assert!(command.contains(&"--args".to_string())); + assert!(command.contains(&"--remote-debugging-port=9229".to_string())); +} + +#[test] +fn launcher_macos_open_command_appends_extra_codex_arguments_after_args() { + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &extra_args); + let args_index = command + .iter() + .position(|part| part == "--args") + .expect("macOS command should contain --args"); + + assert_eq!( + &command[args_index + 1..], + &[ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--force_high_performance_gpu".to_string(), + ] + ); +} + +#[test] +fn launcher_macos_open_command_adds_native_menu_inspector_argument() { + let command = build_macos_open_command_with_native_menu_inspector( + Path::new("/Applications/Codex.app"), + 9229, + 9329, + &[], + ); + let args_index = command + .iter() + .position(|part| part == "--args") + .expect("macOS command should contain --args"); + + assert_eq!( + &command[args_index + 1..], + &[ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--inspect=127.0.0.1:9329".to_string(), + ] + ); +} + +#[test] +fn ports_windows_falls_back_to_ephemeral_when_requested_is_busy() { + let selected = select_platform_loopback_port_with(9229, true, |_| false, || 43001); + + assert_eq!(selected, 43001); +} + +#[test] +fn ports_windows_packaged_debug_falls_back_to_ephemeral_when_requested_is_busy() { + let selected = select_packaged_codex_debug_port_with(9229, true, |_| false, || 43001); + + assert_eq!(selected, 43001); +} + +#[test] +fn ports_non_windows_keeps_requested_even_when_busy() { + let selected = select_platform_loopback_port_with(9229, false, |_| false, || 43001); + + assert_eq!(selected, 9229); +} + +#[tokio::test] +async fn default_helper_serves_backend_status_over_http() { + let hooks = DefaultLaunchHooks::default(); + let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); + let port = listener.local_addr().unwrap().port(); + drop(listener); + + hooks.start_helper(port).await.unwrap(); + let client = reqwest::Client::builder().no_proxy().build().unwrap(); + let response = client + .post(format!("http://127.0.0.1:{port}/backend/status")) + .json(&serde_json::json!({})) + .send() + .await + .unwrap(); + assert!(response.status().is_success()); + let payload: serde_json::Value = response.json().await.unwrap(); + assert_eq!(payload["status"], "ok"); + assert_eq!(payload["transport"], "http-helper"); + + let repair_response = client + .post(format!("http://127.0.0.1:{port}/backend/repair")) + .json(&serde_json::json!({})) + .send() + .await + .unwrap(); + assert!(repair_response.status().is_success()); + let repair_payload: serde_json::Value = repair_response.json().await.unwrap(); + assert_eq!(repair_payload["status"], "ok"); + assert_eq!(repair_payload["transport"], "http-helper"); + + hooks.shutdown_helper(port).await; +} + +#[tokio::test] +async fn default_helper_accepts_diagnostic_log_events_over_http() { + let temp = tempfile::tempdir().unwrap(); + let log_path = temp.path().join("codex-plus.log"); + codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(Some(log_path.clone())); + let hooks = DefaultLaunchHooks::default(); + let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); + let port = listener.local_addr().unwrap().port(); + drop(listener); + + hooks.start_helper(port).await.unwrap(); + let response = reqwest::Client::builder() + .no_proxy() + .build() + .unwrap() + .post(format!("http://127.0.0.1:{port}/diagnostics/log")) + .json(&serde_json::json!({ + "event": "backend_check_failed", + "message": "fetch failed", + "helperBase": format!("http://127.0.0.1:{port}") + })) + .send() + .await + .unwrap(); + + assert!(response.status().is_success()); + let payload: serde_json::Value = response.json().await.unwrap(); + assert_eq!(payload["status"], "ok"); + hooks.shutdown_helper(port).await; + + let contents = std::fs::read_to_string(&log_path).unwrap(); + assert!(contents.contains("renderer.backend_check_failed")); + assert!(contents.contains("fetch failed")); + codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(None); +} + +#[tokio::test] +async fn launch_lifecycle_runs_enabled_maintenance_without_applying_relay_profile() { let temp = tempfile::tempdir().unwrap(); let app_dir = temp.path().join("Codex.app"); std::fs::create_dir_all(&app_dir).unwrap(); @@ -530,901 +530,903 @@ async fn launch_lifecycle_runs_sync_before_launch_writes_success_and_shutdowns_o let hooks = FakeHooks::new(events.clone()) .with_settings(BackendSettings { provider_sync_enabled: true, + relay_profiles_enabled: true, + computer_use_guard_enabled: true, + codex_app_plugin_marketplace_unlock: true, ..BackendSettings::default() }) .with_launch_result(CodexLaunch::Process { command: vec!["codex".to_string()], wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, - macos_cleanup_policy: None, - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir.clone()), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), + macos_cleanup_policy: None, + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir.clone()), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), vec![ "select-debug:9229", "select-helper:57321", "load-settings", "provider-sync", - "apply-relay", + "computer-use-guard", "start-helper:57321", "launch:9229", + "computer-use-guard-watchdog", "inject:9229:57321", "status:running", "wait-codex", "shutdown-helper:57321", ] ); + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"apply-relay".to_string())); + assert!(events.contains(&"provider-sync".to_string())); + assert!(events.contains(&"computer-use-guard".to_string())); + assert!(events.contains(&"computer-use-guard-watchdog".to_string())); assert_eq!( handle .status_store .load_latest() .unwrap() - .unwrap() - .codex_app - .as_deref(), - Some(app_dir.to_string_lossy().as_ref()) - ); -} - -#[tokio::test] -async fn launch_lifecycle_passes_configured_extra_args_to_codex_launch() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - codex_extra_args: vec!["--force_high_performance_gpu".to_string()], - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert!( - events - .lock() - .unwrap() - .contains(&"launch:9229:--force_high_performance_gpu".to_string()) - ); -} - -#[tokio::test] -async fn launch_lifecycle_passes_native_menu_localization_switch_to_codex_launch() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - codex_app_native_menu_localization: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert!( - events - .lock() - .unwrap() - .contains(&"launch:9229:native-menu-off".to_string()) - ); -} - -#[tokio::test] + .unwrap() + .codex_app + .as_deref(), + Some(app_dir.to_string_lossy().as_ref()) + ); +} + +#[tokio::test] +async fn launch_lifecycle_passes_configured_extra_args_to_codex_launch() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + codex_extra_args: vec!["--force_high_performance_gpu".to_string()], + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert!( + events + .lock() + .unwrap() + .contains(&"launch:9229:--force_high_performance_gpu".to_string()) + ); +} + +#[tokio::test] +async fn launch_lifecycle_passes_native_menu_localization_switch_to_codex_launch() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + codex_app_native_menu_localization: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert!( + events + .lock() + .unwrap() + .contains(&"launch:9229:native-menu-off".to_string()) + ); +} + +#[tokio::test] async fn launch_lifecycle_keeps_js_injection_in_relay_mode() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - launch_mode: codex_plus_core::settings::LaunchMode::Relay, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + launch_mode: codex_plus_core::settings::LaunchMode::Relay, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running", - "wait-codex", - "shutdown-helper:57321", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_skips_helper_and_injection_when_enhancements_disabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - enhancements_enabled: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:running", + "wait-codex", + "shutdown-helper:57321", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_skips_helper_and_injection_when_enhancements_disabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + enhancements_enabled: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "launch:9229", "status:running", "wait-codex", - ] - ); -} - -#[tokio::test] + ] + ); +} + +#[tokio::test] async fn launch_lifecycle_runs_computer_use_guard_when_enabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - computer_use_guard_enabled: true, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + computer_use_guard_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "computer-use-guard", - "apply-relay", "start-helper:57321", "launch:9229", "computer-use-guard-watchdog", "inject:9229:57321", "status:running", "wait-codex", - "shutdown-helper:57321", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_skips_computer_use_guard_by_default() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - let events = events.lock().unwrap().clone(); - assert!(!events.contains(&"computer-use-guard".to_string())); - assert!(!events.contains(&"computer-use-guard-watchdog".to_string())); - assert!(events.contains(&"launch:9229".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_applies_relay_profile_before_launching_codex() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_profiles_enabled: true, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - let events = events.lock().unwrap().clone(); - assert!(events.contains(&"apply-relay".to_string())); - assert!(events.contains(&"launch:9229".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_profiles_enabled: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - + "shutdown-helper:57321", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_skips_computer_use_guard_by_default() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"computer-use-guard".to_string())); + assert!(!events.contains(&"computer-use-guard-watchdog".to_string())); + assert!(events.contains(&"launch:9229".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_does_not_apply_relay_profile_before_launching_codex() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_profiles_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); assert!(!events.contains(&"apply-relay".to_string())); - assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } - -#[tokio::test] -async fn launch_lifecycle_tolerates_duplicate_context_parent_tables_and_applies_relay() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_common_config_contents: "[mcp_servers]\n".to_string(), - relay_context_config_contents: "[mcp_servers]\n\n[mcp_servers.ida]\ncommand = \"python\"\n" - .to_string(), - relay_profiles: vec![RelayProfile { - id: "relay-a".to_string(), - name: "Relay A".to_string(), - relay_mode: codex_plus_core::settings::RelayMode::PureApi, - config_contents: r#"model = "gpt-5.5" -model_provider = "custom" - -[model_providers.custom] -name = "custom" -wire_api = "responses" -requires_openai_auth = true -base_url = "https://relay.example/v1" -experimental_bearer_token = "sk-test" -"# - .to_string(), - auth_contents: r#"{"OPENAI_API_KEY":"sk-test"}"#.to_string(), - ..RelayProfile::default() - }], - active_relay_id: "relay-a".to_string(), - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - + +#[tokio::test] +async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_profiles_enabled: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"computer-use-guard".to_string())); + assert!(events.contains(&"launch:9229".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_tolerates_duplicate_context_parent_tables_without_applying_relay() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_common_config_contents: "[mcp_servers]\n".to_string(), + relay_context_config_contents: "[mcp_servers]\n\n[mcp_servers.ida]\ncommand = \"python\"\n" + .to_string(), + relay_profiles: vec![RelayProfile { + id: "relay-a".to_string(), + name: "Relay A".to_string(), + relay_mode: codex_plus_core::settings::RelayMode::PureApi, + config_contents: r#"model = "gpt-5.5" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://relay.example/v1" +experimental_bearer_token = "sk-test" +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-test"}"#.to_string(), + ..RelayProfile::default() + }], + active_relay_id: "relay-a".to_string(), + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); - assert!(events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"apply-relay".to_string())); assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } - -#[tokio::test] -async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_inject_error("inject failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store: status_store.clone(), - }, - &hooks, - ) - .await - .unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + +#[tokio::test] +async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_inject_error("inject failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store: status_store.clone(), + }, + &hooks, + ) + .await + .unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running_degraded", - ] - ); - let status = status_store.load_latest().unwrap().unwrap(); - assert_eq!(status.status, "running_degraded"); - assert!(status.message.contains("Codex launched")); - - handle.wait_for_codex_exit().await.unwrap(); - let events = events.lock().unwrap().clone(); - assert!(events.contains(&"wait-codex".to_string())); - assert!(events.contains(&"shutdown-helper:57321".to_string())); - assert!(!events.contains(&"terminate-codex".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_launch_error("launch failed"); - - let error = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store: status_store.clone(), - }, - &hooks, - ) - .await - .unwrap_err(); - - assert!(error.to_string().contains("launch failed")); - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:running_degraded", + ] + ); + let status = status_store.load_latest().unwrap().unwrap(); + assert_eq!(status.status, "running_degraded"); + assert!(status.message.contains("Codex launched")); + + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); + assert!(events.contains(&"wait-codex".to_string())); + assert!(events.contains(&"shutdown-helper:57321".to_string())); + assert!(!events.contains(&"terminate-codex".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_launch_error("launch failed"); + + let error = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store: status_store.clone(), + }, + &hooks, + ) + .await + .unwrap_err(); + + assert!(error.to_string().contains("launch failed")); + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "shutdown-helper:57321", - "status:failed", - ] - ); -} - -#[tokio::test] -async fn launch_starts_helper_when_chat_protocol_proxy_is_enabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let settings = BackendSettings { - enhancements_enabled: false, - relay_profiles: vec![RelayProfile { - id: "relay-chat".to_string(), - name: "Chat".to_string(), - model: String::new(), - base_url: "https://chat-only.example.test/v1".to_string(), - upstream_base_url: "https://chat-only.example.test/v1".to_string(), - api_key: "sk-test".to_string(), - protocol: RelayProtocol::ChatCompletions, - relay_mode: codex_plus_core::settings::RelayMode::MixedApi, - official_mix_api_key: false, - test_model: String::new(), - config_contents: String::new(), - auth_contents: String::new(), - use_common_config: true, - context_selection: codex_plus_core::settings::RelayContextSelection::default(), - context_selection_initialized: false, - context_window: String::new(), - auto_compact_limit: String::new(), - model_insert_mode: codex_plus_core::settings::RelayModelInsertMode::default(), - model_list: String::new(), - model_windows: String::new(), - user_agent: String::new(), - }], - active_relay_id: "relay-chat".to_string(), - ..BackendSettings::default() - }; - let hooks = FakeHooks::new(events.clone()).with_settings(settings); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 58000, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - - let before_stop = events.lock().unwrap().clone(); - assert!(before_stop.contains(&"select-helper:58000".to_string())); - assert!(before_stop.contains(&"start-helper:57321".to_string())); - assert!(!before_stop.contains(&"inject:9229:57321".to_string())); - - handle.wait_for_codex_exit().await.unwrap(); - - let after_stop = events.lock().unwrap().clone(); - assert!(after_stop.contains(&"wait-codex".to_string())); - assert!(after_stop.contains(&"shutdown-helper:57321".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - std::fs::write(temp.path().join("status-parent-file"), "not a directory").unwrap(); - let status_store = StatusStore::new( - temp.path() - .join("status-parent-file") - .join("latest-status.json"), - ); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = - FakeHooks::new(events.clone()).with_launch_result(CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }); - - let error = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap_err(); - - assert!(error.to_string().contains("failed to create directory")); - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:failed", + ] + ); +} + +#[tokio::test] +async fn launch_starts_helper_when_chat_protocol_proxy_is_enabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let settings = BackendSettings { + enhancements_enabled: false, + relay_profiles: vec![RelayProfile { + id: "relay-chat".to_string(), + name: "Chat".to_string(), + model: String::new(), + base_url: "https://chat-only.example.test/v1".to_string(), + upstream_base_url: "https://chat-only.example.test/v1".to_string(), + api_key: "sk-test".to_string(), + protocol: RelayProtocol::ChatCompletions, + relay_mode: codex_plus_core::settings::RelayMode::MixedApi, + official_mix_api_key: false, + test_model: String::new(), + config_contents: String::new(), + auth_contents: String::new(), + use_common_config: true, + context_selection: codex_plus_core::settings::RelayContextSelection::default(), + context_selection_initialized: false, + context_window: String::new(), + auto_compact_limit: String::new(), + model_insert_mode: codex_plus_core::settings::RelayModelInsertMode::default(), + model_list: String::new(), + model_windows: String::new(), + user_agent: String::new(), + }], + active_relay_id: "relay-chat".to_string(), + ..BackendSettings::default() + }; + let hooks = FakeHooks::new(events.clone()).with_settings(settings); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 58000, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + + let before_stop = events.lock().unwrap().clone(); + assert!(before_stop.contains(&"select-helper:58000".to_string())); + assert!(before_stop.contains(&"start-helper:57321".to_string())); + assert!(!before_stop.contains(&"inject:9229:57321".to_string())); + + handle.wait_for_codex_exit().await.unwrap(); + + let after_stop = events.lock().unwrap().clone(); + assert!(after_stop.contains(&"wait-codex".to_string())); + assert!(after_stop.contains(&"shutdown-helper:57321".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + std::fs::write(temp.path().join("status-parent-file"), "not a directory").unwrap(); + let status_store = StatusStore::new( + temp.path() + .join("status-parent-file") + .join("latest-status.json"), + ); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = + FakeHooks::new(events.clone()).with_launch_result(CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }); + + let error = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap_err(); + + assert!(error.to_string().contains("failed to create directory")); + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", - "shutdown-helper:57321", - "terminate-packaged:4242", - "status:failed", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_keeps_packaged_process_id_running_and_retries_when_injection_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()) - .with_launch_result(CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }) - .with_inject_error("inject failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - - assert!( - !events - .lock() - .unwrap() - .contains(&"terminate-packaged:4242".to_string()) - ); - handle.wait_for_codex_exit().await.unwrap(); -} - -#[tokio::test] -async fn default_provider_sync_enabled_fails_instead_of_silently_skipping() { - let hooks = FakeHooks::new(Arc::new(Mutex::new(Vec::new()))).with_provider_sync_unsupported(); - - let error = hooks - .run_provider_sync() - .await - .expect_err("default-style provider sync should be explicit"); - - assert!( - error - .to_string() - .contains("provider sync requires launcher hooks") - ); -} - -#[tokio::test] + "shutdown-helper:57321", + "terminate-packaged:4242", + "status:failed", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_keeps_packaged_process_id_running_and_retries_when_injection_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()) + .with_launch_result(CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }) + .with_inject_error("inject failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + + assert!( + !events + .lock() + .unwrap() + .contains(&"terminate-packaged:4242".to_string()) + ); + handle.wait_for_codex_exit().await.unwrap(); +} + +#[tokio::test] +async fn default_provider_sync_enabled_fails_instead_of_silently_skipping() { + let hooks = FakeHooks::new(Arc::new(Mutex::new(Vec::new()))).with_provider_sync_unsupported(); + + let error = hooks + .run_provider_sync() + .await + .expect_err("default-style provider sync should be explicit"); + + assert!( + error + .to_string() + .contains("provider sync requires launcher hooks") + ); +} + +#[tokio::test] async fn launch_continues_when_plugin_marketplace_config_fails() { - let events = Arc::new(Mutex::new(Vec::new())); - let hooks = FakeHooks::new(events.clone()) - .with_plugin_marketplace_error("config.toml TOML parse failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(PathBuf::from("/Applications/Codex.app")), - debug_port: 9229, - helper_port: 57321, - status_store: StatusStore::new(tempfile::tempdir().unwrap().path().join("status.json")), - }, - &hooks, - ) - .await - .unwrap(); - - assert_eq!(handle.debug_port, 9229); - assert_eq!( - events.lock().unwrap().as_slice(), - [ + let events = Arc::new(Mutex::new(Vec::new())); + let hooks = FakeHooks::new(events.clone()) + .with_plugin_marketplace_error("config.toml TOML parse failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(PathBuf::from("/Applications/Codex.app")), + debug_port: 9229, + helper_port: 57321, + status_store: StatusStore::new(tempfile::tempdir().unwrap().path().join("status.json")), + }, + &hooks, + ) + .await + .unwrap(); + + assert_eq!(handle.debug_port, 9229); + assert_eq!( + events.lock().unwrap().as_slice(), + [ "select-debug:9229", "select-helper:57321", "load-settings", "plugin-marketplace", - "apply-relay", "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running" - ] - ); -} - -#[test] -fn launcher_macos_cleanup_command_targets_specific_app_bundle() { - let command = build_macos_cleanup_command( - Path::new("/Applications/OpenAI Codex.app"), - MacosCleanupPolicy::QuitIfNotPreviouslyRunning, - ) - .expect("cleanup command should be allowed"); - - assert_eq!(command[0], "osascript"); - assert!(command.iter().any(|part| part.contains("OpenAI Codex"))); - assert!(!command.iter().any(|part| part == "Codex")); -} - -#[test] -fn launcher_macos_cleanup_is_skipped_when_app_was_already_running() { - let command = build_macos_cleanup_command( - Path::new("/Applications/OpenAI Codex.app"), - MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning, - ); - - assert_eq!(command, None); -} - -#[tokio::test] -async fn default_launch_hooks_provider_sync_enabled_returns_explicit_error() { - let error = DefaultLaunchHooks::default() - .run_provider_sync() - .await - .expect_err("default provider sync should not silently skip"); - - assert!( - error - .to_string() - .contains("provider sync requires launcher hooks") - ); -} - -#[derive(Clone)] -struct FakeHooks { - events: Arc>>, - settings: BackendSettings, - launch_result: CodexLaunch, - launch_error: Option, - inject_error: Option, - provider_sync_unsupported: bool, - plugin_marketplace_error: Option, -} - -impl FakeHooks { - fn new(events: Arc>>) -> Self { - Self { - events, - settings: BackendSettings::default(), - launch_result: CodexLaunch::Process { - command: vec!["codex".to_string()], - wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, - macos_cleanup_policy: None, - }, - launch_error: None, - inject_error: None, - provider_sync_unsupported: false, - plugin_marketplace_error: None, - } - } - - fn with_settings(mut self, settings: BackendSettings) -> Self { - self.settings = settings; - self - } - - fn with_launch_result(mut self, launch_result: CodexLaunch) -> Self { - self.launch_result = launch_result; - self - } - - fn with_inject_error(mut self, message: &str) -> Self { - self.inject_error = Some(message.to_string()); - self - } - - fn with_launch_error(mut self, message: &str) -> Self { - self.launch_error = Some(message.to_string()); - self - } - - fn with_provider_sync_unsupported(mut self) -> Self { - self.provider_sync_unsupported = true; - self - } - - fn with_plugin_marketplace_error(mut self, message: &str) -> Self { - self.plugin_marketplace_error = Some(message.to_string()); - self - } - - fn event(&self, event: impl Into) { - self.events.lock().unwrap().push(event.into()); - } -} - -#[async_trait::async_trait(?Send)] -impl LaunchHooks for FakeHooks { - fn resolve_app_dir( - &self, - app_dir: Option<&Path>, - _settings: &BackendSettings, - ) -> anyhow::Result { - app_dir - .map(Path::to_path_buf) - .ok_or_else(|| anyhow::anyhow!("missing app dir")) - } - - fn select_debug_port(&self, requested: u16) -> u16 { - self.event(format!("select-debug:{requested}")); - requested - } - - fn select_helper_port(&self, requested: u16) -> u16 { - self.event(format!("select-helper:{requested}")); - requested - } - - async fn load_settings(&self) -> anyhow::Result { - self.event("load-settings"); - Ok(self.settings.clone()) - } - - async fn run_provider_sync(&self) -> anyhow::Result<()> { - self.event("provider-sync"); - if self.provider_sync_unsupported { - anyhow::bail!("provider sync requires launcher hooks"); - } - Ok(()) - } - - async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { - if !settings.relay_profiles_enabled { - return Ok(()); - } - self.event("apply-relay"); - Ok(()) - } - - async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { - self.event("computer-use-guard"); - Ok(()) - } - - async fn ensure_plugin_marketplace_config( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - if let Some(message) = &self.plugin_marketplace_error { - self.event("plugin-marketplace"); - anyhow::bail!(message.clone()); - } - Ok(()) - } - - async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { - self.event(format!("start-helper:{helper_port}")); - Ok(()) - } - - async fn launch_codex( - &self, - app_dir: &Path, - debug_port: u16, - settings: &BackendSettings, - extra_args: &[String], - ) -> anyhow::Result { - assert!(app_dir.ends_with("Codex.app")); - let launch_detail = if extra_args.is_empty() { - format!("launch:{debug_port}") - } else { - format!("launch:{debug_port}:{}", extra_args.join(",")) - }; - if settings.codex_app_native_menu_localization { - self.event(launch_detail); - } else { - self.event(format!("{launch_detail}:native-menu-off")); - } - if let Some(message) = &self.launch_error { - anyhow::bail!(message.clone()); - } - Ok(self.launch_result.clone()) - } - - async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - self.event(format!("inject:{debug_port}:{helper_port}")); - if let Some(message) = &self.inject_error { - anyhow::bail!(message.clone()); - } - Ok(()) - } - - async fn ensure_injection(&self, debug_port: u16, helper_port: u16, _app_dir: &Path) -> bool { - self.event(format!("inject:{debug_port}:{helper_port}")); - self.inject_error.is_none() - } - - async fn start_bridge_watchdog( - &self, - _debug_port: u16, - _helper_port: u16, - ) -> anyhow::Result<()> { - Ok(()) - } - - async fn start_computer_use_guard_watchdog( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - self.event("computer-use-guard-watchdog"); - Ok(()) - } - - async fn write_status(&self, status: &str) { - self.event(format!("status:{status}")); - } - - async fn wait_for_codex_exit(&self, _launch: &CodexLaunch) -> anyhow::Result<()> { - self.event("wait-codex"); - Ok(()) - } - - async fn shutdown_helper(&self, helper_port: u16) { - self.event(format!("shutdown-helper:{helper_port}")); - } - - async fn terminate_codex(&self, launch: &CodexLaunch) { - if let Some(process_id) = launch.process_id() { - self.event(format!("terminate-packaged:{process_id}")); - } else { - self.event("terminate-codex"); - } - } -} + "status:running" + ] + ); +} + +#[test] +fn launcher_macos_cleanup_command_targets_specific_app_bundle() { + let command = build_macos_cleanup_command( + Path::new("/Applications/OpenAI Codex.app"), + MacosCleanupPolicy::QuitIfNotPreviouslyRunning, + ) + .expect("cleanup command should be allowed"); + + assert_eq!(command[0], "osascript"); + assert!(command.iter().any(|part| part.contains("OpenAI Codex"))); + assert!(!command.iter().any(|part| part == "Codex")); +} + +#[test] +fn launcher_macos_cleanup_is_skipped_when_app_was_already_running() { + let command = build_macos_cleanup_command( + Path::new("/Applications/OpenAI Codex.app"), + MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning, + ); + + assert_eq!(command, None); +} + +#[tokio::test] +async fn default_launch_hooks_provider_sync_enabled_returns_explicit_error() { + let error = DefaultLaunchHooks::default() + .run_provider_sync() + .await + .expect_err("default provider sync should not silently skip"); + + assert!( + error + .to_string() + .contains("provider sync requires launcher hooks") + ); +} + +#[derive(Clone)] +struct FakeHooks { + events: Arc>>, + settings: BackendSettings, + launch_result: CodexLaunch, + launch_error: Option, + inject_error: Option, + provider_sync_unsupported: bool, + plugin_marketplace_error: Option, +} + +impl FakeHooks { + fn new(events: Arc>>) -> Self { + Self { + events, + settings: BackendSettings::default(), + launch_result: CodexLaunch::Process { + command: vec!["codex".to_string()], + wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, + macos_cleanup_policy: None, + }, + launch_error: None, + inject_error: None, + provider_sync_unsupported: false, + plugin_marketplace_error: None, + } + } + + fn with_settings(mut self, settings: BackendSettings) -> Self { + self.settings = settings; + self + } + + fn with_launch_result(mut self, launch_result: CodexLaunch) -> Self { + self.launch_result = launch_result; + self + } + + fn with_inject_error(mut self, message: &str) -> Self { + self.inject_error = Some(message.to_string()); + self + } + + fn with_launch_error(mut self, message: &str) -> Self { + self.launch_error = Some(message.to_string()); + self + } + + fn with_provider_sync_unsupported(mut self) -> Self { + self.provider_sync_unsupported = true; + self + } + + fn with_plugin_marketplace_error(mut self, message: &str) -> Self { + self.plugin_marketplace_error = Some(message.to_string()); + self + } + + fn event(&self, event: impl Into) { + self.events.lock().unwrap().push(event.into()); + } +} + +#[async_trait::async_trait(?Send)] +impl LaunchHooks for FakeHooks { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + _settings: &BackendSettings, + ) -> anyhow::Result { + app_dir + .map(Path::to_path_buf) + .ok_or_else(|| anyhow::anyhow!("missing app dir")) + } + + fn select_debug_port(&self, requested: u16) -> u16 { + self.event(format!("select-debug:{requested}")); + requested + } + + fn select_helper_port(&self, requested: u16) -> u16 { + self.event(format!("select-helper:{requested}")); + requested + } + + async fn load_settings(&self) -> anyhow::Result { + self.event("load-settings"); + Ok(self.settings.clone()) + } + + async fn run_provider_sync(&self) -> anyhow::Result<()> { + self.event("provider-sync"); + if self.provider_sync_unsupported { + anyhow::bail!("provider sync requires launcher hooks"); + } + Ok(()) + } + + async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.relay_profiles_enabled { + return Ok(()); + } + self.event("apply-relay"); + Ok(()) + } + + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + self.event("computer-use-guard"); + Ok(()) + } + + async fn ensure_plugin_marketplace_config( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + if let Some(message) = &self.plugin_marketplace_error { + self.event("plugin-marketplace"); + anyhow::bail!(message.clone()); + } + Ok(()) + } + + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { + self.event(format!("start-helper:{helper_port}")); + Ok(()) + } + + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result { + assert!(app_dir.ends_with("Codex.app")); + let launch_detail = if extra_args.is_empty() { + format!("launch:{debug_port}") + } else { + format!("launch:{debug_port}:{}", extra_args.join(",")) + }; + if settings.codex_app_native_menu_localization { + self.event(launch_detail); + } else { + self.event(format!("{launch_detail}:native-menu-off")); + } + if let Some(message) = &self.launch_error { + anyhow::bail!(message.clone()); + } + Ok(self.launch_result.clone()) + } + + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + self.event(format!("inject:{debug_port}:{helper_port}")); + if let Some(message) = &self.inject_error { + anyhow::bail!(message.clone()); + } + Ok(()) + } + + async fn ensure_injection(&self, debug_port: u16, helper_port: u16, _app_dir: &Path) -> bool { + self.event(format!("inject:{debug_port}:{helper_port}")); + self.inject_error.is_none() + } + + async fn start_bridge_watchdog( + &self, + _debug_port: u16, + _helper_port: u16, + ) -> anyhow::Result<()> { + Ok(()) + } + + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + self.event("computer-use-guard-watchdog"); + Ok(()) + } + + async fn write_status(&self, status: &str) { + self.event(format!("status:{status}")); + } + + async fn wait_for_codex_exit(&self, _launch: &CodexLaunch) -> anyhow::Result<()> { + self.event("wait-codex"); + Ok(()) + } + + async fn shutdown_helper(&self, helper_port: u16) { + self.event(format!("shutdown-helper:{helper_port}")); + } + + async fn terminate_codex(&self, launch: &CodexLaunch) { + if let Some(process_id) = launch.process_id() { + self.event(format!("terminate-packaged:{process_id}")); + } else { + self.event("terminate-codex"); + } + } +} From 7bd4a74267ab91964b506905b30e4242dea564a7 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Sun, 28 Jun 2026 17:19:37 +0800 Subject: [PATCH 131/156] fix: restore release tree files --- apps/codex-plus-manager/package-lock.json | 2826 +++++++++++ .../src-tauri/tauri.conf.json | 35 + crates/codex-plus-core/src/launcher.rs | 4187 +++++++++++++++++ 3 files changed, 7048 insertions(+) create mode 100644 apps/codex-plus-manager/package-lock.json create mode 100644 apps/codex-plus-manager/src-tauri/tauri.conf.json create mode 100644 crates/codex-plus-core/src/launcher.rs diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json new file mode 100644 index 000000000..0eec00fdd --- /dev/null +++ b/apps/codex-plus-manager/package-lock.json @@ -0,0 +1,2826 @@ +{ + "name": "codex-plus-manager", + "version": "1.2.22", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "codex-plus-manager", + "version": "1.2.22", + "dependencies": { + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", + "@fontsource/inter": "^5.2.8", + "@fontsource/jetbrains-mono": "^5.2.8", + "@radix-ui/react-slot": "^1.1.2", + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/cli": "^2.0.0", + "@tauri-apps/plugin-dialog": "^2.7.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.468.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^2.5.5", + "typescript": "^5.8.0", + "vite": "^6.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.0", + "@types/node": "^22.10.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@vitejs/plugin-react": "^4.3.4", + "tailwindcss": "^4.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-10.0.0.tgz", + "integrity": "sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==", + "license": "MIT", + "dependencies": { + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.3.0", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fontsource/inter": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.8.tgz", + "integrity": "sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", + "integrity": "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", + "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", + "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", + "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", + "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", + "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", + "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", + "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", + "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", + "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", + "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", + "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", + "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", + "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", + "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", + "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", + "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", + "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", + "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", + "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", + "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", + "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", + "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", + "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", + "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", + "integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.21.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz", + "integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-x64": "4.3.0", + "@tailwindcss/oxide-freebsd-x64": "4.3.0", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-x64-musl": "4.3.0", + "@tailwindcss/oxide-wasm32-wasi": "4.3.0", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz", + "integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz", + "integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz", + "integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz", + "integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz", + "integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz", + "integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz", + "integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz", + "integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz", + "integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz", + "integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { + "version": "2.8.1", + "dev": true, + "inBundle": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz", + "integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz", + "integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.0.tgz", + "integrity": "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.0", + "@tailwindcss/oxide": "4.3.0", + "tailwindcss": "4.3.0" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.11.0.tgz", + "integrity": "sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA==", + "license": "Apache-2.0 OR MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.2.tgz", + "integrity": "sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw==", + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.11.2", + "@tauri-apps/cli-darwin-x64": "2.11.2", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.2", + "@tauri-apps/cli-linux-arm64-gnu": "2.11.2", + "@tauri-apps/cli-linux-arm64-musl": "2.11.2", + "@tauri-apps/cli-linux-riscv64-gnu": "2.11.2", + "@tauri-apps/cli-linux-x64-gnu": "2.11.2", + "@tauri-apps/cli-linux-x64-musl": "2.11.2", + "@tauri-apps/cli-win32-arm64-msvc": "2.11.2", + "@tauri-apps/cli-win32-ia32-msvc": "2.11.2", + "@tauri-apps/cli-win32-x64-msvc": "2.11.2" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.2.tgz", + "integrity": "sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.2.tgz", + "integrity": "sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.2.tgz", + "integrity": "sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.2.tgz", + "integrity": "sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.2.tgz", + "integrity": "sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.2.tgz", + "integrity": "sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.2.tgz", + "integrity": "sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.2.tgz", + "integrity": "sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.2.tgz", + "integrity": "sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.2.tgz", + "integrity": "sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.2.tgz", + "integrity": "sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.7.1.tgz", + "integrity": "sha512-OK1UBXYt+ojcmxMktzzuyonYIFta8CmAASpX+CA+DTGK24KlHjhYI6x2iOJ/TjZF4N7/ACK1oFmEOjIY9IhzOQ==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.11.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", + "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz", + "integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz", + "integrity": "sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.360", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.360.tgz", + "integrity": "sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "devOptional": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.468.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz", + "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.45.tgz", + "integrity": "sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", + "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", + "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.6" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwind-merge": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.1.tgz", + "integrity": "sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", + "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json new file mode 100644 index 000000000..b166368ac --- /dev/null +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -0,0 +1,35 @@ +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Codex++ Manager", + "version": "1.2.22", + "identifier": "com.bigpizzav3.codexplusplus.manager", + "build": { + "beforeDevCommand": "npm run vite:dev", + "beforeBuildCommand": "npm run vite:build", + "devUrl": "http://localhost:1420", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "create": false, + "label": "main", + "title": "Codex++ 管理工具", + "width": 1180, + "height": 820, + "minWidth": 960, + "minHeight": 720 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": false, + "targets": "all", + "icon": [ + "icons/icon.ico" + ] + } +} diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs new file mode 100644 index 000000000..8dde1b4f5 --- /dev/null +++ b/crates/codex-plus-core/src/launcher.rs @@ -0,0 +1,4187 @@ +use std::net::SocketAddr; +use std::path::{Path, PathBuf}; +use std::process::Stdio; +use std::sync::Arc; +use std::sync::OnceLock; +use std::time::{SystemTime, UNIX_EPOCH}; + +use aes_gcm::aead::{Aead, KeyInit}; +use aes_gcm::{Aes256Gcm, Nonce}; +use anyhow::Context; +use async_trait::async_trait; +use base64::Engine; +use base64::engine::general_purpose::URL_SAFE_NO_PAD; +use futures_util::{SinkExt, StreamExt}; +use serde_json::Value; +use sha2::{Digest, Sha256}; +use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::process::{Child, Command}; +use tokio::sync::{Mutex, mpsc}; +use tokio_tungstenite::tungstenite::Message; + +use crate::settings::{BackendSettings, SettingsStore, normalize_codex_extra_args}; +use crate::status::{LaunchStatus, StatusStore}; + +#[cfg(windows)] +const POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS: &[u64] = &[0, 5, 15, 30, 60, 120, 180, 240, 300]; +#[cfg_attr(not(windows), allow(dead_code))] +const POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS: usize = 3; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum CodexLaunch { + Process { + command: Vec, + wait_strategy: ProcessWaitStrategy, + macos_cleanup_policy: Option, + }, + PackagedActivation { + app_user_model_id: String, + arguments: String, + process_id: Option, + }, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ProcessWaitStrategy { + TrackedChild, + ExternalWaitCommand, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum MacosCleanupPolicy { + QuitIfNotPreviouslyRunning, + SkipQuitBecauseAlreadyRunning, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum WindowsProcessControlStrategy { + NativeWindowsApi, +} + +#[cfg(windows)] +pub fn windows_process_control_strategy() -> WindowsProcessControlStrategy { + WindowsProcessControlStrategy::NativeWindowsApi +} + +impl CodexLaunch { + pub fn process_id(&self) -> Option { + match self { + Self::PackagedActivation { process_id, .. } => *process_id, + Self::Process { .. } => None, + } + } +} + +#[derive(Debug, Clone)] +pub struct LaunchOptions { + pub app_dir: Option, + pub debug_port: u16, + pub helper_port: u16, + pub status_store: StatusStore, +} + +impl Default for LaunchOptions { + fn default() -> Self { + Self { + app_dir: None, + debug_port: 9229, + helper_port: 57321, + status_store: StatusStore::default(), + } + } +} + +#[derive(Clone)] +pub struct LaunchHandle { + pub debug_port: u16, + pub helper_port: u16, + pub app_dir: PathBuf, + pub launch: CodexLaunch, + pub status_store: StatusStore, + helper_started: bool, + hooks: Arc, +} + +impl std::fmt::Debug for LaunchHandle { + fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter + .debug_struct("LaunchHandle") + .field("debug_port", &self.debug_port) + .field("helper_port", &self.helper_port) + .field("app_dir", &self.app_dir) + .field("launch", &self.launch) + .field("status_store", &self.status_store) + .finish_non_exhaustive() + } +} + +impl LaunchHandle { + pub async fn wait_for_codex_exit(&self) -> anyhow::Result<()> { + let result = self.hooks.wait_for_codex_exit(&self.launch).await; + if self.helper_started { + self.hooks.shutdown_helper(self.helper_port).await; + } + result + } +} + +#[async_trait(?Send)] +pub trait LaunchHooks: Send + Sync { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + settings: &BackendSettings, + ) -> anyhow::Result; + fn select_debug_port(&self, requested: u16) -> u16; + fn select_helper_port(&self, requested: u16) -> u16; + async fn load_settings(&self) -> anyhow::Result; + async fn run_provider_sync(&self) -> anyhow::Result<()>; + async fn apply_active_relay_profile(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + Ok(()) + } + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + Ok(()) + } + async fn ensure_plugin_marketplace_config( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()>; + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result; + async fn bridge_context( + &self, + _debug_port: u16, + _app_dir: &Path, + ) -> anyhow::Result> { + Ok(None) + } + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()>; + async fn inject_bridge( + &self, + debug_port: u16, + helper_port: u16, + _ctx: crate::routes::BridgeContext, + ) -> anyhow::Result<()> { + self.inject(debug_port, helper_port).await + } + async fn ensure_injection(&self, debug_port: u16, helper_port: u16, app_dir: &Path) -> bool { + for attempt in 1..=120 { + let result = match self.bridge_context(debug_port, app_dir).await { + Ok(Some(ctx)) => self.inject_bridge(debug_port, helper_port, ctx).await, + Ok(None) => self.inject(debug_port, helper_port).await, + Err(error) => Err(error), + }; + match result { + Ok(()) => return true, + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.ensure_injection_retry_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "attempt": attempt, + "message": error.to_string() + }), + ); + tokio::time::sleep(std::time::Duration::from_secs(1)).await; + } + } + } + false + } + async fn start_bridge_watchdog( + &self, + _debug_port: u16, + _helper_port: u16, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn write_status(&self, status: &str); + async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()>; + async fn shutdown_helper(&self, helper_port: u16); + async fn terminate_codex(&self, launch: &CodexLaunch); +} + +#[derive(Default)] +pub struct DefaultLaunchHooks { + child: Mutex>, + helper: Mutex>, + mobile_relay_host: Mutex>, + bridge_watchdog: Mutex>, + computer_use_guard_watchdog: Mutex>, + computer_use_guard_artifacts: Mutex>, +} + +struct HelperRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +struct MobileRelayHostRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +struct BridgeWatchdogRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +struct ComputerUseGuardWatchdogRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +pub async fn launch_and_inject(options: LaunchOptions) -> anyhow::Result { + launch_and_inject_with_hooks(options, DefaultLaunchHooks::shared()).await +} + +pub async fn launch_and_inject_with_hooks( + options: LaunchOptions, + hooks: H, +) -> anyhow::Result +where + H: IntoLaunchHooks, +{ + let hooks = hooks.into_launch_hooks(); + let debug_port = hooks.select_debug_port(options.debug_port); + let mut helper_port = hooks.select_helper_port(options.helper_port); + let settings = hooks.load_settings().await?; + let app_dir = hooks.resolve_app_dir(options.app_dir.as_deref(), &settings)?; + let status_store = options.status_store.clone(); + let mut helper_started = false; + let mut launched = None; + let mut keep_launched_on_error = false; + + let result: anyhow::Result = async { + if settings.provider_sync_enabled { + hooks.run_provider_sync().await?; + } + if let Err(error) = hooks.ensure_plugin_marketplace_config(&settings).await { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.plugin_marketplace_config_failed_nonfatal", + serde_json::json!({ + "message": error.to_string() + }), + ); + } + if settings.computer_use_guard_enabled { + hooks.ensure_computer_use_config(&settings).await?; + } + let home = crate::relay_config::default_codex_home_dir(); + match crate::codex_sqlite::sanitize_historical_model_suffixes(&home) { + Ok(result) if result.updated > 0 => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.sanitize_historical_model_suffixes", + serde_json::json!({ + "scanned": result.scanned, + "updated": result.updated + }), + ); + } + Ok(_) => {} + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.sanitize_historical_model_suffixes_failed", + serde_json::json!({ + "error": error.to_string() + }), + ); + } + } + let protocol_proxy_enabled = relay_protocol_proxy_enabled(&settings); + if protocol_proxy_enabled { + helper_port = crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT; + } + if settings.enhancements_enabled || protocol_proxy_enabled { + hooks.start_helper(helper_port).await?; + helper_started = true; + } + + let launch = hooks + .launch_codex(&app_dir, debug_port, &settings, &settings.codex_extra_args) + .await?; + launched = Some(launch.clone()); + keep_launched_on_error = true; + if settings.computer_use_guard_enabled { + hooks.start_computer_use_guard_watchdog(&settings).await?; + } + + let mut injection_degraded = false; + if settings.enhancements_enabled { + let injection_ready = hooks + .ensure_injection(debug_port, helper_port, &app_dir) + .await; + if injection_ready { + keep_launched_on_error = false; + // 注入成功后页面已加载,此时可以通过 CDP 清理 Electron Local Storage + // 中残留的带后缀模型名,避免模型选择器继续显示废弃项。 + crate::codex_local_storage::sanitize_local_storage_model_suffixes_nonfatal( + debug_port, + ) + .await; + hooks.start_bridge_watchdog(debug_port, helper_port).await?; + } else { + let degraded = launch_status( + "running_degraded", + "Codex launched; Codex++ enhancements are still waiting for the page bridge.", + debug_port, + helper_port, + &app_dir, + ); + options.status_store.save_latest(°raded)?; + hooks.write_status("running_degraded").await; + injection_degraded = true; + } + } + + if !settings.enhancements_enabled || !injection_degraded { + let status = launch_status( + "running", + "Codex++ launcher ready", + debug_port, + helper_port, + &app_dir, + ); + options.status_store.save_latest(&status)?; + hooks.write_status("running").await; + } + + Ok(LaunchHandle { + debug_port, + helper_port, + app_dir: app_dir.clone(), + launch, + status_store: status_store.clone(), + helper_started, + hooks: Arc::clone(&hooks), + }) + } + .await; + + match result { + Ok(handle) => Ok(handle), + Err(error) => { + if helper_started { + hooks.shutdown_helper(helper_port).await; + } + if let Some(launch) = &launched { + if !keep_launched_on_error { + hooks.terminate_codex(launch).await; + } + } + let message = error.to_string(); + let failure = launch_status("failed", &message, debug_port, helper_port, &app_dir); + let _ = status_store.save_latest(&failure); + hooks.write_status("failed").await; + Err(error) + } + } +} + +fn relay_protocol_proxy_enabled(settings: &BackendSettings) -> bool { + settings.active_relay_uses_protocol_proxy() +} + +fn select_native_menu_inspector_port(debug_port: u16) -> u16 { + let requested = debug_port.saturating_add(100); + crate::ports::select_platform_loopback_port(requested) +} + +fn start_native_menu_localizer(inspector_port: u16) { + if inspector_port == 0 { + return; + } + tokio::spawn(async move { + if let Err(error) = crate::native_menu::install_native_menu_localizer(inspector_port).await + { + let _ = crate::diagnostic_log::append_diagnostic_log( + "native_menu.localization_failed", + serde_json::json!({ + "inspector_port": inspector_port, + "message": error.to_string() + }), + ); + } + }); +} + +pub trait IntoLaunchHooks { + fn into_launch_hooks(self) -> Arc; +} + +impl IntoLaunchHooks for &T +where + T: LaunchHooks + Clone + 'static, +{ + fn into_launch_hooks(self) -> Arc { + Arc::new(self.clone()) + } +} + +impl IntoLaunchHooks for Arc { + fn into_launch_hooks(self) -> Arc { + self + } +} + +impl IntoLaunchHooks for DefaultLaunchHooks { + fn into_launch_hooks(self) -> Arc { + Arc::new(self) + } +} + +impl DefaultLaunchHooks { + pub fn shared() -> Arc { + Arc::new(Self::default()) + } + + async fn start_mobile_relay_host(&self, helper_port: u16) -> anyhow::Result<()> { + let settings = SettingsStore::default().load().unwrap_or_default(); + let Some(config) = MobileRelayHostConfig::from_settings_and_env(&settings) else { + return Ok(()); + }; + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + run_mobile_relay_host(helper_port, config, &mut shutdown_rx).await; + }); + if let Some(runtime) = self + .mobile_relay_host + .lock() + .await + .replace(MobileRelayHostRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + Ok(()) + } +} + +fn helper_bind_host() -> String { + std::env::var("CODEX_PLUS_HELPER_BIND") + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| "127.0.0.1".to_string()) +} + +#[async_trait(?Send)] +impl LaunchHooks for DefaultLaunchHooks { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + settings: &BackendSettings, + ) -> anyhow::Result { + crate::app_paths::resolve_codex_app_dir_with_saved( + app_dir, + Some(settings.codex_app_path.as_str()), + ) + .ok_or_else(|| anyhow::anyhow!("Codex App directory not found")) + } + + fn select_debug_port(&self, requested: u16) -> u16 { + crate::ports::select_packaged_codex_debug_port(requested) + } + + fn select_helper_port(&self, requested: u16) -> u16 { + crate::ports::select_platform_loopback_port(requested) + } + + async fn load_settings(&self) -> anyhow::Result { + SettingsStore::default().load() + } + + async fn run_provider_sync(&self) -> anyhow::Result<()> { + anyhow::bail!("provider sync requires launcher hooks with codex-plus-data integration") + } + + async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.relay_profiles_enabled { + return Ok(()); + } + let profile = settings.active_relay_profile(); + let home = crate::relay_config::default_codex_home_dir(); + let common_config = crate::relay_config::normalize_config_text( + &[ + settings.relay_common_config_contents.as_str(), + settings.relay_context_config_contents.as_str(), + ] + .into_iter() + .map(str::trim) + .filter(|section| !section.is_empty()) + .collect::>() + .join("\n\n"), + ); + if profile.relay_mode == crate::settings::RelayMode::Official + && !profile.official_mix_api_key + { + let auth_contents = (!profile.auth_contents.trim().is_empty()) + .then_some(profile.auth_contents.as_str()); + crate::relay_config::clear_relay_config_to_home_with_auth_and_computer_use_guard( + &home, + auth_contents, + settings.computer_use_guard_enabled, + )?; + return Ok(()); + } + crate::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + &home, + &profile, + &common_config, + settings.computer_use_guard_enabled, + )?; + Ok(()) + } + + async fn ensure_computer_use_config(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home)?; + crate::computer_use_guard::ensure_computer_use_config_with_artifacts(&home, &artifacts)?; + *self.computer_use_guard_artifacts.lock().await = Some(artifacts); + Ok(()) + } + + async fn ensure_plugin_marketplace_config( + &self, + settings: &BackendSettings, + ) -> anyhow::Result<()> { + if !settings.codex_app_plugin_marketplace_unlock { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + match crate::plugin_marketplace::ensure_openai_curated_marketplace_config(&home) { + Ok(configured) => { + if configured { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.openai_curated_marketplace_configured", + serde_json::json!({ + "home": home, + }), + ); + } + } + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.openai_curated_marketplace_config_failed", + serde_json::json!({ + "home": home, + "message": error.to_string(), + }), + ); + } + } + Ok(()) + } + + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { + let bind_host = helper_bind_host(); + let listener = tokio::net::TcpListener::bind((bind_host.as_str(), helper_port)) + .await + .with_context(|| { + format!("failed to bind helper runtime on {bind_host}:{helper_port}") + })?; + let _ = crate::diagnostic_log::append_diagnostic_log( + "helper.listening", + serde_json::json!({ + "helper_port": helper_port, + "bind_host": bind_host, + "address": format!("http://{bind_host}:{helper_port}") + }), + ); + let (shutdown_tx, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + accepted = listener.accept() => { + if let Ok((stream, addr)) = accepted { + tokio::spawn(async move { + let _ = handle_helper_connection(stream, Some(addr)).await; + }); + } + } + } + } + }); + *self.helper.lock().await = Some(HelperRuntime { + shutdown: shutdown_tx, + task, + }); + self.start_mobile_relay_host(helper_port).await?; + Ok(()) + } + + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result { + let native_menu_localization_enabled = settings.codex_app_native_menu_localization; + let native_menu_inspector_port = + native_menu_localization_enabled.then(|| select_native_menu_inspector_port(debug_port)); + if cfg!(windows) { + let activation = if let Some(inspector_port) = native_menu_inspector_port { + build_packaged_activation_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + extra_args, + ) + } else { + build_packaged_activation(app_dir, debug_port, extra_args) + }; + if let Some(activation) = activation { + let CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + .. + } = &activation + else { + unreachable!(); + }; + let process_id = activate_packaged_app(app_user_model_id, arguments).await?; + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + return Ok(match activation { + CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + .. + } => CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + process_id: Some(process_id), + }, + CodexLaunch::Process { .. } => unreachable!(), + }); + } + } + + if app_dir.extension().and_then(|value| value.to_str()) == Some("app") { + let cleanup_policy = if is_macos_app_running(app_dir).await { + MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning + } else { + MacosCleanupPolicy::QuitIfNotPreviouslyRunning + }; + let command = if let Some(inspector_port) = native_menu_inspector_port { + build_macos_open_command_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + extra_args, + ) + } else { + build_macos_open_command(app_dir, debug_port, extra_args) + }; + let executable = command + .first() + .ok_or_else(|| anyhow::anyhow!("macOS open command is empty"))?; + let child = Command::new(executable) + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .spawn() + .context("failed to launch macOS Codex app")?; + *self.child.lock().await = Some(child); + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + return Ok(CodexLaunch::Process { + command, + wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, + macos_cleanup_policy: Some(cleanup_policy), + }); + } + + let command = if let Some(inspector_port) = native_menu_inspector_port { + build_codex_command_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + extra_args, + ) + } else { + build_codex_command(app_dir, debug_port, extra_args) + }; + let executable = command + .first() + .ok_or_else(|| anyhow::anyhow!("Codex command is empty"))?; + let mut child_command = Command::new(executable); + child_command + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()); + #[cfg(windows)] + child_command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); + let child = child_command + .spawn() + .with_context(|| format!("failed to launch Codex executable {executable}"))?; + *self.child.lock().await = Some(child); + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + Ok(CodexLaunch::Process { + command, + wait_strategy: ProcessWaitStrategy::TrackedChild, + macos_cleanup_policy: None, + }) + } + + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + retry_injection(debug_port, helper_port).await + } + async fn start_bridge_watchdog(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + let mut interval = tokio::time::interval(std::time::Duration::from_secs(5)); + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + _ = interval.tick() => { + let _ = check_and_reinject_bridge(debug_port, helper_port).await; + } + } + } + }); + if let Some(runtime) = self + .bridge_watchdog + .lock() + .await + .replace(BridgeWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + Ok(()) + } + + async fn start_computer_use_guard_watchdog( + &self, + settings: &BackendSettings, + ) -> anyhow::Result<()> { + #[cfg(windows)] + { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = self.computer_use_guard_artifacts.lock().await.clone(); + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + run_post_launch_computer_use_guard(home, artifacts, &mut shutdown_rx).await; + }); + if let Some(runtime) = self + .computer_use_guard_watchdog + .lock() + .await + .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + #[cfg(target_os = "macos")] + { + let _ = &settings; + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + _ = tokio::time::sleep(std::time::Duration::from_secs(120)) => { + crate::computer_use_guard::kill_orphaned_computer_use_processes(); + } + } + } + }); + if let Some(runtime) = self + .computer_use_guard_watchdog + .lock() + .await + .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + Ok(()) + } + + async fn write_status(&self, _status: &str) {} + + async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()> { + match launch { + CodexLaunch::Process { .. } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.wait().await; + } + } + CodexLaunch::PackagedActivation { process_id, .. } => { + if let Some(process_id) = process_id { + wait_for_windows_process_id(*process_id).await?; + } + } + } + let mut empty_streak = 0u32; + loop { + if crate::watcher::find_codex_processes().is_empty() { + empty_streak = empty_streak.saturating_add(1); + if empty_streak >= 3 { + break; + } + } else { + empty_streak = 0; + } + tokio::time::sleep(std::time::Duration::from_secs(2)).await; + } + Ok(()) + } + + async fn shutdown_helper(&self, _helper_port: u16) { + if let Some(runtime) = self.mobile_relay_host.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + if let Some(runtime) = self.computer_use_guard_watchdog.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + if let Some(runtime) = self.bridge_watchdog.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + if let Some(runtime) = self.helper.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + + async fn terminate_codex(&self, launch: &CodexLaunch) { + match launch { + CodexLaunch::Process { + wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, + command, + macos_cleanup_policy, + } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.kill().await; + } + if let (Some(app_dir), Some(cleanup_policy)) = ( + macos_app_dir_from_open_command(command), + *macos_cleanup_policy, + ) { + let _ = run_macos_cleanup_command(&app_dir, cleanup_policy).await; + } + } + CodexLaunch::Process { .. } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.kill().await; + } + } + CodexLaunch::PackagedActivation { + process_id: Some(process_id), + .. + } => { + let _ = terminate_windows_process_id(*process_id).await; + } + CodexLaunch::PackagedActivation { + process_id: None, .. + } => {} + } + } +} + +struct AppServerRuntime { + port: u16, + source: &'static str, + child: Option>, +} + +impl AppServerRuntime { + async fn process_id(&self) -> Option { + self.child.as_ref()?.lock().await.id() + } +} + +static APP_SERVER_RUNTIME: OnceLock>>> = OnceLock::new(); + +async fn handle_helper_connection( + mut stream: tokio::net::TcpStream, + remote_addr: Option, +) -> anyhow::Result<()> { + let request_bytes = read_http_request(&mut stream).await?; + let request = String::from_utf8_lossy(&request_bytes); + let request_line = request.lines().next().unwrap_or_default(); + let mut parts = request_line.split_whitespace(); + let method = parts.next().unwrap_or_default(); + let raw_path = parts.next().unwrap_or_default(); + let path = raw_path.split('?').next().unwrap_or(raw_path); + let request_body = http_request_body(&request); + let request_user_agent = header_value_from_request(&request, "user-agent"); + let remote_addr_text = remote_addr.map(|addr| addr.to_string()); + + let _ = crate::diagnostic_log::append_diagnostic_log( + "helper.request", + serde_json::json!({ + "method": method, + "path": path, + "request_line": request_line, + "remote_addr": remote_addr_text, + "body_bytes": request_body.len() + }), + ); + + if path == "/mobile" && matches!(method, "GET" | "OPTIONS") { + return handle_mobile_page_connection(&mut stream, method).await; + } + if path == "/app-server/ws" && matches!(method, "GET" | "OPTIONS") { + return handle_app_server_websocket_proxy_connection(&mut stream, &request, method).await; + } + if path == "/app-server/rpc" && matches!(method, "POST" | "OPTIONS") { + return handle_app_server_rpc_connection(&mut stream, method, request_body).await; + } + if path == "/app-server/status" && matches!(method, "GET" | "OPTIONS") { + return handle_app_server_status_connection(&mut stream, method).await; + } + + if crate::protocol_proxy::is_responses_proxy_path(path) && method == "POST" { + return handle_protocol_proxy_connection( + &mut stream, + request_body, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + if crate::protocol_proxy::is_chat_completions_proxy_path(path) && method == "POST" { + return handle_chat_completions_proxy_connection( + &mut stream, + request_body, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + if crate::protocol_proxy::is_models_proxy_path(path) && matches!(method, "GET" | "OPTIONS") { + return handle_models_proxy_connection( + &mut stream, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + + let (status, body, content_type, log_event) = + if matches!(path, "/backend/status" | "/backend/repair") + && matches!(method, "GET" | "POST" | "OPTIONS") + { + ( + "200 OK".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "ok", + "message": "后端已连接", + "version": crate::version::VERSION, + "transport": "http-helper" + }))?, + "application/json; charset=utf-8".to_string(), + if path == "/backend/status" { + "helper.backend_status_ok" + } else { + "helper.backend_repair_ok" + }, + ) + } else if path == "/diagnostics/log" && matches!(method, "POST" | "OPTIONS") { + if method == "POST" { + let detail = serde_json::from_str::(request_body) + .unwrap_or_else(|error| { + serde_json::json!({ + "parse_error": error.to_string(), + "raw": request_body + }) + }); + let event = detail + .get("event") + .and_then(serde_json::Value::as_str) + .map(sanitize_diagnostic_event) + .unwrap_or_else(|| "event".to_string()); + let _ = crate::diagnostic_log::append_diagnostic_log( + &format!("renderer.{event}"), + detail, + ); + } + ( + "200 OK".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "ok", + "message": "日志已记录" + }))?, + "application/json; charset=utf-8".to_string(), + "helper.diagnostics_log_ok", + ) + } else if path == "/overlay/image" && matches!(method, "GET" | "OPTIONS") { + if method == "OPTIONS" { + ( + "200 OK".to_string(), + Vec::new(), + "application/octet-stream".to_string(), + "helper.overlay_image_options", + ) + } else { + overlay_image_response() + } + } else { + ( + "404 Not Found".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": "未知后端路径" + }))?, + "application/json; charset=utf-8".to_string(), + "helper.unknown_path", + ) + }; + let _ = crate::diagnostic_log::append_diagnostic_log( + log_event, + serde_json::json!({ + "method": method, + "path": path, + "status": status, + "remote_addr": remote_addr_text + }), + ); + let response = if method == "OPTIONS" { + format!( + "HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n" + ) + } else { + format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ) + }; + stream.write_all(response.as_bytes()).await?; + if method != "OPTIONS" { + stream.write_all(&body).await?; + } + stream.shutdown().await?; + Ok(()) +} + +#[derive(Debug, Clone)] +struct MobileRelayHostConfig { + relay_url: String, + room: String, + token: String, + encryption_key: String, +} + +struct MobileRelayAppServerSession { + sender: mpsc::UnboundedSender, +} + +impl MobileRelayHostConfig { + fn from_settings_and_env(settings: &BackendSettings) -> Option { + if !settings.mobile_control_enabled && std::env::var("CODEX_PLUS_MOBILE_RELAY_URL").is_err() + { + return None; + } + let relay_url = env_or_setting( + "CODEX_PLUS_MOBILE_RELAY_URL", + &settings.mobile_control_relay_url, + )?; + let room = env_or_setting( + "CODEX_PLUS_MOBILE_RELAY_ROOM", + &settings.mobile_control_room, + )?; + let token = std::env::var("CODEX_PLUS_MOBILE_RELAY_TOKEN") + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| room.clone()); + let encryption_key = + env_or_setting("CODEX_PLUS_MOBILE_RELAY_KEY", &settings.mobile_control_key)?; + Some(Self { + relay_url, + room, + token, + encryption_key, + }) + } + + fn cipher(&self) -> Aes256Gcm { + mobile_relay_cipher(&self.encryption_key) + } + + fn host_url(&self) -> String { + let separator = if self.relay_url.contains('?') { + '&' + } else { + '?' + }; + let role_path_url = + if self.relay_url.ends_with("/host") || self.relay_url.contains("/host?") { + self.relay_url.clone() + } else { + format!("{}/host", self.relay_url.trim_end_matches('/')) + }; + format!( + "{role_path_url}{separator}room={}&token={}", + percent_encode_query(&self.room), + percent_encode_query(&self.token) + ) + } +} + +fn env_or_setting(env_name: &str, setting: &str) -> Option { + std::env::var(env_name) + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .or_else(|| { + let value = setting.trim(); + (!value.is_empty()).then(|| value.to_string()) + }) +} + +async fn run_mobile_relay_host( + helper_port: u16, + config: MobileRelayHostConfig, + shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, +) { + let mut retry_delay = std::time::Duration::from_secs(1); + loop { + tokio::select! { + _ = &mut *shutdown_rx => break, + result = run_mobile_relay_host_once(helper_port, &config) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.host_disconnected", + serde_json::json!({ + "helper_port": helper_port, + "relay_url": config.relay_url, + "room": config.room, + "message": result.err().map(|error| error.to_string()) + }), + ); + } + } + tokio::select! { + _ = &mut *shutdown_rx => break, + _ = tokio::time::sleep(retry_delay) => {} + } + retry_delay = (retry_delay * 2).min(std::time::Duration::from_secs(30)); + } +} + +async fn run_mobile_relay_host_once( + helper_port: u16, + config: &MobileRelayHostConfig, +) -> anyhow::Result<()> { + let host_url = config.host_url(); + let (mut socket, _) = tokio_tungstenite::connect_async(&host_url) + .await + .with_context(|| format!("failed to connect mobile relay host {host_url}"))?; + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.host_connected", + serde_json::json!({ + "helper_port": helper_port, + "relay_url": config.relay_url, + "room": config.room + }), + ); + let cipher = config.cipher(); + let (relay_tx, mut relay_rx) = mpsc::unbounded_channel::(); + let mut sessions: std::collections::HashMap = + std::collections::HashMap::new(); + loop { + tokio::select! { + relay_message = relay_rx.recv() => { + let Some(relay_message) = relay_message else { + break; + }; + socket + .send(relay_message) + .await + .context("failed to send mobile relay async message")?; + continue; + } + inbound = socket.next() => { + let Some(inbound) = inbound else { + break; + }; + let message = inbound.context("failed to read mobile relay message")?; + if message.is_close() { + break; + } + let Some(response) = handle_mobile_relay_host_message( + helper_port, + &cipher, + message, + relay_tx.clone(), + &mut sessions, + ).await + else { + continue; + }; + socket + .send(Message::Text(response.to_string().into())) + .await + .context("failed to send mobile relay response")?; + } + } + } + for (_, sender) in sessions { + let _ = sender.sender.send(Message::Close(None)); + } + Ok(()) +} + +async fn handle_mobile_relay_host_message( + helper_port: u16, + cipher: &Aes256Gcm, + message: Message, + relay_tx: mpsc::UnboundedSender, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let text = match message { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => String::from_utf8(bytes.to_vec()).ok()?, + _ => return None, + }; + let envelope = serde_json::from_str::(&text).ok()?; + let plaintext_mode = envelope.get("type").and_then(Value::as_str) == Some("plaintext"); + let request = decrypt_mobile_relay_request(cipher, &envelope).ok()?; + if request.get("type").and_then(Value::as_str) == Some("appServerConnect") { + return handle_mobile_relay_app_server_connect( + helper_port, + cipher, + &request, + plaintext_mode, + relay_tx, + app_server_sessions, + ) + .await; + } + if request.get("type").and_then(Value::as_str) == Some("appServerMessage") { + return handle_mobile_relay_app_server_message(&request, app_server_sessions).await; + } + if request.get("type").and_then(Value::as_str) == Some("appServerClose") { + return handle_mobile_relay_app_server_close(&request, app_server_sessions).await; + } + if request.get("type").and_then(Value::as_str) != Some("httpRequest") { + return None; + } + let id = request.get("id").cloned().unwrap_or(Value::Null); + let response = match proxy_mobile_relay_http_request(helper_port, &request).await { + Ok(response) => serde_json::json!({ + "type": "httpResponse", + "id": id, + "status": response.status, + "headers": response.headers, + "body": response.body + }), + Err(error) => serde_json::json!({ + "type": "httpResponse", + "id": id, + "status": 502, + "headers": {"content-type": "application/json; charset=utf-8"}, + "body": serde_json::json!({ + "status": "failed", + "message": error.to_string() + }).to_string() + }), + }; + encode_mobile_relay_payload(cipher, plaintext_mode, &response).ok() +} + +async fn handle_mobile_relay_app_server_connect( + _helper_port: u16, + cipher: &Aes256Gcm, + request: &Value, + plaintext_mode: bool, + relay_tx: mpsc::UnboundedSender, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let id = request.get("id").cloned().unwrap_or(Value::Null); + let session_id = request + .get("sessionId") + .and_then(Value::as_str) + .map(str::to_string) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); + if let Some(previous) = app_server_sessions.remove(&session_id) { + let _ = previous.sender.send(Message::Close(None)); + } + let (app_tx, app_rx) = mpsc::unbounded_channel::(); + app_server_sessions.insert( + session_id.clone(), + MobileRelayAppServerSession { sender: app_tx }, + ); + let session_cipher = cipher.clone(); + tokio::spawn(run_mobile_relay_app_server_session( + session_cipher, + plaintext_mode, + relay_tx, + session_id.clone(), + app_rx, + )); + encode_mobile_relay_payload( + &cipher, + plaintext_mode, + &serde_json::json!({ + "type": "appServerConnected", + "id": id, + "sessionId": session_id + }), + ) + .ok() +} + +async fn handle_mobile_relay_app_server_message( + request: &Value, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let session_id = request.get("sessionId").and_then(Value::as_str)?; + let text = request.get("message").and_then(Value::as_str)?; + let session = app_server_sessions.get(session_id)?; + let _ = session.sender.send(Message::Text(text.to_string().into())); + None +} + +async fn handle_mobile_relay_app_server_close( + request: &Value, + app_server_sessions: &mut std::collections::HashMap, +) -> Option { + let session_id = request.get("sessionId").and_then(Value::as_str)?; + if let Some(sender) = app_server_sessions.remove(session_id) { + let _ = sender.sender.send(Message::Close(None)); + } + None +} + +async fn run_mobile_relay_app_server_session( + cipher: Aes256Gcm, + plaintext_mode: bool, + relay_tx: mpsc::UnboundedSender, + session_id: String, + mut app_rx: mpsc::UnboundedReceiver, +) { + let result = async { + let runtime = ensure_app_server_runtime().await?; + let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); + let (mut upstream, _) = tokio_tungstenite::connect_async(&url) + .await + .with_context(|| format!("failed to connect Codex app-server {url}"))?; + loop { + tokio::select! { + outbound = app_rx.recv() => { + let Some(outbound) = outbound else { + break; + }; + if outbound.is_close() { + break; + } + upstream + .send(outbound) + .await + .context("failed to send app-server message")?; + } + inbound = upstream.next() => { + let Some(inbound) = inbound else { + break; + }; + let inbound = inbound.context("failed to read app-server message")?; + if inbound.is_close() { + break; + } + let message = match inbound { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => String::from_utf8(bytes.to_vec()) + .context("app-server returned non-utf8 binary")?, + Message::Ping(_) | Message::Pong(_) => continue, + Message::Close(_) => break, + Message::Frame(_) => continue, + }; + if let Ok(value) = serde_json::from_str::(&message) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "mobile_relay.app_server_message", + serde_json::json!({ + "sessionId": session_id, + "id": value.get("id").cloned().unwrap_or(Value::Null), + "method": value.get("method").and_then(Value::as_str), + "hasError": value.get("error").is_some() + }), + ); + } + let envelope = encode_mobile_relay_payload( + &cipher, + plaintext_mode, + &serde_json::json!({ + "type": "appServerMessage", + "sessionId": session_id, + "message": message + }), + )?; + let _ = relay_tx.send(Message::Text(envelope.to_string().into())); + } + } + } + anyhow::Ok(()) + } + .await; + let detail = match result { + Ok(()) => serde_json::json!({ + "type": "appServerClosed", + "sessionId": session_id + }), + Err(error) => serde_json::json!({ + "type": "appServerClosed", + "sessionId": session_id, + "error": error.to_string() + }), + }; + if let Ok(envelope) = encrypt_mobile_relay_payload(&cipher, &detail) { + let _ = relay_tx.send(Message::Text(envelope.to_string().into())); + } +} + +struct MobileRelayHttpResponse { + status: u16, + headers: serde_json::Map, + body: String, +} + +async fn proxy_mobile_relay_http_request( + helper_port: u16, + request: &serde_json::Value, +) -> anyhow::Result { + let method = request + .get("method") + .and_then(Value::as_str) + .unwrap_or("GET") + .to_ascii_uppercase(); + let path = request + .get("path") + .and_then(Value::as_str) + .filter(|path| path.starts_with('/')) + .unwrap_or("/"); + let body = request.get("body").and_then(Value::as_str).unwrap_or(""); + let mut stream = tokio::net::TcpStream::connect(("127.0.0.1", helper_port)) + .await + .with_context(|| format!("failed to connect helper on 127.0.0.1:{helper_port}"))?; + let content_type = request + .get("headers") + .and_then(Value::as_object) + .and_then(|headers| { + headers + .get("content-type") + .or_else(|| headers.get("Content-Type")) + .and_then(Value::as_str) + }) + .unwrap_or("application/json; charset=utf-8"); + let wire = format!( + "{method} {path} HTTP/1.1\r\nHost: 127.0.0.1:{helper_port}\r\nContent-Type: {content_type}\r\nContent-Length: {}\r\nConnection: close\r\n\r\n{body}", + body.as_bytes().len() + ); + stream.write_all(wire.as_bytes()).await?; + stream.shutdown().await?; + let mut response_bytes = Vec::new(); + stream.read_to_end(&mut response_bytes).await?; + parse_mobile_relay_http_response(&response_bytes) +} + +fn parse_mobile_relay_http_response(bytes: &[u8]) -> anyhow::Result { + let text = String::from_utf8_lossy(bytes); + let (header_text, body) = text + .split_once("\r\n\r\n") + .ok_or_else(|| anyhow::anyhow!("helper returned an invalid HTTP response"))?; + let mut lines = header_text.lines(); + let status_line = lines.next().unwrap_or_default(); + let status = status_line + .split_whitespace() + .nth(1) + .and_then(|value| value.parse::().ok()) + .unwrap_or(502); + let mut headers = serde_json::Map::new(); + for line in lines { + let Some((name, value)) = line.split_once(':') else { + continue; + }; + headers.insert( + name.trim().to_ascii_lowercase(), + Value::String(value.trim().to_string()), + ); + } + Ok(MobileRelayHttpResponse { + status, + headers, + body: body.to_string(), + }) +} + +fn percent_encode_query(value: &str) -> String { + let mut encoded = String::new(); + for byte in value.bytes() { + match byte { + b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'.' | b'_' | b'~' => { + encoded.push(byte as char) + } + _ => encoded.push_str(&format!("%{byte:02X}")), + } + } + encoded +} + +fn mobile_relay_cipher(key_text: &str) -> Aes256Gcm { + let digest = Sha256::digest(key_text.as_bytes()); + Aes256Gcm::new_from_slice(&digest).expect("sha256 always returns 32 bytes") +} + +fn mobile_relay_nonce() -> [u8; 12] { + let now = now_ms(); + let mut nonce = [0_u8; 12]; + nonce[..8].copy_from_slice(&now.to_le_bytes()); + let random = uuid::Uuid::new_v4(); + nonce[8..].copy_from_slice(&random.as_bytes()[..4]); + nonce +} + +fn encrypt_mobile_relay_payload(cipher: &Aes256Gcm, payload: &Value) -> anyhow::Result { + let nonce = mobile_relay_nonce(); + let plaintext = serde_json::to_vec(payload)?; + let ciphertext = cipher + .encrypt(Nonce::from_slice(&nonce), plaintext.as_slice()) + .map_err(|_| anyhow::anyhow!("手机控制数据加密失败"))?; + Ok(serde_json::json!({ + "type": "encrypted", + "nonce": URL_SAFE_NO_PAD.encode(nonce), + "payload": URL_SAFE_NO_PAD.encode(ciphertext) + })) +} + +fn encode_mobile_relay_payload( + cipher: &Aes256Gcm, + plaintext_mode: bool, + payload: &Value, +) -> anyhow::Result { + if plaintext_mode { + return Ok(serde_json::json!({ + "type": "plaintext", + "payload": payload + })); + } + encrypt_mobile_relay_payload(cipher, payload) +} + +fn decrypt_mobile_relay_request(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { + if envelope.get("type").and_then(Value::as_str) == Some("plaintext") { + return envelope + .get("payload") + .cloned() + .ok_or_else(|| anyhow::anyhow!("手机控制明文数据包缺少 payload")); + } + decrypt_mobile_relay_envelope(cipher, envelope) +} + +fn decrypt_mobile_relay_envelope(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { + if envelope.get("type").and_then(Value::as_str) != Some("encrypted") { + anyhow::bail!("手机控制数据包未加密"); + } + let nonce_text = envelope + .get("nonce") + .and_then(Value::as_str) + .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 nonce"))?; + let payload_text = envelope + .get("payload") + .and_then(Value::as_str) + .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 payload"))?; + let nonce = URL_SAFE_NO_PAD.decode(nonce_text)?; + if nonce.len() != 12 { + anyhow::bail!("手机控制 nonce 长度无效"); + } + let ciphertext = URL_SAFE_NO_PAD.decode(payload_text)?; + let plaintext = cipher + .decrypt(Nonce::from_slice(&nonce), ciphertext.as_slice()) + .map_err(|_| anyhow::anyhow!("手机控制数据解密失败"))?; + Ok(serde_json::from_slice(&plaintext)?) +} + +fn overlay_image_response() -> (String, Vec, String, &'static str) { + let not_found = || { + ( + "404 Not Found".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": "图片覆盖层未启用或图片不可用" + })) + .unwrap_or_default(), + "application/json; charset=utf-8".to_string(), + "helper.overlay_image_not_found", + ) + }; + let settings = SettingsStore::default().load().unwrap_or_default(); + if !settings.codex_app_image_overlay_enabled { + return not_found(); + } + let image_path = PathBuf::from(settings.codex_app_image_overlay_path.trim()); + if image_path.as_os_str().is_empty() || !image_path.is_file() { + return not_found(); + } + let Some(content_type) = overlay_image_content_type(&image_path) else { + return not_found(); + }; + match std::fs::read(&image_path) { + Ok(bytes) => ( + "200 OK".to_string(), + bytes, + content_type.to_string(), + "helper.overlay_image_ok", + ), + Err(_) => not_found(), + } +} + +fn overlay_image_content_type(path: &Path) -> Option<&'static str> { + match path + .extension() + .and_then(|extension| extension.to_str()) + .map(str::to_ascii_lowercase) + .as_deref() + { + Some("png") => Some("image/png"), + Some("jpg") | Some("jpeg") => Some("image/jpeg"), + Some("webp") => Some("image/webp"), + Some("gif") => Some("image/gif"), + Some("bmp") => Some("image/bmp"), + _ => None, + } +} + +async fn handle_mobile_page_connection( + stream: &mut tokio::net::TcpStream, + method: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + write_http_no_store_response( + stream, + "200 OK", + "text/html; charset=utf-8", + mobile_page_html(&serde_json::to_string(&mobile_model_catalog_value())?).as_bytes(), + ) + .await?; + stream.shutdown().await?; + Ok(()) +} + +async fn handle_app_server_status_connection( + stream: &mut tokio::net::TcpStream, + method: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let body = serde_json::to_vec(&app_server_status_response().await)?; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + stream.shutdown().await?; + Ok(()) +} + +async fn handle_app_server_rpc_connection( + stream: &mut tokio::net::TcpStream, + method: &str, + request_body: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let payload = serde_json::from_str::(request_body).unwrap_or_else(|error| { + serde_json::json!({ + "jsonrpc": "2.0", + "id": null, + "error": {"code": -32700, "message": error.to_string()} + }) + }); + let body = match app_server_rpc_once(payload).await { + Ok(response) => serde_json::to_vec(&response)?, + Err(error) => serde_json::to_vec(&serde_json::json!({ + "jsonrpc": "2.0", + "id": null, + "error": {"code": -32000, "message": error.to_string()} + }))?, + }; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + stream.shutdown().await?; + Ok(()) +} + +async fn app_server_rpc_once(payload: Value) -> anyhow::Result { + let runtime = ensure_app_server_runtime().await?; + let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); + let (mut socket, _) = tokio_tungstenite::connect_async(&url) + .await + .with_context(|| format!("failed to connect Codex app-server {url}"))?; + if payload.get("method").and_then(Value::as_str) != Some("initialize") { + let init_id = "__codex_plus_mobile_init__"; + let init_payload = serde_json::json!({ + "jsonrpc": "2.0", + "id": init_id, + "method": "initialize", + "params": { + "clientInfo": {"name": "Codex++ Mobile Relay", "version": "1.0.0"}, + "capabilities": {"experimentalApi": true} + } + }); + socket + .send(Message::Text(init_payload.to_string().into())) + .await + .context("failed to send app-server initialize")?; + let init_response = read_app_server_rpc_response( + &mut socket, + Some(Value::String(init_id.to_string())), + std::time::Duration::from_secs(20), + ) + .await?; + if let Some(error) = init_response.get("error") { + anyhow::bail!("app-server initialize failed: {error}"); + } + } + socket + .send(Message::Text(payload.to_string().into())) + .await + .context("failed to send app-server rpc")?; + let requested_id = payload.get("id").cloned(); + if payload.get("method").and_then(Value::as_str) == Some("turn/start") { + let thread_id = payload + .get("params") + .and_then(|params| params.get("threadId").or_else(|| params.get("thread_id"))) + .and_then(Value::as_str) + .map(str::to_string); + let response = read_app_server_rpc_response( + &mut socket, + requested_id, + std::time::Duration::from_secs(60), + ) + .await?; + if response.get("error").is_none() { + tokio::spawn(async move { + drain_app_server_turn_socket( + socket, + thread_id, + std::time::Duration::from_secs(600), + ) + .await; + }); + } + Ok(response) + } else { + read_app_server_rpc_response( + &mut socket, + requested_id, + std::time::Duration::from_secs(60), + ) + .await + } +} + +async fn read_app_server_rpc_response( + socket: &mut tokio_tungstenite::WebSocketStream< + tokio_tungstenite::MaybeTlsStream, + >, + requested_id: Option, + timeout: std::time::Duration, +) -> anyhow::Result { + let deadline = tokio::time::sleep(timeout); + tokio::pin!(deadline); + loop { + tokio::select! { + _ = &mut deadline => anyhow::bail!("app-server rpc timed out"), + message = socket.next() => { + let Some(message) = message else { + anyhow::bail!("app-server rpc connection closed"); + }; + let message = message.context("failed to read app-server rpc")?; + let response = app_server_message_json(message)?; + if response.get("id") == requested_id.as_ref() { + return Ok(response); + } + } + } + } +} + +async fn drain_app_server_turn_socket( + mut socket: tokio_tungstenite::WebSocketStream< + tokio_tungstenite::MaybeTlsStream, + >, + thread_id: Option, + timeout: std::time::Duration, +) { + let deadline = tokio::time::sleep(timeout); + tokio::pin!(deadline); + loop { + tokio::select! { + _ = &mut deadline => { + break; + } + message = socket.next() => { + let Some(message) = message else { + break; + }; + let Ok(message) = message else { + break; + }; + if matches!(message, Message::Ping(_) | Message::Pong(_)) { + continue; + } + let Ok(value) = app_server_message_json(message) else { + continue; + }; + if app_server_turn_finished_for_thread(&value, thread_id.as_deref()) { + break; + } + } + } + } + let _ = socket.close(None).await; +} + +fn app_server_message_json(message: Message) -> anyhow::Result { + let text = match message { + Message::Text(text) => text.to_string(), + Message::Binary(bytes) => { + String::from_utf8(bytes.to_vec()).context("app-server rpc returned non-utf8 binary")? + } + Message::Close(_) => anyhow::bail!("app-server rpc connection closed"), + _ => anyhow::bail!("app-server rpc returned unsupported websocket frame"), + }; + serde_json::from_str::(&text).context("app-server rpc returned invalid json") +} + +fn app_server_turn_finished_for_thread(message: &Value, thread_id: Option<&str>) -> bool { + let method = message + .get("method") + .and_then(Value::as_str) + .unwrap_or_default(); + if !matches!( + method, + "turn/completed" | "turn/failed" | "turn/cancelled" | "thread/status/changed" + ) { + return false; + } + if method == "thread/status/changed" + && !matches!( + message + .get("params") + .and_then(|params| params.get("status")) + .and_then(Value::as_str), + Some("idle" | "completed" | "failed" | "cancelled") + ) + { + return false; + } + let Some(expected) = thread_id else { + return true; + }; + app_server_event_thread_id(message) + .as_deref() + .map(|actual| actual == expected) + .unwrap_or_else(|| message.to_string().contains(expected)) +} + +fn app_server_event_thread_id(message: &Value) -> Option { + let params = message.get("params")?; + params + .get("threadId") + .or_else(|| params.get("thread_id")) + .or_else(|| params.get("thread").and_then(|thread| thread.get("id"))) + .or_else(|| params.get("turn").and_then(|turn| turn.get("threadId"))) + .or_else(|| params.get("turn").and_then(|turn| turn.get("thread_id"))) + .or_else(|| params.get("item").and_then(|item| item.get("threadId"))) + .or_else(|| params.get("item").and_then(|item| item.get("thread_id"))) + .and_then(Value::as_str) + .map(str::to_string) +} + +async fn handle_app_server_websocket_proxy_connection( + stream: &mut tokio::net::TcpStream, + request: &str, + method: &str, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_options_response(stream).await?; + stream.shutdown().await?; + return Ok(()); + } + let runtime = match ensure_app_server_runtime().await { + Ok(runtime) => runtime, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + stream.shutdown().await?; + return Ok(()); + } + }; + let upstream_request = rewrite_app_server_ws_request(request, runtime.port); + let mut upstream = tokio::net::TcpStream::connect(("127.0.0.1", runtime.port)).await?; + upstream.write_all(upstream_request.as_bytes()).await?; + let _ = tokio::io::copy_bidirectional(stream, &mut upstream).await?; + stream.shutdown().await?; + Ok(()) +} + +fn rewrite_app_server_ws_request(request: &str, app_server_port: u16) -> String { + let mut out = format!("GET /rpc HTTP/1.1\r\nHost: 127.0.0.1:{app_server_port}\r\n"); + for line in request.lines().skip(1) { + if line.is_empty() { + break; + } + let Some((name, _)) = line.split_once(':') else { + continue; + }; + let name = name.trim(); + if name.eq_ignore_ascii_case("host") + || name.eq_ignore_ascii_case("origin") + || name.eq_ignore_ascii_case("sec-websocket-protocol") + { + continue; + } + out.push_str(line); + out.push_str("\r\n"); + } + out.push_str("\r\n"); + out +} + +async fn app_server_status_response() -> Value { + match ensure_app_server_runtime().await { + Ok(runtime) => serde_json::json!({ + "status": "ok", + "port": runtime.port, + "pid": runtime.process_id().await, + "source": runtime.source, + "rpcUrl": format!("ws://127.0.0.1:{}/rpc", runtime.port), + "transport": "codex-app-server" + }), + Err(error) => serde_json::json!({ + "status": "failed", + "message": error.to_string() + }), + } +} + +async fn ensure_app_server_runtime() -> anyhow::Result> { + let runtime_slot = APP_SERVER_RUNTIME.get_or_init(|| Mutex::new(None)); + let mut guard = runtime_slot.lock().await; + if let Some(runtime) = guard.as_ref() { + if app_server_ready(runtime.port).await { + return Ok(runtime.clone()); + } + } + if let Some(runtime) = existing_app_server_runtime().await { + *guard = Some(runtime.clone()); + return Ok(runtime); + } + let runtime = Arc::new(start_app_server_runtime().await?); + *guard = Some(runtime.clone()); + Ok(runtime) +} + +async fn existing_app_server_runtime() -> Option> { + for key in ["CODEX_PLUS_APP_SERVER_URL", "CODEX_APP_SERVER_URL"] { + let Ok(value) = std::env::var(key) else { + continue; + }; + let Some(port) = app_server_port_from_url(&value) else { + continue; + }; + if app_server_ready(port).await { + return Some(Arc::new(AppServerRuntime { + port, + source: "external", + child: None, + })); + } + } + None +} + +fn app_server_port_from_url(value: &str) -> Option { + let trimmed = value.trim(); + let without_scheme = trimmed + .strip_prefix("ws://") + .or_else(|| trimmed.strip_prefix("http://"))?; + let authority = without_scheme.split('/').next().unwrap_or(without_scheme); + let (host, port) = authority.rsplit_once(':')?; + matches!(host, "127.0.0.1" | "localhost").then(|| port.parse().ok())? +} + +async fn start_app_server_runtime() -> anyhow::Result { + let port = reserve_app_server_port()?; + let codex = resolve_codex_cli_path(); + let mut command = Command::new(&codex); + command + .arg("app-server") + .arg("--listen") + .arg(format!("ws://127.0.0.1:{port}")) + .kill_on_drop(true) + .stdin(Stdio::null()) + .stdout(Stdio::null()) + .stderr(Stdio::null()); + #[cfg(windows)] + command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); + let child = command + .spawn() + .with_context(|| format!("无法启动 Codex app-server:{codex}"))?; + wait_for_app_server_ready(port).await?; + Ok(AppServerRuntime { + port, + source: "managed", + child: Some(Mutex::new(child)), + }) +} + +fn resolve_codex_cli_path() -> String { + std::env::var("CODEX_CLI_PATH") + .ok() + .filter(|path| !path.trim().is_empty()) + .filter(|path| Path::new(path).is_file()) + .or_else(|| { + crate::cli_wrapper::resolve_real_codex().map(|path| path.to_string_lossy().to_string()) + }) + .unwrap_or_else(|| "codex".to_string()) +} + +fn reserve_app_server_port() -> anyhow::Result { + for _ in 0..20 { + let listener = std::net::TcpListener::bind(("127.0.0.1", 0))?; + let port = listener.local_addr()?.port(); + if port != crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT { + return Ok(port); + } + } + anyhow::bail!("无法为 Codex app-server 预留端口") +} + +async fn wait_for_app_server_ready(port: u16) -> anyhow::Result<()> { + for _ in 0..80 { + if app_server_ready(port).await { + return Ok(()); + } + tokio::time::sleep(std::time::Duration::from_millis(100)).await; + } + anyhow::bail!("Codex app-server 启动超时") +} + +async fn app_server_ready(port: u16) -> bool { + let Ok(mut stream) = tokio::net::TcpStream::connect(("127.0.0.1", port)).await else { + return false; + }; + let request = "GET /readyz HTTP/1.1\r\nHost: 127.0.0.1\r\nConnection: close\r\n\r\n"; + if stream.write_all(request.as_bytes()).await.is_err() { + return false; + } + let Ok(response) = read_http_request(&mut stream).await else { + return false; + }; + response.starts_with(b"HTTP/1.1 200") || response.starts_with(b"HTTP/1.0 200") +} + +fn mobile_model_catalog_value() -> Value { + let settings = SettingsStore::default().load().unwrap_or_default(); + let profile = settings.active_relay_profile(); + let mut models = Vec::new(); + for value in profile + .model_list + .split(['\r', '\n', ',']) + .chain(std::iter::once(profile.model.as_str())) + .map(str::trim) + .filter(|value| !value.is_empty()) + { + if !models.iter().any(|existing| existing == value) { + models.push(value.to_string()); + } + } + let default_model = if models.iter().any(|model| model == &profile.model) { + profile.model.trim().to_string() + } else { + models.first().cloned().unwrap_or_default() + }; + serde_json::json!({ + "status": if models.is_empty() { "not_configured" } else { "ok" }, + "model": profile.model.trim(), + "model_provider": profile.id.trim(), + "provider_name": if profile.name.trim().is_empty() { profile.id.trim() } else { profile.name.trim() }, + "default_model": default_model, + "models": models + }) +} + +fn mobile_page_html(model_catalog_json: &str) -> String { + let html = r#" + + + + + Codex++ Mobile + + + +
+
+ Codex++ + 正在连接 WebSocket... +
+
+
+ +
+
+ +
+
+ + +"#; + html.replace( + "__MODEL_CATALOG_JSON__", + &script_safe_json(model_catalog_json), + ) +} + +fn script_safe_json(json: &str) -> String { + json.replace('<', "\\u003c") + .replace('>', "\\u003e") + .replace('&', "\\u0026") + .replace('\u{2028}', "\\u2028") + .replace('\u{2029}', "\\u2029") +} + +async fn handle_models_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_http_response( + stream, + "204 No Content", + "application/json; charset=utf-8", + &[], + ) + .await?; + stream.shutdown().await?; + return Ok(()); + } + + let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.models_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + + let status = upstream.status(); + let is_success = upstream.is_success(); + let content_type = if upstream.content_type.is_empty() { + "application/json; charset=utf-8".to_string() + } else { + upstream.content_type.clone() + }; + let body = upstream.response.bytes().await?.to_vec(); + write_http_response(stream, &status, &content_type, &body).await?; + log_helper_response( + if is_success { + "helper.models_proxy_ok" + } else { + "helper.models_proxy_upstream_error" + }, + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} + +async fn handle_protocol_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_body: &str, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + let request_json = serde_json::from_str::(request_body).ok(); + let upstream = + match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + + if !upstream.is_success() { + let status = upstream.status(); + let upstream_content_type = upstream.content_type.clone(); + let upstream_body = upstream.response.bytes().await?.to_vec(); + let error = crate::protocol_proxy::responses_error_from_upstream( + upstream.status_code, + &upstream_content_type, + &upstream_body, + ); + let body = serde_json::to_vec(&error)?; + write_http_response(stream, &status, "application/json; charset=utf-8", &body).await?; + log_helper_response( + "helper.protocol_proxy_upstream_error", + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + + if upstream.is_stream { + write_http_stream_headers(stream, "200 OK", "text/event-stream; charset=utf-8").await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + let mut bytes_stream = upstream.response.bytes_stream(); + while let Some(chunk) = bytes_stream.next().await { + if let Ok(bytes) = chunk { + stream.write_all(&bytes).await?; + } else { + break; + } + } + log_helper_response( + "helper.protocol_proxy_stream_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + + let mut converter = request_json + .as_ref() + .map(crate::protocol_proxy::ChatSseToResponsesConverter::with_request) + .unwrap_or_default(); + let mut bytes_stream = upstream.response.bytes_stream(); + let mut stream_failed = false; + + while let Some(chunk) = bytes_stream.next().await { + match chunk { + Ok(bytes) => { + let converted = converter.push_bytes(&bytes); + if !converted.is_empty() { + stream.write_all(&converted).await?; + } + } + Err(error) => { + let failed = converter.fail( + format!("Stream error: {error}"), + Some("stream_error".to_string()), + ); + if !failed.is_empty() { + stream.write_all(&failed).await?; + } + stream_failed = true; + break; + } + } + } + + if !stream_failed { + let tail = converter.finish(); + if !tail.is_empty() { + stream.write_all(&tail).await?; + } + } + log_helper_response( + "helper.protocol_proxy_stream_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + + let upstream_body = upstream.response.bytes().await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + write_http_response( + stream, + "200 OK", + if upstream.content_type.is_empty() { + "application/json; charset=utf-8" + } else { + &upstream.content_type + }, + &upstream_body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + + let chat_json: serde_json::Value = serde_json::from_slice(&upstream_body)?; + let response_json = if let Some(request_json) = request_json.as_ref() { + crate::protocol_proxy::chat_completion_to_response_with_request(chat_json, request_json)? + } else { + crate::protocol_proxy::chat_completion_to_response(chat_json)? + }; + let body = serde_json::to_vec(&response_json)?; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + log_helper_response( + "helper.protocol_proxy_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} + +async fn handle_chat_completions_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_body: &str, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + let upstream = match crate::protocol_proxy::open_chat_completions_proxy_request( + request_body, + request_user_agent, + ) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": error.to_string() + }))?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.chat_completions_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + + let status = upstream.status(); + let is_success = upstream.is_success(); + let content_type = if upstream.content_type.is_empty() { + "application/json; charset=utf-8".to_string() + } else { + upstream.content_type.clone() + }; + + if upstream.is_stream && is_success { + write_http_stream_headers(stream, &status, &content_type).await?; + let mut bytes_stream = upstream.response.bytes_stream(); + while let Some(chunk) = bytes_stream.next().await { + stream.write_all(&chunk?).await?; + } + log_helper_response( + "helper.chat_completions_proxy_stream_ok", + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + + let body = upstream.response.bytes().await?.to_vec(); + write_http_response(stream, &status, &content_type, &body).await?; + log_helper_response( + if is_success { + "helper.chat_completions_proxy_ok" + } else { + "helper.chat_completions_proxy_upstream_error" + }, + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} + +async fn write_http_response( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, + body: &[u8], +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ); + stream.write_all(response.as_bytes()).await?; + stream.write_all(body).await?; + Ok(()) +} + +async fn write_http_no_store_response( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, + body: &[u8], +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-store\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ); + stream.write_all(response.as_bytes()).await?; + stream.write_all(body).await?; + Ok(()) +} + +async fn write_options_response(stream: &mut tokio::net::TcpStream) -> anyhow::Result<()> { + stream + .write_all( + b"HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", + ) + .await?; + Ok(()) +} + +async fn write_http_stream_headers( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-cache\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nConnection: close\r\n\r\n" + ); + stream.write_all(response.as_bytes()).await?; + Ok(()) +} + +fn log_helper_response( + event: &str, + method: &str, + path: &str, + status: &str, + remote_addr_text: Option, +) { + let _ = crate::diagnostic_log::append_diagnostic_log( + event, + serde_json::json!({ + "method": method, + "path": path, + "status": status, + "remote_addr": remote_addr_text + }), + ); +} + +#[cfg(test)] +mod computer_use_tests { + use super::{ + MobileRelayHostConfig, header_value_from_request, overlay_image_content_type, + percent_encode_query, + }; + use std::path::Path; + + #[test] + fn overlay_image_content_type_accepts_common_images_only() { + assert_eq!( + overlay_image_content_type(Path::new("overlay.PNG")), + Some("image/png") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.jpeg")), + Some("image/jpeg") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.webp")), + Some("image/webp") + ); + assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); + } + + #[test] + fn header_value_from_request_reads_user_agent_case_insensitively() { + let request = "POST /v1/chat/completions HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: Codex/26.614\r\nContent-Length: 2\r\n\r\n{}"; + + assert_eq!( + header_value_from_request(request, "user-agent").as_deref(), + Some("Codex/26.614") + ); + } + + #[test] + fn mobile_relay_host_url_appends_host_path_and_credentials() { + let config = MobileRelayHostConfig { + relay_url: "ws://example.test:57323".to_string(), + room: "项目 A".to_string(), + token: "a+b&c".to_string(), + encryption_key: "test-key".to_string(), + }; + assert_eq!( + config.host_url(), + "ws://example.test:57323/host?room=%E9%A1%B9%E7%9B%AE%20A&token=a%2Bb%26c" + ); + } + + #[test] + fn mobile_relay_percent_encode_keeps_url_safe_bytes() { + assert_eq!(percent_encode_query("abc-._~ 1+2"), "abc-._~%201%2B2"); + } +} + +async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { + let mut buffer = Vec::new(); + let mut chunk = vec![0_u8; 4096]; + let mut header_end = None; + let mut content_length = 0_usize; + + loop { + let read = stream.read(&mut chunk).await?; + if read == 0 { + break; + } + buffer.extend_from_slice(&chunk[..read]); + if header_end.is_none() { + header_end = find_header_end(&buffer); + if let Some(end) = header_end { + content_length = content_length_from_headers(&buffer[..end]).unwrap_or(0); + } + } + if let Some(end) = header_end { + if buffer.len() >= end + 4 + content_length { + break; + } + } + if buffer.len() > 32 * 1024 * 1024 { + anyhow::bail!("HTTP 请求过大"); + } + } + + Ok(buffer) +} + +fn find_header_end(buffer: &[u8]) -> Option { + buffer.windows(4).position(|window| window == b"\r\n\r\n") +} + +fn content_length_from_headers(headers: &[u8]) -> Option { + let text = String::from_utf8_lossy(headers); + text.lines().find_map(|line| { + let (name, value) = line.split_once(':')?; + if name.trim().eq_ignore_ascii_case("content-length") { + value.trim().parse().ok() + } else { + None + } + }) +} + +fn http_request_body(request: &str) -> &str { + request + .split_once("\r\n\r\n") + .map(|(_, body)| body) + .unwrap_or_default() +} + +fn header_value_from_request(request: &str, header_name: &str) -> Option { + request + .split_once("\r\n\r\n") + .map(|(headers, _)| headers) + .unwrap_or(request) + .lines() + .skip(1) + .find_map(|line| { + let (name, value) = line.split_once(':')?; + name.trim() + .eq_ignore_ascii_case(header_name) + .then(|| value.trim().to_string()) + }) + .filter(|value| !value.is_empty()) +} + +fn sanitize_diagnostic_event(event: &str) -> String { + let sanitized = event + .chars() + .map(|ch| { + if ch.is_ascii_alphanumeric() || matches!(ch, '_' | '-' | '.') { + ch + } else { + '_' + } + }) + .collect::(); + if sanitized.is_empty() { + "event".to_string() + } else { + sanitized + } +} + +pub fn build_codex_arguments(debug_port: u16, extra_args: &[String]) -> Vec { + let mut args = vec![ + format!("--remote-debugging-port={debug_port}"), + format!("--remote-allow-origins=http://127.0.0.1:{debug_port}"), + ]; + args.extend(normalize_codex_extra_args(extra_args)); + args +} + +pub fn build_codex_arguments_with_native_menu_inspector( + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut args = build_codex_arguments(debug_port, &[]); + if inspector_port != 0 { + args.push(format!("--inspect=127.0.0.1:{inspector_port}")); + } + args.extend(normalize_codex_extra_args(extra_args)); + args +} + +pub fn build_codex_command(app_dir: &Path, debug_port: u16, extra_args: &[String]) -> Vec { + let mut command = vec![ + crate::app_paths::build_codex_executable(app_dir) + .to_string_lossy() + .to_string(), + ]; + command.extend(build_codex_arguments(debug_port, extra_args)); + command +} + +pub fn build_codex_command_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + crate::app_paths::build_codex_executable(app_dir) + .to_string_lossy() + .to_string(), + ]; + command.extend(build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )); + command +} + +pub fn build_packaged_activation( + app_dir: &Path, + debug_port: u16, + extra_args: &[String], +) -> Option { + Some(CodexLaunch::PackagedActivation { + app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, + arguments: command_line_arguments(&build_codex_arguments(debug_port, extra_args)), + process_id: None, + }) +} + +pub fn build_packaged_activation_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Option { + Some(CodexLaunch::PackagedActivation { + app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, + arguments: command_line_arguments(&build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )), + process_id: None, + }) +} + +async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let mut last_error = None; + for _ in 0..20 { + match try_inject(debug_port, helper_port).await { + Ok(()) => return Ok(()), + Err(error) => { + last_error = Some(error); + tokio::time::sleep(std::time::Duration::from_millis(500)).await; + } + } + } + Err(last_error.unwrap_or_else(|| anyhow::anyhow!("Codex injection failed"))) +} + +pub async fn check_and_reinject_bridge(debug_port: u16, helper_port: u16) -> bool { + let healthy = match bridge_health_ok(debug_port).await { + Ok(healthy) => healthy, + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.health_check_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "message": error.to_string() + }), + ); + false + } + }; + if healthy { + return false; + } + + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_start", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port + }), + ); + match retry_injection(debug_port, helper_port).await { + Ok(()) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_ok", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port + }), + ); + true + } + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "message": error.to_string() + }), + ); + false + } + } +} + +async fn bridge_health_ok(debug_port: u16) -> anyhow::Result { + let targets = crate::cdp::list_targets(debug_port).await?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; + let websocket_url = target + .web_socket_debugger_url + .as_deref() + .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; + let result = crate::bridge::evaluate_script_with_await_promise( + websocket_url, + crate::bridge::bridge_health_check_script(), + true, + ) + .await?; + Ok(runtime_evaluate_result_is_true(&result)) +} + +fn runtime_evaluate_result_is_true(result: &Value) -> bool { + result + .get("result") + .and_then(|result| result.get("result")) + .and_then(|result| result.get("value")) + .and_then(Value::as_bool) + .unwrap_or(false) +} + +async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let targets = crate::cdp::list_targets(debug_port).await?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; + let websocket_url = target + .web_socket_debugger_url + .as_deref() + .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; + let settings = SettingsStore::default().load().unwrap_or_default(); + let script = crate::assets::injection_script_with_settings(helper_port, &settings); + let ctx = crate::routes::BridgeContext::core(Arc::new(crate::routes::CoreRuntimeService::new( + debug_port, + StatusStore::default(), + ))); + crate::bridge::install_bridge( + websocket_url, + crate::bridge::BRIDGE_BINDING_NAME, + Arc::new(move |path, payload| { + let ctx = ctx.clone(); + Box::pin( + async move { Ok(crate::routes::handle_bridge_request(ctx, &path, payload).await) }, + ) + }), + &[script], + ) + .await +} + +pub fn build_macos_open_command( + app_dir: &Path, + debug_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + "open".to_string(), + "-W".to_string(), + "-a".to_string(), + app_dir.to_string_lossy().to_string(), + "--args".to_string(), + ]; + command.extend(build_codex_arguments(debug_port, extra_args)); + command +} + +pub fn build_macos_open_command_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + "open".to_string(), + "-W".to_string(), + "-a".to_string(), + app_dir.to_string_lossy().to_string(), + "--args".to_string(), + ]; + command.extend(build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )); + command +} + +pub fn build_macos_cleanup_command( + app_dir: &Path, + policy: MacosCleanupPolicy, +) -> Option> { + if policy == MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning { + return None; + } + let app_name = app_dir + .file_stem() + .and_then(|value| value.to_str()) + .unwrap_or("Codex"); + Some(vec![ + "osascript".to_string(), + "-e".to_string(), + format!( + r#"tell application "{}" to quit"#, + app_name.replace('"', "\\\"") + ), + ]) +} + +async fn run_macos_cleanup_command( + app_dir: &Path, + policy: MacosCleanupPolicy, +) -> anyhow::Result<()> { + let Some(command) = build_macos_cleanup_command(app_dir, policy) else { + return Ok(()); + }; + let Some(executable) = command.first() else { + return Ok(()); + }; + let _ = Command::new(executable) + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status() + .await + .with_context(|| format!("failed to request macOS app quit for {}", app_dir.display()))?; + Ok(()) +} + +fn macos_app_dir_from_open_command(command: &[String]) -> Option { + let app_index = command.iter().position(|part| part == "-a")?; + command.get(app_index + 1).map(PathBuf::from) +} + +async fn is_macos_app_running(app_dir: &Path) -> bool { + if !cfg!(target_os = "macos") { + return false; + } + let app_name = app_dir + .file_stem() + .and_then(|value| value.to_str()) + .unwrap_or("Codex"); + let script = format!( + r#"application "{}" is running"#, + app_name.replace('"', "\\\"") + ); + let Ok(output) = Command::new("osascript") + .arg("-e") + .arg(script) + .stdout(Stdio::piped()) + .stderr(Stdio::null()) + .output() + .await + else { + return false; + }; + output.status.success() + && String::from_utf8_lossy(&output.stdout) + .trim() + .eq_ignore_ascii_case("true") +} + +#[cfg_attr(not(windows), allow(dead_code))] +fn post_launch_guard_artifacts_ready( + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + artifacts.notify_exe.is_some() + && artifacts.marketplace_path.is_some() + && (!artifacts.runtime_exports_needed || artifacts.sky_package_json.is_some()) +} + +#[cfg_attr(not(windows), allow(dead_code))] +fn should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts: usize, + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + stable_unchanged_attempts >= POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS + && post_launch_guard_artifacts_ready(artifacts) +} + +#[cfg(windows)] +async fn run_post_launch_computer_use_guard( + home: PathBuf, + mut artifacts: Option, + shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, +) { + let mut previous_delay = 0_u64; + let mut stable_unchanged_attempts = 0_usize; + for (index, delay) in POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS + .iter() + .copied() + .enumerate() + { + let wait_seconds = delay.saturating_sub(previous_delay); + previous_delay = delay; + if wait_seconds > 0 { + tokio::select! { + _ = &mut *shutdown_rx => return, + _ = tokio::time::sleep(std::time::Duration::from_secs(wait_seconds)) => {} + } + } + let attempt = index + 1; + let resolved_artifacts = match artifacts.take() { + Some(artifacts) => artifacts, + None => match crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home) { + Ok(resolved) => resolved, + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "phase": "resolve_artifacts", + "message": error.to_string() + }), + ); + continue; + } + }, + }; + let artifacts_ready = post_launch_guard_artifacts_ready(&resolved_artifacts); + artifacts = artifacts_ready.then_some(resolved_artifacts.clone()); + match crate::computer_use_guard::ensure_computer_use_config_with_artifacts( + &home, + &resolved_artifacts, + ) { + Ok(result) => { + if !result.changed && artifacts_ready { + stable_unchanged_attempts += 1; + } else { + stable_unchanged_attempts = 0; + } + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_ok", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "changed": result.changed, + "stable_unchanged_attempts": stable_unchanged_attempts, + "notify_exe": result + .notify_exe + .map(|path| path.to_string_lossy().to_string()) + }), + ); + if should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts, + &resolved_artifacts, + ) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_stable_stop", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "stable_unchanged_attempts": stable_unchanged_attempts + }), + ); + return; + } + } + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "message": error.to_string() + }), + ); + } + } + } +} + +#[cfg(windows)] +async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { + tokio::task::spawn_blocking(move || wait_for_windows_process_id_blocking(process_id)) + .await + .context("Windows process wait task failed")? +} + +#[cfg(windows)] +async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { + tokio::task::spawn_blocking(move || terminate_windows_process_id_blocking(process_id)) + .await + .context("Windows process termination task failed")? +} + +#[cfg(windows)] +fn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { + use windows::Win32::Foundation::{CloseHandle, WAIT_FAILED}; + use windows::Win32::System::Threading::{ + INFINITE, OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_SYNCHRONIZE, + WaitForSingleObject, + }; + + unsafe { + let handle = OpenProcess( + PROCESS_SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION, + false, + process_id, + ) + .with_context(|| format!("failed to open Windows process id {process_id}"))?; + let wait_result = WaitForSingleObject(handle, INFINITE); + let _ = CloseHandle(handle); + if wait_result == WAIT_FAILED { + anyhow::bail!("failed to wait for Windows process id {process_id}"); + } + } + Ok(()) +} + +#[cfg(windows)] +fn terminate_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { + use windows::Win32::Foundation::CloseHandle; + use windows::Win32::System::Threading::{ + OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_TERMINATE, TerminateProcess, + }; + + unsafe { + let handle = OpenProcess( + PROCESS_TERMINATE | PROCESS_QUERY_LIMITED_INFORMATION, + false, + process_id, + ) + .with_context(|| format!("failed to open Windows process id {process_id}"))?; + let terminate_result = TerminateProcess(handle, 1); + let _ = CloseHandle(handle); + terminate_result + .with_context(|| format!("failed to terminate Windows process id {process_id}"))?; + } + Ok(()) +} + +#[cfg(not(windows))] +async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { + anyhow::bail!("cannot wait for Windows process id {process_id} on this platform") +} + +#[cfg(not(windows))] +async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { + anyhow::bail!("cannot terminate Windows process id {process_id} on this platform") +} + +fn launch_status( + status: &str, + message: &str, + debug_port: u16, + helper_port: u16, + app_dir: &Path, +) -> LaunchStatus { + LaunchStatus { + status: status.to_string(), + message: message.to_string(), + started_at_ms: now_ms(), + debug_port: Some(debug_port), + helper_port: Some(helper_port), + codex_app: Some(app_dir.to_string_lossy().to_string()), + } +} + +fn now_ms() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap_or_default() + .as_millis() as u64 +} + +fn command_line_arguments(args: &[String]) -> String { + args.iter() + .map(|arg| quote_windows_argument(arg)) + .collect::>() + .join(" ") +} + +fn quote_windows_argument(arg: &str) -> String { + if !arg.is_empty() && !arg.bytes().any(|byte| matches!(byte, b' ' | b'\t' | b'"')) { + return arg.to_string(); + } + let mut output = String::from("\""); + let mut backslashes = 0; + for ch in arg.chars() { + match ch { + '\\' => backslashes += 1, + '"' => { + output.push_str(&"\\".repeat(backslashes * 2 + 1)); + output.push('"'); + backslashes = 0; + } + _ => { + output.push_str(&"\\".repeat(backslashes)); + output.push(ch); + backslashes = 0; + } + } + } + output.push_str(&"\\".repeat(backslashes * 2)); + output.push('"'); + output +} + +#[cfg(not(windows))] +pub async fn activate_packaged_app( + _app_user_model_id: &str, + _arguments: &str, +) -> anyhow::Result { + anyhow::bail!("Packaged app activation is only supported on Windows") +} + +#[cfg(windows)] +pub async fn activate_packaged_app( + app_user_model_id: &str, + arguments: &str, +) -> anyhow::Result { + let app_user_model_id = app_user_model_id.to_string(); + let arguments = arguments.to_string(); + tokio::task::spawn_blocking(move || { + activate_packaged_app_blocking(&app_user_model_id, &arguments) + }) + .await + .context("packaged app activation task failed")? +} + +#[cfg(windows)] +fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> anyhow::Result { + use windows::Win32::System::Com::{ + CLSCTX_LOCAL_SERVER, COINIT_APARTMENTTHREADED, CoCreateInstance, CoInitializeEx, + CoUninitialize, + }; + use windows::Win32::UI::Shell::{ApplicationActivationManager, IApplicationActivationManager}; + use windows::core::HSTRING; + + unsafe { + let coinit = CoInitializeEx(None, COINIT_APARTMENTTHREADED); + let should_uninitialize = coinit.is_ok(); + coinit.ok().or_else(|error| { + const RPC_E_CHANGED_MODE: i32 = -2147417850; + if error.code().0 == RPC_E_CHANGED_MODE { + Ok(()) + } else { + Err(error) + } + })?; + + let result: windows::core::Result = (|| { + let manager: IApplicationActivationManager = + CoCreateInstance(&ApplicationActivationManager, None, CLSCTX_LOCAL_SERVER)?; + let process_id = manager.ActivateApplication( + &HSTRING::from(app_user_model_id), + &HSTRING::from(arguments), + windows::Win32::UI::Shell::ACTIVATEOPTIONS(0), + )?; + Ok(process_id) + })(); + + if should_uninitialize { + CoUninitialize(); + } + result.map_err(Into::into) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn post_launch_guard_stops_after_stable_ready_artifacts() { + let artifacts = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + + assert!(!should_stop_post_launch_computer_use_guard(2, &artifacts)); + assert!(should_stop_post_launch_computer_use_guard(3, &artifacts)); + } + + #[test] + fn post_launch_guard_keeps_retrying_until_artifacts_are_ready() { + let missing_notify = crate::computer_use_guard::GuardArtifacts { + notify_exe: None, + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_marketplace = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: None, + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_runtime_package = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: true, + }; + + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_notify + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_marketplace + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_runtime_package + )); + } +} From d35dbe193ac4b271cd12ac3d5464e02db90edd94 Mon Sep 17 00:00:00 2001 From: Ghibli1024 Date: Sun, 28 Jun 2026 18:51:30 +0800 Subject: [PATCH 132/156] feat: add Stepwise suggestions panel --- apps/codex-plus-launcher/src/main.rs | 30 + apps/codex-plus-manager/src/App.tsx | 108 + apps/codex-plus-manager/src/styles.css | 11 + assets/inject/renderer-inject.js | 50 +- assets/inject/stepwise-inject.js | 1917 +++++++++++++++++ crates/codex-plus-core/src/assets.rs | 8 +- crates/codex-plus-core/src/lib.rs | 1 + crates/codex-plus-core/src/routes.rs | 31 + crates/codex-plus-core/src/settings.rs | 284 +++ crates/codex-plus-core/src/stepwise.rs | 452 ++++ crates/codex-plus-core/tests/bridge_routes.rs | 95 + crates/codex-plus-core/tests/cdp_bridge.rs | 37 + 12 files changed, 3018 insertions(+), 6 deletions(-) create mode 100644 assets/inject/stepwise-inject.js create mode 100644 crates/codex-plus-core/src/stepwise.rs diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index fab54fa92..92d5186b7 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -648,6 +648,36 @@ impl BridgeRuntimeService for LauncherRuntimeService { &payload, )) } + + async fn stepwise_settings(&self) -> anyhow::Result { + let settings = codex_plus_core::settings::SettingsStore::default() + .load() + .unwrap_or_default(); + Ok(json!({ + "status": "ok", + "settings": codex_plus_core::stepwise::public_settings(&settings), + })) + } + + async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { + let settings = codex_plus_core::settings::SettingsStore::default() + .load() + .unwrap_or_default(); + let request = payload.get("request").cloned().unwrap_or(payload); + let request = serde_json::from_value::(request) + .unwrap_or_default(); + codex_plus_core::stepwise::generate(request, &settings).await + } + + async fn stepwise_test(&self, payload: Value) -> anyhow::Result { + let settings = codex_plus_core::stepwise::settings_with_payload( + codex_plus_core::settings::SettingsStore::default() + .load() + .unwrap_or_default(), + &payload, + ); + codex_plus_core::stepwise::test_connection(&settings).await + } } async fn inject_with_context( diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e6014c8f8..5a7a8977d 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -142,6 +142,16 @@ type BackendSettings = { codexAppNativeMenuPlacement: boolean; codexAppNativeMenuLocalization: boolean; codexAppServiceTierControls: boolean; + codexAppStepwiseEnabled: boolean; + codexAppStepwiseDirectSend: boolean; + codexAppStepwiseBaseUrl: string; + codexAppStepwiseApiKey: string; + codexAppStepwiseApiKeyEnv: string; + codexAppStepwiseModel: string; + codexAppStepwiseMaxItems: number; + codexAppStepwiseMaxInputChars: number; + codexAppStepwiseMaxOutputTokens: number; + codexAppStepwiseTimeoutMs: number; codexAppImageOverlayEnabled: boolean; codexAppImageOverlayPath: string; codexAppImageOverlayOpacity: number; @@ -646,6 +656,16 @@ const defaultSettings: BackendSettings = { codexAppNativeMenuPlacement: true, codexAppNativeMenuLocalization: true, codexAppServiceTierControls: false, + codexAppStepwiseEnabled: false, + codexAppStepwiseDirectSend: false, + codexAppStepwiseBaseUrl: "", + codexAppStepwiseApiKey: "", + codexAppStepwiseApiKeyEnv: "CODEX_STEPWISE_API_KEY", + codexAppStepwiseModel: "", + codexAppStepwiseMaxItems: 6, + codexAppStepwiseMaxInputChars: 6000, + codexAppStepwiseMaxOutputTokens: 500, + codexAppStepwiseTimeoutMs: 8000, codexAppImageOverlayEnabled: false, codexAppImageOverlayPath: "", codexAppImageOverlayOpacity: 35, @@ -2734,6 +2754,8 @@ function EnhanceScreen({ setEnhanceFlag("codexAppPluginAutoExpand", value)} /> setEnhanceFlag("codexAppModelWhitelistUnlock", value)} /> setEnhanceFlag("codexAppServiceTierControls", value)} /> + setEnhanceFlag("codexAppStepwiseEnabled", value)} /> + setEnhanceFlag("codexAppStepwiseDirectSend", value)} /> setEnhanceFlag("codexAppSessionDelete", value)} /> setEnhanceFlag("codexAppMarkdownExport", value)} /> setEnhanceFlag("codexAppPasteFix", value)} /> @@ -3471,6 +3493,88 @@ function SettingsScreen({ onChange={(event) => onFormChange({ ...form, cliWrapperApiKey: event.currentTarget.value })} />
+
+
Stepwise API
+
+ + onFormChange({ ...form, codexAppStepwiseBaseUrl: event.currentTarget.value })} + placeholder="https://api.example.com/v1" + /> + + + onFormChange({ ...form, codexAppStepwiseModel: event.currentTarget.value })} + placeholder="例如 gpt-5.4-mini" + /> + +
+
+ + onFormChange({ ...form, codexAppStepwiseApiKey: event.currentTarget.value })} + /> + + + onFormChange({ ...form, codexAppStepwiseApiKeyEnv: event.currentTarget.value })} + /> + +
+
+ + + onFormChange({ ...form, codexAppStepwiseMaxItems: clampNumber(Number(event.currentTarget.value), 0, 6) }) + } + /> + + + + onFormChange({ ...form, codexAppStepwiseTimeoutMs: clampNumber(Number(event.currentTarget.value), 1000, 60000) }) + } + /> + +
+
+ + + onFormChange({ ...form, codexAppStepwiseMaxInputChars: clampNumber(Number(event.currentTarget.value), 1000, 24000) }) + } + /> + + + + onFormChange({ ...form, codexAppStepwiseMaxOutputTokens: clampNumber(Number(event.currentTarget.value), 100, 4000) }) + } + /> + +
+ + + +
+
+
Stepwise
在当前 Codex 页面显示可拖动的下一步建议浮层,可在设置页配置模型和直接发送。
+ +
服务模式
继承使用 config.toml 的 service tier;全局模式覆盖全部 thread;自定义允许按 thread 覆盖。
@@ -2404,7 +2444,7 @@ } const toggle = target?.closest("[data-codex-plus-setting]"); if (toggle) { - if (toggle.disabled) return; + if (toggle.disabled || toggle.dataset.pending === "true") return; const key = toggle.getAttribute("data-codex-plus-setting"); setCodexPlusSetting(key, !codexPlusSettings()[key]); return; diff --git a/assets/inject/stepwise-inject.js b/assets/inject/stepwise-inject.js new file mode 100644 index 000000000..3a81f82c1 --- /dev/null +++ b/assets/inject/stepwise-inject.js @@ -0,0 +1,1917 @@ +(() => { + "use strict"; + + const API_KEY = "__codexStepwisePanel"; + const STYLE_ID = "codex-stepwise-panel-style"; + const ROOT_ATTR = "data-codex-stepwise-root"; + const PAYLOAD_ATTR = "data-codex-stepwise-payload"; + const SCRIPT_VERSION = "1.0.0-core"; + const PAGE_BRIDGE = "__codexSessionDeleteBridge"; + const POSITION_KEY = "codex-stepwise-float-position-v1"; + const DIAGNOSTICS_KEY = "codex-stepwise-diagnostics-v1"; + const SCAN_DELAY_MS = 220; + const STREAM_IDLE_MS = 1300; + const BRIDGE_TIMEOUT_MS = 26000; + const MAX_TEXT_LENGTH = 12000; + const MAX_STEPWISE_ITEMS = 6; + const MAX_PROMPT_LENGTH = 420; + const MAX_DIAGNOSTICS = 80; + const EDITABLE_SUBMIT_DELAY_MS = 120; + const SUBMIT_RETRY_DELAY_MS = 50; + const SUBMIT_RETRY_LIMIT = 600; + const INSTANCE_ID = `${SCRIPT_VERSION}-${Date.now().toString(36)}-${Math.random().toString(36).slice(2)}`; + let codexAppActionsPromise = null; + let settingsPromise = null; + let startupPromise = null; + + const previous = window[API_KEY]; + if (previous && typeof previous.destroy === "function") previous.destroy(); + document.querySelectorAll?.(`[${ROOT_ATTR}="true"]`).forEach((node) => node.remove()); + document.getElementById(STYLE_ID)?.remove(); + + const state = { + observer: null, + themeObserver: null, + timer: 0, + root: null, + fab: null, + popover: null, + open: false, + activeTab: "next", + position: null, + drag: null, + lastAssistantHash: "", + lastAssistantAt: 0, + currentHash: "", + bridgeCache: new Map(), + bridgePendingHash: "", + bridgeStatus: "idle", + bridgeError: "", + prompts: [], + settings: null, + settingsStatus: "", + theme: "dark", + themeMode: "auto", + scans: 0, + destroyed: false, + diagnostics: readDiagnostics(), + }; + + function isCurrentInstance() { + return !state.destroyed && window[API_KEY]?.instanceId === INSTANCE_ID; + } + + function normalizeText(value) { + return String(value || "") + .replace(/\u00a0/g, " ") + .replace(/[ \t]+\n/g, "\n") + .replace(/\n{3,}/g, "\n\n") + .replace(/[ \t]{2,}/g, " ") + .trim(); + } + + function shortText(value, limit = MAX_TEXT_LENGTH) { + const text = normalizeText(value); + return text.length > limit ? text.slice(text.length - limit) : text; + } + + function hashText(value) { + const text = shortText(value, 4000); + let hash = 2166136261; + for (let index = 0; index < text.length; index += 1) { + hash ^= text.charCodeAt(index); + hash = Math.imul(hash, 16777619); + } + return (hash >>> 0).toString(36); + } + + function clamp(value, min, max) { + return Math.min(max, Math.max(min, value)); + } + + function rectSummary(node) { + const rect = visibleRect(node); + if (!rect) return null; + return { + left: Math.round(rect.left), + top: Math.round(rect.top), + right: Math.round(rect.right), + bottom: Math.round(rect.bottom), + width: Math.round(rect.width), + height: Math.round(rect.height), + }; + } + + function readDiagnostics() { + try { + const parsed = JSON.parse(sessionStorage.getItem(DIAGNOSTICS_KEY) || "[]"); + return Array.isArray(parsed) ? parsed.slice(-MAX_DIAGNOSTICS) : []; + } catch { + return []; + } + } + + function writeDiagnostics() { + try { + sessionStorage.setItem(DIAGNOSTICS_KEY, JSON.stringify(state.diagnostics.slice(-MAX_DIAGNOSTICS))); + } catch {} + } + + function pushDiagnostic(event, details = {}) { + state.diagnostics.push({ + at: new Date().toISOString(), + instanceId: INSTANCE_ID, + event, + details, + }); + if (state.diagnostics.length > MAX_DIAGNOSTICS) { + state.diagnostics.splice(0, state.diagnostics.length - MAX_DIAGNOSTICS); + } + writeDiagnostics(); + } + + function visibleRect(node) { + if (!(node instanceof Element)) return null; + const rect = node.getBoundingClientRect(); + if (rect.width <= 0 || rect.height <= 0) return null; + return rect; + } + + function visibleElement(node) { + const rect = visibleRect(node); + return Boolean(rect && rect.width > 20 && rect.height > 10 && rect.bottom > 0 && rect.top < window.innerHeight); + } + + function parseRgb(color) { + const match = String(color || "").match(/rgba?\((\d+),\s*(\d+),\s*(\d+)(?:,\s*([\d.]+))?/i); + if (!match) return null; + return { + r: Number(match[1]), + g: Number(match[2]), + b: Number(match[3]), + a: match[4] === undefined ? 1 : Number(match[4]), + }; + } + + function luminance(rgb) { + if (!rgb) return 0; + return 0.2126 * rgb.r + 0.7152 * rgb.g + 0.0722 * rgb.b; + } + + function detectCodexTheme() { + const rootClass = document.documentElement.classList; + if (rootClass.contains("electron-dark") || rootClass.contains("theme-dark")) return "dark"; + if (rootClass.contains("electron-light") || rootClass.contains("theme-light")) return "light"; + + const bodyClass = document.body?.classList; + if (bodyClass?.contains("electron-dark") || bodyClass?.contains("theme-dark")) return "dark"; + if (bodyClass?.contains("electron-light") || bodyClass?.contains("theme-light")) return "light"; + + const explicitTokens = [ + document.documentElement.getAttribute("data-theme"), + document.documentElement.getAttribute("color-scheme"), + document.body?.getAttribute("data-theme"), + getComputedStyle(document.documentElement).colorScheme, + ].join(" "); + if (/\bdark\b/i.test(explicitTokens)) return "dark"; + if (/\blight\b/i.test(explicitTokens)) return "light"; + + const candidates = [ + document.querySelector(".thread-scroll-container"), + document.querySelector("main"), + document.body, + document.documentElement, + ].filter(Boolean); + for (const node of candidates) { + const color = getComputedStyle(node).backgroundColor; + const rgb = parseRgb(color); + if (rgb && rgb.a > 0.05 && luminance(rgb) > 5) return luminance(rgb) < 128 ? "dark" : "light"; + } + return matchMedia("(prefers-color-scheme: dark)").matches ? "dark" : "light"; + } + + function syncTheme() { + localStorage.removeItem("codex-stepwise-theme-mode-v1"); + state.themeMode = "auto"; + state.theme = detectCodexTheme(); + state.root?.setAttribute("data-theme", state.theme); + state.root?.setAttribute("data-theme-mode", state.themeMode); + } + + function appActionModuleCandidates() { + const candidates = new Set(); + const add = (value) => { + if (!value) return; + try { + const url = new URL(value, location.href); + if (/\/assets\/rpc-[^/]+\.js$/.test(url.pathname)) candidates.add(`.${url.pathname}`); + } catch {} + }; + + document.querySelectorAll("script[src],link[href]").forEach((node) => { + add(node.getAttribute("src") || node.getAttribute("href")); + }); + const resources = performance.getEntriesByType?.("resource") || []; + resources.forEach((entry) => add(entry.name)); + return Array.from(candidates); + } + + async function getCodexAppActions() { + if (!codexAppActionsPromise) { + codexAppActionsPromise = (async () => { + const errors = []; + for (const candidate of appActionModuleCandidates()) { + try { + const module = await import(candidate); + const appActions = module?.n?.appActions || module?.appServices?.appActions; + if (typeof appActions?.runInPrimaryWindow === "function") return appActions; + errors.push(`${candidate}: missing appActions`); + } catch (error) { + errors.push(`${candidate}: ${error.message}`); + } + } + throw new Error(`Codex app actions unavailable (${errors.join("; ")})`); + })(); + } + + try { + return await codexAppActionsPromise; + } catch (error) { + codexAppActionsPromise = null; + throw error; + } + } + + async function setCodexThemeMode(theme) { + if (theme !== "light" && theme !== "dark") return; + const appActions = await getCodexAppActions(); + await appActions.runInPrimaryWindow({ + action: { type: "app.appearance.set_mode", mode: theme }, + }); + } + + function toggleCodexTheme() { + const nextTheme = detectCodexTheme() === "dark" ? "light" : "dark"; + setCodexThemeMode(nextTheme) + .then(() => { + const before = `${state.themeMode}:${state.theme}`; + syncTheme(); + if (state.open && before !== `${state.themeMode}:${state.theme}`) renderFloat(); + }) + .catch((error) => { + console.warn("[Codex++ Stepwise] Failed to switch Codex theme", error); + }); + } + + function themeLabel() { + return state.theme === "dark" ? "Switch to light theme" : "Switch to dark theme"; + } + + function iconSvg(name) { + const common = `fill="none" stroke="currentColor" stroke-width="1.7" stroke-linecap="round" stroke-linejoin="round"`; + if (name === "settings") { + return ``; + } + if (name === "moon") { + return ``; + } + if (name === "sun") { + return ``; + } + return ``; + } + + function themeIcon() { + return state.theme === "dark" ? iconSvg("sun") : iconSvg("moon"); + } + + function installThemeObserver() { + if (state.themeObserver) return; + + let frame = 0; + const update = () => { + if (frame) return; + frame = requestAnimationFrame(() => { + frame = 0; + const before = `${state.themeMode}:${state.theme}`; + syncTheme(); + if (state.open && before !== `${state.themeMode}:${state.theme}`) renderFloat(); + }); + }; + + state.themeObserver = new MutationObserver(update); + [document.documentElement, document.body].filter(Boolean).forEach((node) => { + state.themeObserver.observe(node, { + attributes: true, + attributeFilter: ["class", "style", "data-theme", "color-scheme"], + }); + }); + } + + function stripOwnUi(clone) { + clone.querySelectorAll?.(`[${ROOT_ATTR}], [${PAYLOAD_ATTR}]`).forEach((item) => item.remove()); + return clone; + } + + function elementText(node) { + if (!(node instanceof Element)) return normalizeText(node?.textContent || ""); + return normalizeText(stripOwnUi(node.cloneNode(true)).textContent || ""); + } + + function directText(node) { + if (!(node instanceof Element)) return ""; + const clone = stripOwnUi(node.cloneNode(true)); + clone.querySelectorAll?.("button,[role='button'],svg").forEach((item) => item.remove()); + return normalizeText(clone.textContent || ""); + } + + function installStyle() { + if (document.getElementById(STYLE_ID)) return; + + const style = document.createElement("style"); + style.id = STYLE_ID; + style.textContent = ` + [${ROOT_ATTR}="true"] { + --csw-bg: rgba(250, 250, 249, 0.98); + --csw-border: rgba(20, 20, 20, 0.12); + --csw-text: rgba(20, 20, 19, 0.94); + --csw-muted: rgba(20, 20, 19, 0.62); + --csw-soft: rgba(20, 20, 19, 0.065); + --csw-row: rgba(255, 255, 255, 0.72); + --csw-input: rgba(255, 255, 255, 0.82); + --csw-fab-bg: rgba(250, 250, 249, 0.98); + --csw-fab-fg: rgba(20, 20, 19, 0.94); + --csw-fab-border: rgba(20, 20, 20, 0.16); + --csw-fab-shadow: 0 10px 26px rgba(0, 0, 0, 0.14), inset 0 1px 0 rgba(255, 255, 255, 0.78); + --csw-badge-bg: rgba(86, 86, 84, 0.98); + --csw-badge-fg: rgba(255, 255, 255, 0.96); + --csw-badge-border: rgba(255, 255, 255, 0.28); + --csw-popover-shadow: 0 18px 48px rgba(0, 0, 0, 0.16); + color: var(--csw-text); + font: 13px/1.45 -apple-system, BlinkMacSystemFont, "SF Pro Text", "PingFang SC", "Hiragino Sans GB", "Segoe UI", sans-serif; + inset: 0; + letter-spacing: 0; + pointer-events: none; + position: fixed; + z-index: 2147483000; + } + + [${ROOT_ATTR}="true"][data-theme="dark"] { + --csw-bg: rgba(31, 31, 30, 0.98); + --csw-border: rgba(255, 255, 255, 0.13); + --csw-text: rgba(247, 247, 246, 0.94); + --csw-muted: rgba(247, 247, 246, 0.62); + --csw-soft: rgba(255, 255, 255, 0.08); + --csw-row: rgba(255, 255, 255, 0.06); + --csw-input: rgba(255, 255, 255, 0.07); + --csw-fab-bg: linear-gradient(180deg, rgba(49, 49, 48, 0.98), rgba(25, 25, 24, 0.99)); + --csw-fab-fg: rgba(255, 255, 255, 0.92); + --csw-fab-border: rgba(255, 255, 255, 0.18); + --csw-fab-shadow: 0 12px 30px rgba(0, 0, 0, 0.38), inset 0 1px 0 rgba(255, 255, 255, 0.08); + --csw-badge-bg: rgba(71, 71, 69, 0.98); + --csw-badge-fg: rgba(255, 255, 255, 0.96); + --csw-badge-border: rgba(255, 255, 255, 0.2); + --csw-popover-shadow: 0 18px 52px rgba(0, 0, 0, 0.38); + color: var(--csw-text); + } + + [${PAYLOAD_ATTR}="true"], + [${PAYLOAD_ATTR}="block"] { + display: none !important; + } + + .csw-fab { + align-items: center; + appearance: none; + background: var(--csw-fab-bg); + border: 1px solid var(--csw-fab-border); + border-radius: 999px; + box-shadow: var(--csw-fab-shadow); + color: var(--csw-fab-fg); + cursor: grab; + display: flex; + height: 43px; + justify-content: center; + padding: 0; + pointer-events: auto; + position: fixed; + transition: background-color 140ms ease, box-shadow 140ms ease, transform 140ms ease; + user-select: none; + width: 43px; + } + + .csw-fab:active { + cursor: grabbing; + transform: scale(0.98); + } + + .csw-fab:hover { + box-shadow: var(--csw-fab-shadow), 0 0 0 4px rgba(127, 127, 127, 0.08); + } + + .csw-fab-mark { + align-items: center; + display: block; + font-size: 23px; + font-weight: 650; + line-height: 1; + margin-left: 1px; + transform: translateY(-1px); + } + + .csw-fab-badge { + align-items: center; + background: var(--csw-badge-bg); + border: 1px solid var(--csw-badge-border); + border-radius: 999px; + color: var(--csw-badge-fg); + display: flex; + font-size: 11px; + font-weight: 700; + height: 18px; + justify-content: center; + min-width: 18px; + padding: 0 4px; + position: absolute; + right: -4px; + top: -5px; + } + + .csw-fab[data-count="0"] .csw-fab-badge { + display: none; + } + + .csw-popover { + background: var(--csw-bg); + border: 1px solid var(--csw-border); + border-radius: 8px; + box-shadow: var(--csw-popover-shadow); + box-sizing: border-box; + display: none; + max-height: calc(100vh - 28px); + overflow: hidden; + pointer-events: auto; + position: fixed; + width: min(380px, calc(100vw - 28px)); + } + + .csw-popover[data-open="true"] { + display: block; + } + + .csw-head { + align-items: center; + border-bottom: 1px solid var(--csw-border); + display: flex; + gap: 8px; + justify-content: space-between; + padding: 9px 10px 9px 12px; + } + + .csw-title { + font-size: 13px; + font-weight: 700; + } + + .csw-tabs { + align-items: center; + display: flex; + gap: 2px; + } + + .csw-icon { + align-items: center; + appearance: none; + background: transparent; + border: 0; + border-radius: 7px; + color: var(--csw-muted); + cursor: pointer; + display: inline-flex; + font: 600 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif; + height: 30px; + justify-content: center; + padding: 0 8px; + width: 30px; + } + + .csw-icon[data-active="true"], + .csw-icon:hover { + background: var(--csw-soft); + color: var(--csw-text); + } + + .csw-icon svg { + display: block; + height: 18px; + width: 18px; + } + + .csw-icon[data-action="close"] { + font-size: 17px; + font-weight: 500; + } + + .csw-body { + max-height: calc(100vh - 78px); + overflow: auto; + padding: 10px; + } + + .csw-list { + display: grid; + gap: 6px; + } + + .csw-row { + appearance: none; + background: var(--csw-row); + border: 1px solid var(--csw-border); + border-radius: 7px; + color: inherit; + cursor: pointer; + display: block; + min-height: 0; + padding: 8px 9px; + text-align: left; + width: 100%; + } + + .csw-row:hover, + .csw-row:focus-visible { + background: var(--csw-soft); + outline: none; + } + + .csw-row-label { + color: var(--csw-text); + display: block; + font-size: 12px; + font-weight: 700; + margin-bottom: 3px; + } + + .csw-row-prompt { + color: var(--csw-muted); + display: -webkit-box; + font-size: 12px; + line-height: 1.42; + -webkit-box-orient: vertical; + -webkit-line-clamp: 2; + overflow: hidden; + } + + .csw-row:hover .csw-row-prompt, + .csw-row:focus-visible .csw-row-prompt { + -webkit-line-clamp: 5; + } + + .csw-empty { + background: var(--csw-row); + border: 1px solid var(--csw-border); + border-radius: 7px; + color: var(--csw-muted); + padding: 12px; + } + + .csw-form { + display: grid; + gap: 10px; + } + + .csw-switch { + align-items: center; + background: var(--csw-row); + border: 1px solid var(--csw-border); + border-radius: 7px; + box-sizing: border-box; + cursor: pointer; + display: flex; + gap: 10px; + justify-content: space-between; + min-height: 40px; + padding: 8px 9px; + } + + .csw-switch input { + height: 1px; + opacity: 0; + position: absolute; + width: 1px; + } + + .csw-switch-text { + display: grid; + gap: 2px; + } + + .csw-switch-title { + color: var(--csw-text); + font-size: 12px; + font-weight: 750; + line-height: 1.25; + } + + .csw-switch-note { + color: var(--csw-muted); + font-size: 11px; + line-height: 1.35; + } + + .csw-switch-control { + background: var(--csw-soft); + border: 1px solid var(--csw-border); + border-radius: 999px; + box-sizing: border-box; + flex: 0 0 auto; + height: 22px; + padding: 2px; + transition: background 140ms ease, border-color 140ms ease; + width: 38px; + } + + .csw-switch-control::before { + background: var(--csw-muted); + border-radius: 999px; + content: ""; + display: block; + height: 16px; + transition: transform 140ms ease, background 140ms ease; + width: 16px; + } + + .csw-switch input:checked + .csw-switch-control { + background: var(--csw-text); + border-color: var(--csw-text); + } + + .csw-switch input:checked + .csw-switch-control::before { + background: var(--csw-bg); + transform: translateX(16px); + } + + .csw-grid { + display: grid; + gap: 8px; + grid-template-columns: 1fr 1fr; + } + + .csw-section { + display: grid; + gap: 8px; + } + + .csw-section-title { + color: var(--csw-text); + font-size: 11px; + font-weight: 750; + line-height: 1.2; + } + + .csw-field { + display: grid; + gap: 4px; + } + + .csw-field label { + color: var(--csw-muted); + font-size: 11px; + font-weight: 600; + } + + .csw-field input { + background: var(--csw-input); + border: 1px solid var(--csw-border); + border-radius: 6px; + box-sizing: border-box; + color: var(--csw-text); + font: inherit; + height: 32px; + padding: 0 8px; + width: 100%; + } + + .csw-field[data-disabled="true"] { + opacity: .48; + } + + .csw-field input:disabled { + cursor: not-allowed; + } + + .csw-check { + align-items: center; + background: var(--csw-row); + border: 1px solid var(--csw-border); + border-radius: 7px; + box-sizing: border-box; + cursor: pointer; + display: flex; + gap: 8px; + min-height: 34px; + padding: 8px 9px; + } + + .csw-check input { + accent-color: var(--csw-text); + flex: 0 0 auto; + height: 14px; + margin: 0; + width: 14px; + } + + .csw-check span { + color: var(--csw-text); + font-size: 12px; + font-weight: 650; + line-height: 1.35; + } + + .csw-actions { + display: flex; + gap: 7px; + padding-top: 2px; + } + + .csw-primary, + .csw-secondary { + appearance: none; + border-radius: 6px; + cursor: pointer; + font: 700 12px/1 -apple-system, BlinkMacSystemFont, "SF Pro Text", sans-serif; + height: 31px; + padding: 0 11px; + } + + .csw-primary { + background: var(--csw-text); + border: 0; + color: var(--csw-bg); + } + + .csw-secondary { + background: transparent; + border: 1px solid var(--csw-border); + color: var(--csw-text); + } + + .csw-primary:disabled, + .csw-secondary:disabled { + cursor: not-allowed; + opacity: .46; + } + + .csw-status { + color: var(--csw-muted); + font-size: 11px; + min-height: 16px; + } + + `; + document.head.appendChild(style); + } + + function defaultPosition() { + return clampPosition({ + x: window.innerWidth - 76, + y: window.innerHeight - 174, + }); + } + + function savedPosition() { + try { + const parsed = JSON.parse(localStorage.getItem(POSITION_KEY) || "null"); + if (Number.isFinite(parsed?.x) && Number.isFinite(parsed?.y)) return clampPosition(parsed); + } catch {} + return defaultPosition(); + } + + function clampPosition(position) { + const margin = 12; + const size = 44; + return { + x: clamp(Number(position?.x) || 0, margin, Math.max(margin, window.innerWidth - size - margin)), + y: clamp(Number(position?.y) || 0, margin, Math.max(margin, window.innerHeight - size - margin)), + }; + } + + function savePosition(position) { + state.position = clampPosition(position); + localStorage.setItem(POSITION_KEY, JSON.stringify(state.position)); + applyPosition(); + } + + function applyPosition() { + if (!state.fab || !state.position) return; + state.position = clampPosition(state.position); + state.fab.style.left = `${state.position.x}px`; + state.fab.style.top = `${state.position.y}px`; + positionPopover(); + } + + function positionPopover() { + if (!state.popover || !state.position) return; + const width = Math.min(380, window.innerWidth - 28); + const measuredHeight = state.popover.offsetHeight || 260; + const height = Math.min(measuredHeight, window.innerHeight - 28); + const margin = 14; + const leftSide = state.position.x > window.innerWidth / 2; + const x = leftSide ? state.position.x - width - 12 : state.position.x + 56; + const y = state.position.y > window.innerHeight / 2 ? state.position.y - height + 44 : state.position.y; + state.popover.style.left = `${clamp(x, margin, Math.max(margin, window.innerWidth - width - margin))}px`; + state.popover.style.top = `${clamp(y, margin, Math.max(margin, window.innerHeight - height - margin))}px`; + } + + function installFloat() { + if (!isCurrentInstance()) return; + document.querySelectorAll?.(`[${ROOT_ATTR}="true"]`).forEach((node) => { + if (node !== state.root) node.remove(); + }); + if (state.root && document.body.contains(state.root)) return; + + state.position = savedPosition(); + state.root = document.createElement("div"); + state.root.setAttribute(ROOT_ATTR, "true"); + + state.fab = document.createElement("button"); + state.fab.className = "csw-fab"; + state.fab.type = "button"; + state.fab.title = "Stepwise"; + state.fab.innerHTML = `0`; + + state.popover = document.createElement("div"); + state.popover.className = "csw-popover"; + + state.root.append(state.fab, state.popover); + document.body.appendChild(state.root); + + state.fab.addEventListener("pointerdown", onFabPointerDown); + state.fab.addEventListener("click", onFabClick); + window.addEventListener("resize", onResize); + installThemeObserver(); + syncTheme(); + applyPosition(); + renderFloat(); + } + + function onResize() { + if (!state.position) return; + state.position = clampPosition(state.position); + applyPosition(); + } + + function onFabPointerDown(event) { + if (event.button !== 0) return; + state.drag = { + id: event.pointerId, + startX: event.clientX, + startY: event.clientY, + originX: state.position.x, + originY: state.position.y, + moved: false, + }; + state.fab.setPointerCapture?.(event.pointerId); + state.fab.addEventListener("pointermove", onFabPointerMove); + state.fab.addEventListener("pointerup", onFabPointerUp, { once: true }); + state.fab.addEventListener("pointercancel", onFabPointerUp, { once: true }); + } + + function onFabPointerMove(event) { + const drag = state.drag; + if (!drag || drag.id !== event.pointerId) return; + const dx = event.clientX - drag.startX; + const dy = event.clientY - drag.startY; + if (Math.abs(dx) + Math.abs(dy) > 4) drag.moved = true; + if (!drag.moved) return; + event.preventDefault(); + savePosition({ x: drag.originX + dx, y: drag.originY + dy }); + } + + function onFabPointerUp(event) { + const drag = state.drag; + state.fab.removeEventListener("pointermove", onFabPointerMove); + state.fab.releasePointerCapture?.(event.pointerId); + window.setTimeout(() => { + if (state.drag === drag) state.drag = null; + }, 0); + } + + function onFabClick(event) { + if (state.drag?.moved) { + event.preventDefault(); + event.stopPropagation(); + return; + } + state.open = !state.open; + renderFloat(); + } + + function renderFloat() { + if (!isCurrentInstance()) return; + installStyle(); + installFloat(); + if (!state.fab || !state.popover) return; + syncTheme(); + const count = state.prompts.length; + state.fab.dataset.count = String(count); + state.fab.querySelector(".csw-fab-badge").textContent = String(count); + state.popover.dataset.open = state.open ? "true" : "false"; + if (!state.open) return; + + state.popover.innerHTML = ` +
+
${state.activeTab === "settings" ? "Settings" : "Stepwise"}
+
+ + + +
+
+
${state.activeTab === "settings" ? settingsHtml() : nextHtml()}
+ `; + + state.popover.querySelector("[data-action='settings-toggle']")?.addEventListener("click", () => { + state.activeTab = state.activeTab === "settings" ? "next" : "settings"; + if (state.activeTab === "settings") void loadSettings(); + renderFloat(); + }); + state.popover.querySelector("[data-action='close']")?.addEventListener("click", () => { + state.open = false; + renderFloat(); + }); + state.popover.querySelector("[data-action='theme']")?.addEventListener("click", toggleCodexTheme); + + if (state.activeTab === "settings") attachSettingsEvents(); + else attachNextEvents(); + positionPopover(); + } + + function nextHtml() { + if (state.bridgeStatus === "pending") { + return `
生成中...
`; + } + if (!state.prompts.length) { + const text = state.bridgeError || "当前没有可用建议"; + return `
${escapeHtml(text)}
`; + } + return `
${state.prompts.map((item, index) => ` + + `).join("")}
`; + } + + function attachNextEvents() { + state.popover.querySelectorAll(".csw-row").forEach((button) => { + button.addEventListener("click", () => void selectPrompt(button)); + }); + } + + async function selectPrompt(button) { + const item = state.prompts[Number(button.dataset.index)]; + if (!item?.prompt) return; + if (state.settings) { + fillSelectedPrompt(item.prompt, state.settings); + return; + } + + pushDiagnostic("settings:missing-before-click", {}); + const settings = await ensureSettings(); + if (!isCurrentInstance()) return; + fillSelectedPrompt(item.prompt, settings); + } + + function fillSelectedPrompt(prompt, settings) { + pushDiagnostic("settings:click-mode", { + directSend: settings?.directSend === true, + }); + fillComposer(prompt, settings?.directSend === true); + state.open = false; + renderFloat(); + } + + function settingsHtml() { + const settings = state.settings; + if (!settings) return `
读取中...
`; + return ` +
+
${escapeHtml(statusLine(settings))}
+
+
配置摘要
+
Model: ${escapeHtml(settings.model || "未配置")}
+
最多建议: ${escapeHtml(settings.maxItems ?? 6)}
+
Direct Send: ${settings.directSend ? "开启" : "关闭"}
+
+
+ + + +
+
${escapeHtml(state.settingsStatus || "")}
+
+ `; + } + + function statusLine(settings) { + if (settings.enabled !== true) return "Stepwise 已关闭,请在 Codex++ Manager 里开启。"; + if (!settings.baseUrlConfigured || !settings.model) return "Stepwise 已开启,但 Base URL 或 Model 未配置。"; + if (!settings.apiKeyConfigured) return `Stepwise 已开启,但 API Key 未配置;可填写密钥或设置 ${settings.apiKeyEnv || "环境变量"}。`; + return `Stepwise 已开启 · ${settings.model || ""}`.replace(/\s+·\s+$/, ""); + } + + function attachSettingsEvents() { + state.popover.querySelector("[data-action='open-manager']")?.addEventListener("click", () => void openManager()); + state.popover.querySelector("[data-action='test-settings']")?.addEventListener("click", () => void testSettings()); + state.popover.querySelector("[data-action='reset-position']")?.addEventListener("click", () => { + localStorage.removeItem(POSITION_KEY); + state.position = defaultPosition(); + applyPosition(); + state.settingsStatus = "位置已重置"; + renderFloat(); + }); + } + + async function loadSettings() { + const payload = await bridgeCall("/stepwise/settings", {}); + if (!isCurrentInstance()) return null; + if (payload?.settings) { + state.settings = payload.settings; + state.settingsStatus = statusLine(payload.settings); + } else { + state.settingsStatus = payload?.error || "Bridge 未就绪"; + } + if (state.activeTab === "settings" && state.open) renderFloat(); + return state.settings; + } + + async function ensureSettings() { + if (state.settings) return state.settings; + if (!settingsPromise) { + settingsPromise = loadSettings().finally(() => { + settingsPromise = null; + }); + } + return settingsPromise; + } + + async function testSettings() { + state.settingsStatus = "测试中..."; + renderFloat(); + const payload = await bridgeCall("/stepwise/test", {}); + if (!isCurrentInstance()) return; + const count = Array.isArray(payload?.items) ? payload.items.length : 0; + state.settingsStatus = payload?.error || (payload?.disabled ? "已关闭" : `测试通过 · ${count} 条`); + renderFloat(); + } + + async function openManager() { + state.settingsStatus = "正在打开 Codex++ Manager..."; + renderFloat(); + const payload = await bridgeCall("/manager/open", {}); + if (!isCurrentInstance()) return; + state.settingsStatus = payload?.status === "ok" ? "已打开 Manager" : payload?.message || "打开失败"; + renderFloat(); + } + + function bridgeCall(path, payload) { + if (typeof window[PAGE_BRIDGE] !== "function") { + return Promise.resolve({ error: "page bridge is not installed", items: [] }); + } + let timer = 0; + const timeout = new Promise((resolve) => { + timer = window.setTimeout(() => resolve({ error: "page bridge timed out", items: [] }), BRIDGE_TIMEOUT_MS); + }); + const request = Promise.resolve(window[PAGE_BRIDGE](path, payload || {})); + return Promise.race([request, timeout]).finally(() => window.clearTimeout(timer)); + } + + function roleFromElement(node) { + if (!(node instanceof Element)) return ""; + const explicit = node.getAttribute("data-message-author-role"); + if (explicit) return explicit.toLowerCase(); + + const text = elementText(node); + if (/^(assistant|codex|assistant\s+said)\b/i.test(text)) return "assistant"; + if (/^(user|you)\b/i.test(text)) return "user"; + return ""; + } + + function chatRoot() { + return Array.from(document.querySelectorAll(".thread-scroll-container")) + .find((node) => visibleElement(node)) || null; + } + + function composerCandidates() { + return Array.from( + document.querySelectorAll( + [ + "textarea", + "[contenteditable='true']", + "[role='textbox']", + "div.ProseMirror", + ].join(",") + ) + ).filter((node) => { + if (!(node instanceof HTMLElement)) return false; + if (state.root?.contains(node)) return false; + const rect = node.getBoundingClientRect(); + if (rect.width < 120 || rect.height < 20) return false; + if (rect.bottom < window.innerHeight * 0.35) return false; + return true; + }); + } + + function buttonLabel(node) { + return normalizeText(node.getAttribute("aria-label") || node.getAttribute("title") || node.textContent || ""); + } + + function sendButtonLabel(label) { + return /^(send message|send|发送消息|发送|提交)$/i.test(label); + } + + function stopButtonLabel(label) { + return /^(stop|停止)$/i.test(label); + } + + function iconPathData(node) { + return Array.from(node.querySelectorAll?.("svg path") || []) + .map((path) => path.getAttribute("d") || "") + .join("\n"); + } + + function stopButtonIcon(node) { + const data = iconPathData(node); + return /H14\.25C14\.9404 4\.5 15\.5 5\.05964 15\.5 5\.75V14\.25C15\.5 14\.9404/.test(data); + } + + function stopButton(node) { + return stopButtonLabel(buttonLabel(node)) || stopButtonIcon(node); + } + + function disabledButton(node) { + return Boolean(node.disabled || node.getAttribute("aria-disabled") === "true" || node.dataset.disabled === "true"); + } + + function submitButtonCandidate(button, containerRect) { + const label = buttonLabel(button); + if (stopButton(button)) return false; + if (sendButtonLabel(label)) return true; + if (label) return false; + + const rect = visibleRect(button); + if (!rect || !containerRect) return false; + const className = String(button.className || ""); + const compactIcon = rect.width >= 24 && rect.width <= 48 && rect.height >= 24 && rect.height <= 48; + const composerIcon = className.includes("size-token-button-composer") || className.includes("bg-token-foreground"); + const lowerRight = rect.left > containerRect.left + containerRect.width * 0.58 && + rect.top > containerRect.top + containerRect.height * 0.42; + return compactIcon && composerIcon && lowerRight; + } + + function nearbySubmitButton(target, options = {}) { + const includeDisabled = options.includeDisabled === true; + let current = target?.parentElement || null; + for (let depth = 0; current && depth < 8; depth += 1, current = current.parentElement) { + if (current === document.body || current === document.documentElement) break; + if (state.root?.contains(current)) return null; + const buttons = Array.from(current.querySelectorAll("button,[role='button']")) + .filter((node) => node instanceof HTMLElement && !state.root?.contains(node) && visibleElement(node) && (includeDisabled || !disabledButton(node))); + + const labeled = buttons.find((button) => sendButtonLabel(buttonLabel(button))); + if (labeled) return labeled; + + const rect = visibleRect(current); + if (rect && rect.width > 260 && rect.height > 52) { + const lowerRight = buttons + .filter((button) => !stopButton(button)) + .filter((button) => submitButtonCandidate(button, rect)) + .sort((a, b) => b.getBoundingClientRect().right - a.getBoundingClientRect().right); + if (lowerRight.length) return lowerRight[0]; + } + } + return null; + } + + function chatSurfaceReady() { + if (!chatRoot()) return false; + if (!composerCandidates().length) return false; + return !chatBusy(); + } + + function chatBusy() { + const root = chatRoot(); + if (!root) return false; + + return Array.from(root.querySelectorAll("button,[role='button']")).some((node) => { + if (!visibleElement(node)) return false; + const label = normalizeText(node.getAttribute("aria-label") || node.textContent || ""); + return /^(停止|stop)$/i.test(label); + }); + } + + function composerBusy(target) { + let current = target?.parentElement || null; + for (let depth = 0; current && depth < 8; depth += 1, current = current.parentElement) { + if (current === document.body || current === document.documentElement) break; + if (state.root?.contains(current)) return false; + const buttons = Array.from(current.querySelectorAll("button,[role='button']")); + if (buttons.some((node) => { + if (!visibleElement(node)) return false; + return stopButton(node); + })) return true; + } + return false; + } + + function messageCandidates() { + const root = chatRoot(); + if (!root) return []; + + const selectors = [ + "[data-message-author-role]", + "[data-thread-find-target]", + "[data-testid*='message' i]", + "[data-test-id*='message' i]", + "article", + ].join(","); + + return Array.from(root.querySelectorAll(selectors)) + .filter(visibleElement) + .map((node) => ({ + node, + role: roleFromElement(node), + text: elementText(node), + })) + .filter((item) => item.text.length > 8); + } + + function actionButton(node) { + const label = normalizeText(node.getAttribute("aria-label") || node.textContent || ""); + return /^(复制|喜欢|不喜欢|从此处开始分叉|挂钩|copy|like|dislike|fork)/i.test(label); + } + + function actionRowForMessage(root) { + const buttons = Array.from(root.querySelectorAll("button,[role='button']")).filter(actionButton); + for (const button of buttons) { + let current = button.parentElement; + for (let depth = 0; current && depth < 5; depth += 1, current = current.parentElement) { + const rect = visibleRect(current); + if (!rect || rect.height > 96) continue; + const count = Array.from(current.querySelectorAll("button,[role='button']")).filter(actionButton).length; + if (count >= 3) return current; + } + } + return null; + } + + function containsActionRow(node) { + return Boolean(node && actionRowForMessage(node)); + } + + function assistantContainerForActionRow(actionRow) { + let current = actionRow?.parentElement; + + for (let depth = 0; current && depth < 7; depth += 1, current = current.parentElement) { + const text = directText(current); + if (text.length < 24) continue; + if (text.length > MAX_TEXT_LENGTH) continue; + if (!containsActionRow(current)) continue; + return current; + } + + return null; + } + + function allActionRows() { + const root = chatRoot(); + if (!root) return []; + + const rows = []; + const seen = new Set(); + const buttons = Array.from(root.querySelectorAll("button,[role='button']")).filter(actionButton); + + for (const button of buttons) { + let current = button.parentElement; + for (let depth = 0; current && depth < 5; depth += 1, current = current.parentElement) { + if (seen.has(current)) continue; + if (!visibleElement(current)) continue; + const rect = visibleRect(current); + if (!rect || rect.height > 96) continue; + const count = Array.from(current.querySelectorAll("button,[role='button']")).filter(actionButton).length; + if (count < 3) continue; + seen.add(current); + rows.push(current); + break; + } + } + + return rows; + } + + function findLatestAssistantMessage() { + const rows = allActionRows(); + for (let index = rows.length - 1; index >= 0; index -= 1) { + const node = assistantContainerForActionRow(rows[index]); + const text = elementText(node); + if (text.length > 8) return { node, role: "assistant", text }; + } + + const fallback = messageCandidates().filter((item) => item.role === "assistant"); + return fallback[fallback.length - 1] || null; + } + + function findPreviousUserText(assistantNode) { + const candidates = messageCandidates(); + const before = candidates.filter((item) => { + if (item.node === assistantNode) return false; + if (!(item.node instanceof Node) || !(assistantNode instanceof Node)) return false; + return Boolean(item.node.compareDocumentPosition(assistantNode) & Node.DOCUMENT_POSITION_FOLLOWING); + }); + + for (let cursor = before.length - 1; cursor >= 0; cursor -= 1) { + const item = before[cursor]; + if (item.role === "user") return shortText(item.text, 2000); + if (/^(user|you)\b/i.test(item.text)) return shortText(item.text, 2000); + } + return ""; + } + + function hideStepwisePayload(root) { + if (!(root instanceof Element)) return; + + const blocks = Array.from(root.querySelectorAll("pre, code")).filter((node) => { + if (!(node instanceof Element)) return false; + return /"codex_stepwise"\s*:\s*true/.test(node.textContent || ""); + }); + + for (const block of blocks) { + const container = block.closest("[class*='_codeBlock_'], pre") || block; + container.setAttribute(PAYLOAD_ATTR, "true"); + } + } + + function uniquePrompts(items) { + const seen = new Set(); + const result = []; + for (const item of items) { + const prompt = normalizeText(typeof item === "string" ? item : item.prompt).replace(/\s+/g, " "); + if (!prompt || seen.has(prompt)) continue; + seen.add(prompt); + result.push({ + label: normalizeText(typeof item === "string" ? labelForPrompt(prompt) : item.label || labelForPrompt(prompt)), + prompt, + }); + if (result.length >= MAX_STEPWISE_ITEMS) break; + } + return result; + } + + function labelForPrompt(prompt) { + const text = normalizeText(prompt); + const rules = [ + [/diff|风险分级|改动.*总结/i, "查看 diff"], + [/commit|提交/i, "整理 commit"], + [/截图验证|遮挡|浮球|面板/i, "验证界面"], + [/设置|配置|Bridge|API/i, "检查配置"], + [/Codex\+\+|用户脚本|reload|生效/i, "检查脚本"], + [/只读验证|确认.*生效|验证步骤/i, "验证生效"], + [/错误|失败|最小复现|排查/i, "继续排查"], + [/P0|P1|P2|执行顺序/i, "分级排序"], + [/维护成本|长期稳定性|审查/i, "重新审查"], + [/文件路径|当前状态|继续追踪/i, "列出路径"], + [/下一步|改哪些文件/i, "继续下一步"], + [/遗漏的风险|回滚方式/i, "风险回滚"], + ]; + + for (const [pattern, label] of rules) { + if (pattern.test(text)) return label; + } + + return text + .replace(/^(帮我|请|把|给我|继续|检查|执行一次|基于刚才的)/, "") + .replace(/[,。,.].*$/, "") + .trim() + .slice(0, 10) || "继续"; + } + + function parseStepwiseJson(text) { + const blocks = Array.from(text.matchAll(/```(?:json)?\s*([\s\S]*?)```/gi)) + .map((match) => match[1]) + .filter((block) => /"codex_stepwise"\s*:\s*true/.test(block)); + + for (const block of blocks.reverse()) { + const parsed = parsePayloadCandidate(block); + if (parsed) return parsed; + } + return parsePayloadCandidate(extractJsonObject(text)); + } + + function parsePayloadCandidate(value) { + const text = normalizeText(value) + .replace(/^```(?:json)?/i, "") + .replace(/```$/i, "") + .replace(/^json\s+/i, "") + .trim(); + + if (!/"codex_stepwise"\s*:\s*true/.test(text)) return null; + + try { + const parsed = JSON.parse(text); + return parsed && parsed.codex_stepwise === true ? parsed : null; + } catch { + return null; + } + } + + function extractJsonObject(text) { + const source = String(text || ""); + const marker = source.search(/"codex_stepwise"\s*:\s*true/); + if (marker < 0) return ""; + + const start = source.lastIndexOf("{", marker); + if (start < 0) return ""; + + let depth = 0; + let inString = false; + let escaped = false; + + for (let index = start; index < source.length; index += 1) { + const char = source[index]; + if (escaped) { + escaped = false; + continue; + } + if (char === "\\") { + escaped = true; + continue; + } + if (char === "\"") { + inString = !inString; + continue; + } + if (inString) continue; + if (char === "{") depth += 1; + if (char === "}") depth -= 1; + if (depth === 0) return source.slice(start, index + 1); + } + + return ""; + } + + function stripStepwisePayloadText(text) { + const withoutFence = String(text || "").replace(/```(?:json)?\s*[\s\S]*?"codex_stepwise"\s*:\s*true[\s\S]*?```/gi, ""); + const payloadObject = extractJsonObject(withoutFence); + return normalizeText(payloadObject ? withoutFence.replace(payloadObject, "") : withoutFence); + } + + function payloadFromDom(root) { + if (!(root instanceof Element)) return null; + const blocks = Array.from(root.querySelectorAll("pre, code")) + .filter((node) => /"codex_stepwise"\s*:\s*true/.test(node.textContent || "")); + + for (const block of blocks.reverse()) { + const parsed = parsePayloadCandidate(block.textContent || ""); + if (parsed) return parsed; + } + + return null; + } + + function payloadPrompts(payload) { + if (!payload || !Array.isArray(payload.items)) return []; + const items = payload.items + .slice(0, MAX_STEPWISE_ITEMS) + .map((item) => { + const prompt = shortText(item?.prompt || "", MAX_PROMPT_LENGTH).replace(/\s+/g, " "); + const label = shortText(item?.label || "", 36).replace(/\s+/g, " "); + return prompt ? { label: label || labelForPrompt(prompt), prompt } : null; + }) + .filter(Boolean); + return uniquePrompts(items); + } + + function extractStepwisePayload(message) { + const text = elementText(message.node); + const payload = payloadFromDom(message.node) || parseStepwiseJson(text); + return { + payload, + prompts: payloadPrompts(payload), + textWithoutPayload: stripStepwisePayloadText(text), + }; + } + + function bridgeRequestKey(userText, assistantText) { + return hashText(`${shortText(userText, 2400)}\n\n--- assistant ---\n\n${shortText(assistantText, 5200)}`); + } + + function requestBridgeStepwise(key, userText, assistantText) { + if (!key || state.bridgePendingHash === key || state.bridgeCache.has(key)) return; + + state.bridgePendingHash = key; + state.bridgeStatus = "pending"; + state.bridgeError = ""; + renderFloat(); + + bridgeCall( + "/stepwise/generate", + { + request: { + lastUserMessage: userText, + lastAssistantMessage: assistantText, + threadTitle: document.title || "", + pageUrl: location.href, + }, + } + ) + .then((payload) => { + if (!isCurrentInstance()) return; + const prompts = payload?.disabled || payload?.error ? [] : payloadPrompts(payload); + state.bridgeCache.set(key, { + disabled: Boolean(payload?.disabled), + error: normalizeText(payload?.error || ""), + prompts, + }); + state.bridgeStatus = payload?.disabled ? "disabled" : payload?.error ? "failed" : "ok"; + state.bridgeError = normalizeText(payload?.error || ""); + }) + .catch((error) => { + if (!isCurrentInstance()) return; + state.bridgeCache.set(key, { disabled: true, error: error.message, prompts: [] }); + state.bridgeStatus = "failed"; + state.bridgeError = error.message; + }) + .finally(() => { + if (!isCurrentInstance()) return; + if (state.bridgePendingHash === key) state.bridgePendingHash = ""; + scheduleScan(0); + }); + } + + function setNativeValue(element, value) { + const prototype = Object.getPrototypeOf(element); + const descriptor = Object.getOwnPropertyDescriptor(prototype, "value"); + if (descriptor && typeof descriptor.set === "function") descriptor.set.call(element, value); + else element.value = value; + } + + function composerText(target) { + if (target instanceof HTMLTextAreaElement || target instanceof HTMLInputElement) return normalizeText(target.value); + return normalizeText(target?.textContent || ""); + } + + function pressEnter(target) { + target.focus(); + const base = { + key: "Enter", + code: "Enter", + keyCode: 13, + which: 13, + bubbles: true, + cancelable: true, + composed: true, + }; + const down = target.dispatchEvent(new KeyboardEvent("keydown", base)); + target.dispatchEvent(new KeyboardEvent("keypress", base)); + target.dispatchEvent(new KeyboardEvent("keyup", base)); + pushDiagnostic("submit:enter-fallback", { defaultAllowed: down }); + return true; + } + + function submitComposer(target, allowFallback = false) { + if (!(target instanceof HTMLElement)) return false; + if (composerBusy(target)) { + pushDiagnostic("submit:blocked-local-stop", { attemptFallback: allowFallback }); + return false; + } + + const button = nearbySubmitButton(target); + if (button) { + pushDiagnostic("submit:button-click", { + label: buttonLabel(button), + disabled: disabledButton(button), + rect: rectSummary(button), + className: String(button.className || "").slice(0, 160), + composerTextLength: composerText(target).length, + iconPath: iconPathData(button).slice(0, 160), + }); + button.click(); + return true; + } + + const pendingButton = nearbySubmitButton(target, { includeDisabled: true }); + if (pendingButton && disabledButton(pendingButton)) { + pushDiagnostic("submit:button-disabled", { + label: buttonLabel(pendingButton), + rect: rectSummary(pendingButton), + className: String(pendingButton.className || "").slice(0, 160), + composerTextLength: composerText(target).length, + iconPath: iconPathData(pendingButton).slice(0, 160), + }); + return false; + } + + const form = target.closest("form"); + if (form && allowFallback) { + pushDiagnostic("submit:form-fallback", { rect: rectSummary(form) }); + try { + form.requestSubmit(); + } catch { + pushDiagnostic("submit:form-fallback-failed", {}); + return false; + } + return true; + } + + if (allowFallback) return pressEnter(target); + pushDiagnostic("submit:no-button-yet", { allowFallback }); + return false; + } + + function submitComposerWhenReady(target, expectedText = "", attempt = 0) { + if (!(target instanceof HTMLElement)) return false; + if (!document.contains(target)) { + pushDiagnostic("submit:target-detached", { attempt }); + return false; + } + if (normalizeText(expectedText) && composerText(target) !== normalizeText(expectedText)) { + pushDiagnostic("submit:composer-changed", { + attempt, + expectedLength: normalizeText(expectedText).length, + actualLength: composerText(target).length, + }); + return false; + } + if (composerBusy(target)) { + if (attempt === 0 || attempt % 10 === 0 || attempt >= SUBMIT_RETRY_LIMIT) { + pushDiagnostic("submit:blocked-local-stop", { + attempt, + retrying: attempt < SUBMIT_RETRY_LIMIT, + targetRect: rectSummary(target), + }); + } + if (attempt >= SUBMIT_RETRY_LIMIT) { + pushDiagnostic("submit:blocked-local-stop-timeout", { attempt, targetRect: rectSummary(target) }); + return false; + } + window.setTimeout(() => submitComposerWhenReady(target, expectedText, attempt + 1), SUBMIT_RETRY_DELAY_MS); + return false; + } + if (submitComposer(target, attempt >= SUBMIT_RETRY_LIMIT)) return true; + if (attempt >= SUBMIT_RETRY_LIMIT) return false; + window.setTimeout(() => submitComposerWhenReady(target, expectedText, attempt + 1), SUBMIT_RETRY_DELAY_MS); + return false; + } + + function setEditableText(target, prompt) { + target.focus(); + const selection = window.getSelection?.(); + const range = document.createRange(); + range.selectNodeContents(target); + selection?.removeAllRanges(); + selection?.addRange(range); + + let inserted = false; + try { + inserted = document.execCommand?.("insertText", false, prompt) === true; + } catch { + inserted = false; + } + if (!inserted) target.textContent = prompt; + } + + function fillComposer(prompt, submit = false) { + const candidates = composerCandidates(); + const target = candidates[candidates.length - 1]; + pushDiagnostic("fill:start", { + submit, + candidateCount: candidates.length, + targetTag: target?.tagName || "", + targetRole: target?.getAttribute?.("role") || "", + targetClass: String(target?.className || "").slice(0, 120), + targetRect: rectSummary(target), + promptLength: normalizeText(prompt).length, + }); + if (!target) { + window.prompt("Copy Stepwise prompt", prompt); + return false; + } + + target.focus(); + if (target instanceof HTMLTextAreaElement || target instanceof HTMLInputElement) { + setNativeValue(target, prompt); + target.dispatchEvent(new InputEvent("input", { bubbles: true, inputType: "insertText", data: prompt })); + target.dispatchEvent(new Event("change", { bubbles: true })); + pushDiagnostic("fill:text-control", { valueLength: normalizeText(target.value).length }); + if (submit) submitComposerWhenReady(target, prompt); + return true; + } + + if (target.isContentEditable || target.getAttribute("role") === "textbox") { + setEditableText(target, prompt); + target.dispatchEvent(new InputEvent("input", { bubbles: true, inputType: "insertText", data: prompt })); + pushDiagnostic("fill:editable", { valueLength: normalizeText(target.textContent).length }); + if (submit) window.setTimeout(() => submitComposerWhenReady(target, prompt), EDITABLE_SUBMIT_DELAY_MS); + return true; + } + + window.prompt("Copy Stepwise prompt", prompt); + return false; + } + + function scan() { + if (!isCurrentInstance()) return; + state.timer = 0; + state.scans += 1; + installStyle(); + installFloat(); + + if (!chatSurfaceReady()) { + renderFloat(); + return; + } + + const message = findLatestAssistantMessage(); + if (!message) { + renderFloat(); + return; + } + + const stepwisePayload = extractStepwisePayload(message); + hideStepwisePayload(message.node); + + const assistantText = shortText(stepwisePayload.textWithoutPayload || message.text); + const hash = hashText(assistantText); + const now = Date.now(); + + if (hash !== state.lastAssistantHash) { + state.lastAssistantHash = hash; + state.lastAssistantAt = now; + scheduleScan(STREAM_IDLE_MS + 120); + return; + } + + if (now - state.lastAssistantAt < STREAM_IDLE_MS) { + scheduleScan(STREAM_IDLE_MS); + return; + } + + const userText = findPreviousUserText(message.node); + const bridgeKey = bridgeRequestKey(userText, assistantText); + const bridgeResult = state.bridgeCache.get(bridgeKey); + const prompts = bridgeResult?.prompts?.length ? bridgeResult.prompts : stepwisePayload.prompts; + + if (!bridgeResult) requestBridgeStepwise(bridgeKey, userText, assistantText); + + const nextHash = hashText(prompts.map((item) => `${item.label}\n${item.prompt}`).join("\n\n")); + if (state.currentHash !== `${hash}:${nextHash}`) { + state.currentHash = `${hash}:${nextHash}`; + state.prompts = prompts; + renderFloat(); + } + } + + function scheduleScan(delay = SCAN_DELAY_MS) { + if (!isCurrentInstance()) return; + if (state.timer) window.clearTimeout(state.timer); + state.timer = window.setTimeout(scan, delay); + } + + function installObserver() { + if (!isCurrentInstance()) return false; + const root = document.body || document.documentElement; + if (!root) return false; + + state.observer = new MutationObserver((mutations) => { + const relevant = mutations.some((mutation) => { + if (state.root?.contains(mutation.target)) return false; + return mutation.addedNodes.length || mutation.type === "characterData"; + }); + if (relevant) scheduleScan(); + }); + state.observer.observe(root, { + childList: true, + subtree: true, + characterData: true, + }); + return true; + } + + function stopRuntime() { + if (state.timer) window.clearTimeout(state.timer); + state.timer = 0; + window.removeEventListener("resize", onResize); + state.observer?.disconnect(); + state.observer = null; + state.themeObserver?.disconnect(); + state.themeObserver = null; + state.root?.remove(); + state.root = null; + state.fab = null; + state.popover = null; + document.getElementById(STYLE_ID)?.remove(); + state.open = false; + } + + function activateRuntime() { + installStyle(); + installFloat(); + if (!state.observer && !installObserver()) { + document.addEventListener( + "DOMContentLoaded", + () => { + if (!isCurrentInstance()) return; + installObserver(); + installFloat(); + void ensureSettings(); + scheduleScan(0); + }, + { once: true } + ); + } + scheduleScan(0); + } + + async function syncSettings(patch = {}) { + if (!isCurrentInstance()) return null; + if (patch && typeof patch === "object") { + state.settings = { ...(state.settings || {}), ...patch }; + } + if (patch?.enabled === false) { + stopRuntime(); + settingsPromise = null; + startupPromise = null; + const settings = await loadSettings(); + if (!isCurrentInstance()) return null; + if (settings?.enabled) activateRuntime(); + else pushDiagnostic("settings:disabled-sync", {}); + return settings; + } + if (patch?.enabled === true) { + pushDiagnostic("settings:enabled-sync", {}); + activateRuntime(); + return state.settings; + } + settingsPromise = null; + startupPromise = null; + const settings = await loadSettings(); + if (!isCurrentInstance()) return null; + if (!settings?.enabled) { + pushDiagnostic("settings:disabled-sync", {}); + stopRuntime(); + return settings; + } + pushDiagnostic("settings:enabled-sync", {}); + activateRuntime(); + return settings; + } + + function destroy() { + state.destroyed = true; + stopRuntime(); + if (window[API_KEY]?.instanceId === INSTANCE_ID) delete window[API_KEY]; + } + + function escapeHtml(value) { + return String(value ?? "") + .replace(/&/g, "&") + .replace(//g, ">") + .replace(/"/g, """) + .replace(/'/g, "'"); + } + + function escapeAttr(value) { + return escapeHtml(value); + } + + async function start() { + if (startupPromise) return startupPromise; + startupPromise = (async () => { + const settings = await ensureSettings(); + if (!isCurrentInstance()) return; + if (!settings?.enabled) { + pushDiagnostic("startup:disabled", {}); + startupPromise = null; + return; + } + activateRuntime(); + })(); + return startupPromise; + } + + window[API_KEY] = { + version: SCRIPT_VERSION, + instanceId: INSTANCE_ID, + state, + scan, + start, + destroy, + loadSettings, + syncSettings, + renderFloat, + diagnostics: () => state.diagnostics.slice(), + }; + + void start(); +})(); diff --git a/crates/codex-plus-core/src/assets.rs b/crates/codex-plus-core/src/assets.rs index a87ab5a6b..64c33f7ce 100644 --- a/crates/codex-plus-core/src/assets.rs +++ b/crates/codex-plus-core/src/assets.rs @@ -6,6 +6,7 @@ use std::path::Path; use crate::settings::BackendSettings; const RENDERER_SCRIPT: &str = include_str!("../../../assets/inject/renderer-inject.js"); +const STEPWISE_SCRIPT: &str = include_str!("../../../assets/inject/stepwise-inject.js"); const SPONSOR_ALIPAY: &[u8] = include_bytes!("../../../assets/images/sponsor-alipay.jpg"); const SPONSOR_WECHAT: &[u8] = include_bytes!("../../../assets/images/sponsor-wechat.jpg"); pub const DIAGNOSTIC_BUILD_ID: &str = "diag-20260518-1"; @@ -14,6 +15,10 @@ pub fn renderer_script() -> &'static str { RENDERER_SCRIPT } +pub fn stepwise_script() -> &'static str { + STEPWISE_SCRIPT +} + pub fn sponsor_image_data_uris() -> Value { json!({ "alipay": image_data_uri("image/jpeg", SPONSOR_ALIPAY), @@ -32,7 +37,7 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin let plugin_marketplaces = local_plugin_marketplaces(); let paste_fix = paste_fix_enabled_config(settings); format!( - "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\n{}", + "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\n{}\n{}", serde_json::to_string(&helper_url).expect("helper URL should serialize"), serde_json::to_string(&sponsor_images).expect("sponsor images should serialize"), serde_json::to_string(crate::version::VERSION).expect("version should serialize"), @@ -41,6 +46,7 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin serde_json::to_string(&plugin_marketplaces).expect("plugin marketplaces should serialize"), serde_json::to_string(&paste_fix).expect("paste fix config should serialize"), renderer_script(), + stepwise_script(), ) } diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 626898906..2bf426c21 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -31,6 +31,7 @@ pub mod routes; pub mod script_market; pub mod settings; pub mod status; +pub mod stepwise; pub mod update; pub mod upstream_worktree; pub mod user_scripts; diff --git a/crates/codex-plus-core/src/routes.rs b/crates/codex-plus-core/src/routes.rs index 82405b44c..4968a1cb3 100644 --- a/crates/codex-plus-core/src/routes.rs +++ b/crates/codex-plus-core/src/routes.rs @@ -91,6 +91,9 @@ pub trait BridgeRuntimeService: Send + Sync { async fn upstream_worktree_defaults(&self, payload: Value) -> anyhow::Result; async fn upstream_worktree_prepare(&self, payload: Value) -> anyhow::Result; async fn upstream_worktree_create(&self, payload: Value) -> anyhow::Result; + async fn stepwise_settings(&self) -> anyhow::Result; + async fn stepwise_generate(&self, payload: Value) -> anyhow::Result; + async fn stepwise_test(&self, payload: Value) -> anyhow::Result; } #[async_trait] @@ -196,6 +199,9 @@ pub async fn handle_bridge_request( ctx.runtime.upstream_worktree_prepare(payload.clone()).await } "/upstream-worktree/create" => ctx.runtime.upstream_worktree_create(payload.clone()).await, + "/stepwise/settings" => ctx.runtime.stepwise_settings().await, + "/stepwise/generate" => ctx.runtime.stepwise_generate(payload.clone()).await, + "/stepwise/test" => ctx.runtime.stepwise_test(payload.clone()).await, "/delete" => result_value(ctx.data.delete(session_from_payload(&payload)).await), "/undo" => { let undo_token = payload @@ -519,6 +525,30 @@ impl BridgeRuntimeService for CoreRuntimeService { async fn upstream_worktree_create(&self, payload: Value) -> anyhow::Result { Ok(crate::upstream_worktree::create_response(&payload)) } + + async fn stepwise_settings(&self) -> anyhow::Result { + let settings = SettingsStore::default().load().unwrap_or_default(); + Ok(json!({ + "status": "ok", + "settings": crate::stepwise::public_settings(&settings), + })) + } + + async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { + let settings = SettingsStore::default().load().unwrap_or_default(); + let request = payload.get("request").cloned().unwrap_or(payload); + let request = + serde_json::from_value::(request).unwrap_or_default(); + crate::stepwise::generate(request, &settings).await + } + + async fn stepwise_test(&self, payload: Value) -> anyhow::Result { + let settings = crate::stepwise::settings_with_payload( + SettingsStore::default().load().unwrap_or_default(), + &payload, + ); + crate::stepwise::test_connection(&settings).await + } } struct UnavailableDataService; @@ -623,6 +653,7 @@ fn settings_payload_value( ) -> anyhow::Result { let mut value = serde_json::to_value(settings)?; if let Some(object) = value.as_object_mut() { + object.remove("codexAppStepwiseApiKey"); object.insert( "codexAppVersion".to_string(), Value::String(codex_app_version), diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index 0d2ea6fa9..d3d30260f 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -237,6 +237,46 @@ pub struct BackendSettings { pub codex_app_native_menu_localization: bool, #[serde(rename = "codexAppServiceTierControls", default)] pub codex_app_service_tier_controls: bool, + #[serde(rename = "codexAppStepwiseEnabled", default)] + pub codex_app_stepwise_enabled: bool, + #[serde(rename = "codexAppStepwiseDirectSend", default)] + pub codex_app_stepwise_direct_send: bool, + #[serde(rename = "codexAppStepwiseBaseUrl", default)] + pub codex_app_stepwise_base_url: String, + #[serde(rename = "codexAppStepwiseApiKey", default)] + pub codex_app_stepwise_api_key: String, + #[serde( + rename = "codexAppStepwiseApiKeyEnv", + default = "default_stepwise_api_key_env", + deserialize_with = "empty_as_default_stepwise_api_key_env" + )] + pub codex_app_stepwise_api_key_env: String, + #[serde(rename = "codexAppStepwiseModel", default)] + pub codex_app_stepwise_model: String, + #[serde( + rename = "codexAppStepwiseMaxItems", + default = "default_stepwise_max_items", + deserialize_with = "deserialize_stepwise_max_items" + )] + pub codex_app_stepwise_max_items: u8, + #[serde( + rename = "codexAppStepwiseMaxInputChars", + default = "default_stepwise_max_input_chars", + deserialize_with = "deserialize_stepwise_max_input_chars" + )] + pub codex_app_stepwise_max_input_chars: u32, + #[serde( + rename = "codexAppStepwiseMaxOutputTokens", + default = "default_stepwise_max_output_tokens", + deserialize_with = "deserialize_stepwise_max_output_tokens" + )] + pub codex_app_stepwise_max_output_tokens: u32, + #[serde( + rename = "codexAppStepwiseTimeoutMs", + default = "default_stepwise_timeout_ms", + deserialize_with = "deserialize_stepwise_timeout_ms" + )] + pub codex_app_stepwise_timeout_ms: u64, #[serde(rename = "codexAppImageOverlayEnabled", default)] pub codex_app_image_overlay_enabled: bool, #[serde(rename = "codexAppImageOverlayPath", default)] @@ -326,6 +366,16 @@ impl Default for BackendSettings { codex_app_native_menu_placement: true, codex_app_native_menu_localization: true, codex_app_service_tier_controls: false, + codex_app_stepwise_enabled: false, + codex_app_stepwise_direct_send: false, + codex_app_stepwise_base_url: String::new(), + codex_app_stepwise_api_key: String::new(), + codex_app_stepwise_api_key_env: default_stepwise_api_key_env(), + codex_app_stepwise_model: String::new(), + codex_app_stepwise_max_items: default_stepwise_max_items(), + codex_app_stepwise_max_input_chars: default_stepwise_max_input_chars(), + codex_app_stepwise_max_output_tokens: default_stepwise_max_output_tokens(), + codex_app_stepwise_timeout_ms: default_stepwise_timeout_ms(), codex_app_image_overlay_enabled: false, codex_app_image_overlay_path: String::new(), codex_app_image_overlay_opacity: default_image_overlay_opacity(), @@ -472,6 +522,26 @@ pub fn default_api_key_env() -> String { "CUSTOM_OPENAI_API_KEY".to_string() } +pub fn default_stepwise_api_key_env() -> String { + "CODEX_STEPWISE_API_KEY".to_string() +} + +pub fn default_stepwise_max_items() -> u8 { + 6 +} + +pub fn default_stepwise_max_input_chars() -> u32 { + 6000 +} + +pub fn default_stepwise_max_output_tokens() -> u32 { + 500 +} + +pub fn default_stepwise_timeout_ms() -> u64 { + 8000 +} + fn default_image_overlay_opacity() -> u8 { 35 } @@ -480,6 +550,22 @@ fn clamp_image_overlay_opacity(value: u8) -> u8 { value.clamp(1, 100) } +pub fn clamp_stepwise_max_items(value: u8) -> u8 { + value.min(default_stepwise_max_items()) +} + +pub fn clamp_stepwise_max_input_chars(value: u32) -> u32 { + value.clamp(1000, 24000) +} + +pub fn clamp_stepwise_max_output_tokens(value: u32) -> u32 { + value.clamp(100, 4000) +} + +pub fn clamp_stepwise_timeout_ms(value: u64) -> u64 { + value.clamp(1000, 60000) +} + pub fn default_true() -> bool { true } @@ -514,6 +600,16 @@ where .unwrap_or_else(default_api_key_env)) } +pub fn empty_as_default_stepwise_api_key_env<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + let value = Option::::deserialize(deserializer)?; + Ok(value + .filter(|value| !value.is_empty()) + .unwrap_or_else(default_stepwise_api_key_env)) +} + fn deserialize_image_overlay_opacity<'de, D>(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -523,6 +619,42 @@ where .unwrap_or_else(default_image_overlay_opacity)) } +fn deserialize_stepwise_max_items<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + Ok(Option::::deserialize(deserializer)? + .map(clamp_stepwise_max_items) + .unwrap_or_else(default_stepwise_max_items)) +} + +fn deserialize_stepwise_max_input_chars<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + Ok(Option::::deserialize(deserializer)? + .map(clamp_stepwise_max_input_chars) + .unwrap_or_else(default_stepwise_max_input_chars)) +} + +fn deserialize_stepwise_max_output_tokens<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + Ok(Option::::deserialize(deserializer)? + .map(clamp_stepwise_max_output_tokens) + .unwrap_or_else(default_stepwise_max_output_tokens)) +} + +fn deserialize_stepwise_timeout_ms<'de, D>(deserializer: D) -> Result +where + D: serde::Deserializer<'de>, +{ + Ok(Option::::deserialize(deserializer)? + .map(clamp_stepwise_timeout_ms) + .unwrap_or_else(default_stepwise_timeout_ms)) +} + fn deserialize_profile_api_key<'de, D>(deserializer: D) -> Result where D: serde::Deserializer<'de>, @@ -678,6 +810,85 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map BackendS } settings.codex_app_image_overlay_opacity = clamp_image_overlay_opacity(settings.codex_app_image_overlay_opacity); + settings.codex_app_stepwise_base_url = settings + .codex_app_stepwise_base_url + .trim() + .trim_end_matches('/') + .to_string(); + settings.codex_app_stepwise_api_key = settings.codex_app_stepwise_api_key.trim().to_string(); + settings.codex_app_stepwise_api_key_env = + if settings.codex_app_stepwise_api_key_env.trim().is_empty() { + default_stepwise_api_key_env() + } else { + settings.codex_app_stepwise_api_key_env.trim().to_string() + }; + settings.codex_app_stepwise_model = settings.codex_app_stepwise_model.trim().to_string(); + settings.codex_app_stepwise_max_items = + clamp_stepwise_max_items(settings.codex_app_stepwise_max_items); + settings.codex_app_stepwise_max_input_chars = + clamp_stepwise_max_input_chars(settings.codex_app_stepwise_max_input_chars); + settings.codex_app_stepwise_max_output_tokens = + clamp_stepwise_max_output_tokens(settings.codex_app_stepwise_max_output_tokens); + settings.codex_app_stepwise_timeout_ms = + clamp_stepwise_timeout_ms(settings.codex_app_stepwise_timeout_ms); settings } @@ -1059,6 +1291,19 @@ mod tests { assert_eq!(settings.relay_test_model, default_relay_test_model()); assert!(!settings.cli_wrapper_enabled); assert_eq!(settings.cli_wrapper_api_key_env, "CUSTOM_OPENAI_API_KEY"); + assert!(!settings.codex_app_stepwise_enabled); + assert!(!settings.codex_app_stepwise_direct_send); + assert!(settings.codex_app_stepwise_base_url.is_empty()); + assert!(settings.codex_app_stepwise_api_key.is_empty()); + assert_eq!( + settings.codex_app_stepwise_api_key_env, + "CODEX_STEPWISE_API_KEY" + ); + assert!(settings.codex_app_stepwise_model.is_empty()); + assert_eq!(settings.codex_app_stepwise_max_items, 6); + assert_eq!(settings.codex_app_stepwise_max_input_chars, 6000); + assert_eq!(settings.codex_app_stepwise_max_output_tokens, 500); + assert_eq!(settings.codex_app_stepwise_timeout_ms, 8000); } #[test] @@ -1646,6 +1891,45 @@ experimental_bearer_token = "sk-existing""# assert_eq!(store.load().unwrap(), updated); } + #[test] + fn settings_store_update_persists_stepwise_settings() { + let dir = temp_dir(); + let store = SettingsStore::new(dir.join("settings.json")); + + let updated = store + .update(json!({ + "codexAppStepwiseEnabled": true, + "codexAppStepwiseDirectSend": true, + "codexAppStepwiseBaseUrl": "https://api.example.test/v1/", + "codexAppStepwiseApiKey": " sk-stepwise ", + "codexAppStepwiseApiKeyEnv": "", + "codexAppStepwiseModel": " stepwise-mini ", + "codexAppStepwiseMaxItems": 12, + "codexAppStepwiseMaxInputChars": 25000, + "codexAppStepwiseMaxOutputTokens": 50, + "codexAppStepwiseTimeoutMs": 70000 + })) + .unwrap(); + + assert!(updated.codex_app_stepwise_enabled); + assert!(updated.codex_app_stepwise_direct_send); + assert_eq!( + updated.codex_app_stepwise_base_url, + "https://api.example.test/v1" + ); + assert_eq!(updated.codex_app_stepwise_api_key, "sk-stepwise"); + assert_eq!( + updated.codex_app_stepwise_api_key_env, + default_stepwise_api_key_env() + ); + assert_eq!(updated.codex_app_stepwise_model, "stepwise-mini"); + assert_eq!(updated.codex_app_stepwise_max_items, 6); + assert_eq!(updated.codex_app_stepwise_max_input_chars, 24000); + assert_eq!(updated.codex_app_stepwise_max_output_tokens, 100); + assert_eq!(updated.codex_app_stepwise_timeout_ms, 60000); + assert_eq!(store.load().unwrap(), updated); + } + #[test] fn settings_store_update_persists_launch_mode() { let dir = temp_dir(); diff --git a/crates/codex-plus-core/src/stepwise.rs b/crates/codex-plus-core/src/stepwise.rs new file mode 100644 index 000000000..2d881b108 --- /dev/null +++ b/crates/codex-plus-core/src/stepwise.rs @@ -0,0 +1,452 @@ +use std::time::Duration; + +use anyhow::Context; +use reqwest::header::{AUTHORIZATION, CONTENT_TYPE, HeaderMap, HeaderValue}; +use serde::{Deserialize, Serialize}; +use serde_json::{Value, json}; + +use crate::settings::BackendSettings; + +const MAX_PROMPT_LENGTH: usize = 420; + +#[derive(Debug, Clone, Default, PartialEq, Eq, Serialize, Deserialize)] +#[serde(rename_all = "camelCase")] +pub struct StepwiseRequest { + #[serde(default)] + pub last_user_message: String, + #[serde(default)] + pub last_assistant_message: String, + #[serde(default)] + pub thread_title: String, + #[serde(default)] + pub page_url: String, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize, Deserialize)] +pub struct StepwiseItem { + #[serde(default, skip_serializing_if = "String::is_empty")] + pub label: String, + pub prompt: String, +} + +#[derive(Debug, Clone, PartialEq, Eq, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct StepwisePublicSettings { + pub enabled: bool, + pub direct_send: bool, + pub base_url_configured: bool, + pub api_key_configured: bool, + pub api_key_env: String, + pub api_key_env_configured: bool, + pub model: String, + pub max_items: u8, + pub max_input_chars: u32, + pub max_output_tokens: u32, + pub timeout_ms: u64, +} + +pub fn public_settings(settings: &BackendSettings) -> StepwisePublicSettings { + StepwisePublicSettings { + enabled: settings.codex_app_stepwise_enabled, + direct_send: settings.codex_app_stepwise_direct_send, + base_url_configured: !settings.codex_app_stepwise_base_url.trim().is_empty(), + api_key_configured: !stepwise_api_key(settings).is_empty(), + api_key_env: settings.codex_app_stepwise_api_key_env.clone(), + api_key_env_configured: std::env::var(settings.codex_app_stepwise_api_key_env.trim()) + .map(|value| !value.trim().is_empty()) + .unwrap_or(false), + model: settings.codex_app_stepwise_model.clone(), + max_items: settings.codex_app_stepwise_max_items, + max_input_chars: settings.codex_app_stepwise_max_input_chars, + max_output_tokens: settings.codex_app_stepwise_max_output_tokens, + timeout_ms: settings.codex_app_stepwise_timeout_ms, + } +} + +pub fn settings_with_payload(mut settings: BackendSettings, payload: &Value) -> BackendSettings { + let Some(raw_settings) = payload.get("settings").and_then(Value::as_object) else { + return settings; + }; + if let Some(value) = raw_settings + .get("codexAppStepwiseEnabled") + .and_then(Value::as_bool) + { + settings.codex_app_stepwise_enabled = value; + } + if let Some(value) = raw_settings + .get("codexAppStepwiseDirectSend") + .and_then(Value::as_bool) + { + settings.codex_app_stepwise_direct_send = value; + } + if let Some(value) = raw_settings + .get("codexAppStepwiseBaseUrl") + .and_then(Value::as_str) + { + settings.codex_app_stepwise_base_url = value.trim().trim_end_matches('/').to_string(); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseApiKey") + .and_then(Value::as_str) + { + settings.codex_app_stepwise_api_key = value.trim().to_string(); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseApiKeyEnv") + .and_then(Value::as_str) + { + settings.codex_app_stepwise_api_key_env = if value.trim().is_empty() { + crate::settings::default_stepwise_api_key_env() + } else { + value.trim().to_string() + }; + } + if let Some(value) = raw_settings + .get("codexAppStepwiseModel") + .and_then(Value::as_str) + { + settings.codex_app_stepwise_model = value.trim().to_string(); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseMaxItems") + .and_then(Value::as_u64) + .and_then(|value| u8::try_from(value).ok()) + { + settings.codex_app_stepwise_max_items = crate::settings::clamp_stepwise_max_items(value); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseMaxInputChars") + .and_then(Value::as_u64) + .and_then(|value| u32::try_from(value).ok()) + { + settings.codex_app_stepwise_max_input_chars = + crate::settings::clamp_stepwise_max_input_chars(value); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseMaxOutputTokens") + .and_then(Value::as_u64) + .and_then(|value| u32::try_from(value).ok()) + { + settings.codex_app_stepwise_max_output_tokens = + crate::settings::clamp_stepwise_max_output_tokens(value); + } + if let Some(value) = raw_settings + .get("codexAppStepwiseTimeoutMs") + .and_then(Value::as_u64) + { + settings.codex_app_stepwise_timeout_ms = crate::settings::clamp_stepwise_timeout_ms(value); + } + settings +} + +pub async fn generate( + request: StepwiseRequest, + settings: &BackendSettings, +) -> anyhow::Result { + if !settings.codex_app_stepwise_enabled { + return Ok(json!({ "status": "ok", "disabled": true, "items": [] })); + } + + let base_url = settings + .codex_app_stepwise_base_url + .trim() + .trim_end_matches('/'); + let api_key = stepwise_api_key(settings); + let model = settings.codex_app_stepwise_model.trim(); + let max_items = settings.codex_app_stepwise_max_items; + + if max_items == 0 { + return Ok(json!({ "status": "ok", "items": [] })); + } + if base_url.is_empty() || model.is_empty() { + return Ok(json!({ + "status": "failed", + "items": [], + "error": "Stepwise Base URL or Model is not configured" + })); + } + if api_key.is_empty() { + return Ok(json!({ + "status": "failed", + "items": [], + "error": "Stepwise API Key is not configured" + })); + } + + let client = crate::http_client::proxied_client("")?; + let timeout = Duration::from_millis(settings.codex_app_stepwise_timeout_ms); + let mut headers = HeaderMap::new(); + headers.insert(CONTENT_TYPE, HeaderValue::from_static("application/json")); + headers.insert( + AUTHORIZATION, + HeaderValue::from_str(&format!("Bearer {api_key}")) + .context("failed to build Stepwise authorization header")?, + ); + + let response = client + .post(format!("{base_url}/chat/completions")) + .headers(headers) + .timeout(timeout) + .json(&json!({ + "model": model, + "messages": build_messages(&request, settings), + "temperature": 0.2, + "max_tokens": settings.codex_app_stepwise_max_output_tokens, + "response_format": { "type": "json_object" }, + })) + .send() + .await + .context("failed to request Stepwise API")?; + + let status = response.status(); + let text = response.text().await.unwrap_or_default(); + if !status.is_success() { + return Ok(json!({ + "status": "failed", + "items": [], + "error": format!("Stepwise upstream {}: {}", status.as_u16(), text.chars().take(240).collect::()) + })); + } + + let data: Value = + serde_json::from_str(&text).context("failed to parse Stepwise API response")?; + let content = data + .get("choices") + .and_then(Value::as_array) + .and_then(|choices| choices.first()) + .and_then(|choice| choice.get("message")) + .and_then(|message| message.get("content")) + .and_then(Value::as_str) + .unwrap_or("{}"); + let parsed: Value = + serde_json::from_str(content).context("failed to parse Stepwise JSON content")?; + Ok(json!({ + "status": "ok", + "items": clamp_items(parsed.get("items").cloned().unwrap_or(Value::Null), max_items) + })) +} + +pub async fn test_connection(settings: &BackendSettings) -> anyhow::Result { + generate( + StepwiseRequest { + last_user_message: "测试 Stepwise 配置。".to_string(), + last_assistant_message: "Stepwise 应返回 0 到 6 条可直接发送的后续建议。".to_string(), + thread_title: "Codex++ Stepwise test".to_string(), + page_url: String::new(), + }, + settings, + ) + .await +} + +pub fn build_messages(request: &StepwiseRequest, settings: &BackendSettings) -> Vec { + let limit = settings.codex_app_stepwise_max_input_chars as usize; + let last_user_message = short_text(&request.last_user_message, limit.saturating_mul(35) / 100); + let last_assistant_message = short_text( + &request.last_assistant_message, + limit.saturating_mul(60) / 100, + ); + let language_input = if last_user_message.trim().is_empty() { + last_assistant_message.clone() + } else { + last_user_message.clone() + }; + let system_content = [ + "You generate concise Codex Stepwise actions.", + "Return strict JSON only, no markdown.", + "Schema: {\"items\":[{\"prompt\":\"...\",\"label\":\"optional short label\"}]}", + &format!( + "Generate 0 to {} items.", + settings.codex_app_stepwise_max_items + ), + "Every prompt must be directly sendable by the user.", + "Use the latest user intent and assistant result. Avoid generic filler.", + "Language policy: write Stepwise prompts in the dominant natural language of languageInput.", + "Ignore technical terms, file names, commands, APIs, and product names when detecting language; keep them in their original language when natural.", + "If there is no useful next action, return {\"items\":[]}.", + ] + .join("\n"); + vec![ + json!({ + "role": "system", + "content": system_content + }), + json!({ + "role": "user", + "content": json!({ + "lastUserMessage": last_user_message, + "lastAssistantMessage": last_assistant_message, + "languageInput": language_input, + "threadTitle": short_text(&request.thread_title, 240), + "pageUrl": short_text(&request.page_url, 240), + "maxItems": settings.codex_app_stepwise_max_items, + }).to_string() + }), + ] +} + +pub fn clamp_items(value: Value, max_items: u8) -> Vec { + let mut seen = std::collections::BTreeSet::new(); + let mut items = Vec::new(); + let max_items = usize::from(max_items); + let Some(raw_items) = value.as_array() else { + return items; + }; + + for raw in raw_items { + let prompt = if let Some(prompt) = raw.get("prompt").and_then(Value::as_str) { + prompt + } else if let Some(prompt) = raw.as_str() { + prompt + } else { + "" + }; + let prompt = normalize_spaces(prompt); + if prompt.is_empty() || seen.contains(&prompt) { + continue; + } + seen.insert(prompt.clone()); + let label = raw + .get("label") + .and_then(Value::as_str) + .map(normalize_spaces) + .unwrap_or_default(); + items.push(StepwiseItem { + label: short_text(&label, 36), + prompt: short_text(&prompt, MAX_PROMPT_LENGTH), + }); + if items.len() >= max_items { + break; + } + } + + items +} + +fn stepwise_api_key(settings: &BackendSettings) -> String { + let direct = settings.codex_app_stepwise_api_key.trim(); + if !direct.is_empty() { + return direct.to_string(); + } + std::env::var(settings.codex_app_stepwise_api_key_env.trim()) + .unwrap_or_default() + .trim() + .to_string() +} + +fn short_text(value: &str, limit: usize) -> String { + let text = normalize_text(value); + if text.chars().count() <= limit { + return text; + } + text.chars() + .rev() + .take(limit) + .collect::>() + .into_iter() + .rev() + .collect() +} + +fn normalize_text(value: &str) -> String { + value + .replace('\u{a0}', " ") + .lines() + .map(str::trim_end) + .collect::>() + .join("\n") + .split("\n\n\n") + .collect::>() + .join("\n\n") + .trim() + .to_string() +} + +fn normalize_spaces(value: &str) -> String { + value.split_whitespace().collect::>().join(" ") +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn clamp_items_dedupes_and_limits() { + let items = clamp_items( + json!([ + {"label": "继续", "prompt": "继续排查"}, + {"label": "重复", "prompt": "继续排查"}, + {"prompt": "补测试"}, + "更新文档" + ]), + 2, + ); + + assert_eq!(items.len(), 2); + assert_eq!(items[0].label, "继续"); + assert_eq!(items[0].prompt, "继续排查"); + assert_eq!(items[1].prompt, "补测试"); + } + + #[test] + fn prompt_contains_language_policy() { + let settings = BackendSettings { + codex_app_stepwise_max_items: 4, + ..BackendSettings::default() + }; + let messages = build_messages( + &StepwiseRequest { + last_user_message: "请补一个 directSend selftest,覆盖 ProseMirror。".to_string(), + last_assistant_message: "已完成实现。".to_string(), + thread_title: String::new(), + page_url: String::new(), + }, + &settings, + ); + let system = messages[0].get("content").and_then(Value::as_str).unwrap(); + let user = messages[1].get("content").and_then(Value::as_str).unwrap(); + + assert!(system.contains("dominant natural language")); + assert!(system.contains("Generate 0 to 4 items.")); + assert!(user.contains("directSend")); + assert!(user.contains("languageInput")); + } + + #[test] + fn settings_with_payload_clamps_values() { + let settings = settings_with_payload( + BackendSettings::default(), + &json!({ + "settings": { + "codexAppStepwiseEnabled": true, + "codexAppStepwiseDirectSend": true, + "codexAppStepwiseBaseUrl": "https://api.example.test/v1/", + "codexAppStepwiseApiKey": " sk-test ", + "codexAppStepwiseApiKeyEnv": "", + "codexAppStepwiseModel": " stepwise-mini ", + "codexAppStepwiseMaxItems": 9, + "codexAppStepwiseMaxInputChars": 999999, + "codexAppStepwiseMaxOutputTokens": 10, + "codexAppStepwiseTimeoutMs": 999999 + } + }), + ); + + assert!(settings.codex_app_stepwise_enabled); + assert!(settings.codex_app_stepwise_direct_send); + assert_eq!( + settings.codex_app_stepwise_base_url, + "https://api.example.test/v1" + ); + assert_eq!(settings.codex_app_stepwise_api_key, "sk-test"); + assert_eq!( + settings.codex_app_stepwise_api_key_env, + crate::settings::default_stepwise_api_key_env() + ); + assert_eq!(settings.codex_app_stepwise_model, "stepwise-mini"); + assert_eq!(settings.codex_app_stepwise_max_items, 6); + assert_eq!(settings.codex_app_stepwise_max_input_chars, 24000); + assert_eq!(settings.codex_app_stepwise_max_output_tokens, 100); + assert_eq!(settings.codex_app_stepwise_timeout_ms, 60000); + } +} diff --git a/crates/codex-plus-core/tests/bridge_routes.rs b/crates/codex-plus-core/tests/bridge_routes.rs index ac09bba37..16bccd9ca 100644 --- a/crates/codex-plus-core/tests/bridge_routes.rs +++ b/crates/codex-plus-core/tests/bridge_routes.rs @@ -68,6 +68,12 @@ async fn bridge_routes_cover_all_current_paths() { "/upstream-worktree/create", json!({"repoPath": "/repo", "branchName": "feature/demo"}), ), + ("/stepwise/settings", json!({})), + ( + "/stepwise/generate", + json!({"request": {"lastUserMessage": "请继续", "lastAssistantMessage": "已完成"}}), + ), + ("/stepwise/test", json!({})), ("/delete", json!({"session_id": "s1", "title": "First"})), ("/undo", json!({"undo_token": "undo-1"})), ( @@ -118,6 +124,24 @@ async fn settings_get_includes_runtime_codex_app_version() { assert_eq!(result["codexAppThreadIdBadge"], json!(false)); } +#[tokio::test] +async fn settings_get_does_not_expose_stepwise_api_key_to_renderer() { + let settings = BackendSettings { + codex_app_stepwise_api_key: "sk-secret".to_string(), + ..BackendSettings::default() + }; + let ctx = BridgeContext::new( + Arc::new(FakeSettings::with_settings(settings)), + Arc::new(FakeRuntime::default()), + Arc::new(FakeData::default()), + ); + + let result = handle_bridge_request(ctx, "/settings/get", json!({})).await; + + assert!(result.get("codexAppStepwiseApiKey").is_none()); + assert_eq!(result["codexAppStepwiseApiKeyEnv"], json!("CODEX_STEPWISE_API_KEY")); +} + #[tokio::test] async fn settings_set_does_not_persist_runtime_codex_app_version() { let settings = Arc::new(FakeSettings::with_codex_app_version("26.601.21317")); @@ -217,6 +241,43 @@ async fn upstream_worktree_routes_are_dispatched_to_runtime() { ); } +#[tokio::test] +async fn stepwise_routes_are_dispatched_to_runtime() { + let ctx = test_context(); + + assert_eq!( + handle_bridge_request(ctx.clone(), "/stepwise/settings", json!({})).await, + json!({ + "status": "ok", + "settings": { + "enabled": true, + "directSend": false, + "model": "test-stepwise", + "maxItems": 6 + } + }) + ); + assert_eq!( + handle_bridge_request( + ctx.clone(), + "/stepwise/generate", + json!({"request": {"lastUserMessage": "请继续", "lastAssistantMessage": "已完成"}}), + ) + .await, + json!({ + "status": "ok", + "items": [{"label": "继续", "prompt": "继续排查 Stepwise"}] + }) + ); + assert_eq!( + handle_bridge_request(ctx, "/stepwise/test", json!({})).await, + json!({ + "status": "ok", + "items": [{"prompt": "测试 Stepwise"}] + }) + ); +} + #[tokio::test] async fn unknown_bridge_path_preserves_empty_session_id_shape() { let result = handle_bridge_request( @@ -930,6 +991,13 @@ struct FakeSettings { } impl FakeSettings { + fn with_settings(settings: BackendSettings) -> Self { + Self { + settings: Mutex::new(settings), + codex_app_version: Mutex::new(String::new()), + } + } + fn with_codex_app_version(version: &str) -> Self { Self { settings: Mutex::new(BackendSettings::default()), @@ -1178,6 +1246,33 @@ impl BridgeRuntimeService for FakeRuntime { "worktreePath": "/repo-feature-demo", })) } + + async fn stepwise_settings(&self) -> anyhow::Result { + Ok(json!({ + "status": "ok", + "settings": { + "enabled": true, + "directSend": false, + "model": "test-stepwise", + "maxItems": 6 + } + })) + } + + async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { + assert_eq!(payload["request"]["lastUserMessage"], json!("请继续")); + Ok(json!({ + "status": "ok", + "items": [{"label": "继续", "prompt": "继续排查 Stepwise"}] + })) + } + + async fn stepwise_test(&self, _payload: Value) -> anyhow::Result { + Ok(json!({ + "status": "ok", + "items": [{"prompt": "测试 Stepwise"}] + })) + } } impl FakeRuntime { diff --git a/crates/codex-plus-core/tests/cdp_bridge.rs b/crates/codex-plus-core/tests/cdp_bridge.rs index fb172b95f..1151abfe9 100644 --- a/crates/codex-plus-core/tests/cdp_bridge.rs +++ b/crates/codex-plus-core/tests/cdp_bridge.rs @@ -141,6 +141,43 @@ fn injection_script_menu_exposes_marketplace_and_force_install_plugin_switches() assert!(!script.contains("data-codex-plus-setting=\"pluginEntryUnlock\"")); } +#[test] +fn injection_script_menu_exposes_stepwise_switch_and_syncs_panel() { + let script = assets::injection_script(57321); + + assert!(script.contains("stepwise: false")); + assert!(script.contains("stepwise: \"codexAppStepwiseEnabled\"")); + assert!(script.contains("Stepwise")); + assert!(script.contains("data-codex-plus-setting=\"stepwise\"")); + assert!(script.contains("function syncStepwisePanel")); + assert!(script.contains("window.__codexStepwisePanel?.syncSettings")); + assert!(script.contains("if (key === \"stepwise\") syncStepwisePanel(value)")); + assert!(script.contains("if (patch?.enabled === true)")); + assert!(script.contains("activateRuntime();")); +} + +#[test] +fn injection_script_defers_backend_mapped_toggles_until_settings_load() { + let script = assets::injection_script(57321); + + assert!(script.contains("const codexPlusBackendMappedSettings = new Set")); + assert!(script.contains("codexPlusBackendMappedSettings.has(key) && !codexPlusBackendSettingsLoaded")); + assert!(script.contains("button.dataset.pending = String(waitsForBackend)")); + assert!(script.contains("button.disabled = waitsForBackend || button.dataset.relayUnneeded === \"true\"")); + assert!(script.contains("toggle.disabled || toggle.dataset.pending === \"true\"")); +} + +#[test] +fn injection_script_ignores_stale_backend_settings_responses() { + let script = assets::injection_script(57321); + + assert!(script.contains("let codexPlusBackendSettingsSeq = 0")); + assert!(script.contains("const seq = codexPlusBackendSettingsSeq")); + assert!(script.contains("if (seq !== codexPlusBackendSettingsSeq)")); + assert!(script.contains("const seq = ++codexPlusBackendSettingsSeq")); + assert!(script.contains("if (seq === codexPlusBackendSettingsSeq)")); +} + #[test] fn injection_script_skips_plugin_patch_work_in_relay_mode() { let script = assets::injection_script(57321); From aa147c1784cf79b190927cc70393310961edb262 Mon Sep 17 00:00:00 2001 From: Ghibli1024 Date: Sun, 28 Jun 2026 21:31:14 +0800 Subject: [PATCH 133/156] refine Stepwise settings UI and composer targeting --- apps/codex-plus-manager/src/App.tsx | 130 +++++++------ apps/codex-plus-manager/src/styles.css | 44 +++++ assets/inject/stepwise-inject.js | 204 +++++++++++++++++++-- crates/codex-plus-core/tests/cdp_bridge.rs | 12 ++ 4 files changed, 317 insertions(+), 73 deletions(-) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 5a7a8977d..64f4257f0 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -1527,6 +1527,21 @@ export function App() { if (result) showNotice("供应商测试", result.message, result.status); }; + const testStepwiseSettings = async (settings: BackendSettings) => { + await testRelayProfile({ + ...defaultSettings.relayProfiles[0], + id: "stepwise-test", + name: "Stepwise", + model: settings.codexAppStepwiseModel, + baseUrl: settings.codexAppStepwiseBaseUrl, + upstreamBaseUrl: settings.codexAppStepwiseBaseUrl, + apiKey: settings.codexAppStepwiseApiKey, + protocol: "chatCompletions", + relayMode: "pureApi", + testModel: settings.codexAppStepwiseModel, + }); + }; + const fetchRelayProfileModels = async (profile: RelayProfile) => { const result = await run(() => call("fetch_relay_profile_models", { profile })); if (result) showNotice("模型列表", result.message, result.status); @@ -1854,6 +1869,7 @@ export function App() { deleteContextEntry, extractRelayCommonConfig, testRelayProfile, + testStepwiseSettings, fetchRelayProfileModels, switchRelayProfile, relaySwitching, @@ -2122,6 +2138,7 @@ type Actions = { deleteContextEntry: (settings: BackendSettings, kind: ContextKind, id: string) => Promise; extractRelayCommonConfig: (configContents: string) => Promise; testRelayProfile: (profile: RelayProfile) => Promise; + testStepwiseSettings: (settings: BackendSettings) => Promise; fetchRelayProfileModels: (profile: RelayProfile) => Promise; switchRelayProfile: (settings: BackendSettings, previousActiveRelayId?: string) => Promise; relaySwitching: boolean; @@ -3494,16 +3511,17 @@ function SettingsScreen({ />
-
Stepwise API
+
Stepwise
+
连接
- + onFormChange({ ...form, codexAppStepwiseBaseUrl: event.currentTarget.value })} placeholder="https://api.example.com/v1" /> - + onFormChange({ ...form, codexAppStepwiseModel: event.currentTarget.value })} @@ -3511,55 +3529,56 @@ function SettingsScreen({ />
-
- - onFormChange({ ...form, codexAppStepwiseApiKey: event.currentTarget.value })} - /> - - - onFormChange({ ...form, codexAppStepwiseApiKeyEnv: event.currentTarget.value })} - /> - -
-
- - - onFormChange({ ...form, codexAppStepwiseMaxItems: clampNumber(Number(event.currentTarget.value), 0, 6) }) - } - /> - - - - onFormChange({ ...form, codexAppStepwiseTimeoutMs: clampNumber(Number(event.currentTarget.value), 1000, 60000) }) - } - /> - -
-
- - - onFormChange({ ...form, codexAppStepwiseMaxInputChars: clampNumber(Number(event.currentTarget.value), 1000, 24000) }) - } - /> - + + onFormChange({ ...form, codexAppStepwiseApiKey: event.currentTarget.value })} + /> + +
+ 高级参数 +
+ + onFormChange({ ...form, codexAppStepwiseApiKeyEnv: event.currentTarget.value })} + /> + + + + onFormChange({ ...form, codexAppStepwiseMaxItems: clampNumber(Number(event.currentTarget.value), 0, 6) }) + } + /> + +
+
+ + + onFormChange({ ...form, codexAppStepwiseTimeoutMs: clampNumber(Number(event.currentTarget.value), 1000, 60000) }) + } + /> + + + + onFormChange({ ...form, codexAppStepwiseMaxInputChars: clampNumber(Number(event.currentTarget.value), 1000, 24000) }) + } + /> + +
-
- + +
+ - +
-
${escapeHtml(statusLine(settings))}
-
-
配置摘要
-
Model: ${escapeHtml(settings.model || "未配置")}
-
最多建议: ${escapeHtml(settings.maxItems ?? 6)}
-
Direct Send: ${settings.directSend ? "开启" : "关闭"}
+
+
摘要
+
+ ${summaryRow("Stepwise", settings.enabled ? "已开启" : "已关闭", settings.enabled ? "good" : "muted")} + ${summaryRow("直接发送", settings.directSend ? "已开启" : "已关闭", settings.directSend ? "good" : "muted")} + ${summaryRow("模型", settings.model || "未配置", settings.model ? "plain" : "warn")} + ${summaryRow("最多建议", settings.maxItems ?? 6, "plain")} +
-
- +
+ - +
-
${escapeHtml(state.settingsStatus || "")}
+ ${notice ? `
${escapeHtml(notice)}
` : ""} +
+ `; + } + + function summaryRow(label, value, tone = "plain") { + return ` +
+ ${escapeHtml(label)} + ${escapeHtml(value)}
`; } + function settingsNotice(settings) { + const status = state.settingsStatus || ""; + const line = statusLine(settings); + if (!status || status === line) { + if (settings.enabled && settings.baseUrlConfigured && settings.model && settings.apiKeyConfigured) return ""; + return line; + } + return status; + } + function statusLine(settings) { if (settings.enabled !== true) return "Stepwise 已关闭,请在 Codex++ Manager 里开启。"; if (!settings.baseUrlConfigured || !settings.model) return "Stepwise 已开启,但 Base URL 或 Model 未配置。"; @@ -1027,7 +1131,7 @@ localStorage.removeItem(POSITION_KEY); state.position = defaultPosition(); applyPosition(); - state.settingsStatus = "位置已重置"; + state.settingsStatus = "位置已归位"; renderFloat(); }); } @@ -1099,7 +1203,69 @@ function chatRoot() { return Array.from(document.querySelectorAll(".thread-scroll-container")) - .find((node) => visibleElement(node)) || null; + .filter((node) => visibleElement(node) && !state.root?.contains(node)) + .sort((left, right) => { + const leftRect = visibleRect(left); + const rightRect = visibleRect(right); + return (rightRect.width * rightRect.height) - (leftRect.width * leftRect.height); + })[0] || null; + } + + function elementCenter(rect) { + if (!rect) return { x: 0, y: 0 }; + return { + x: rect.left + rect.width / 2, + y: rect.top + rect.height / 2, + }; + } + + function horizontalOverlapRatio(left, right) { + if (!left || !right) return 0; + const overlap = Math.max(0, Math.min(left.right, right.right) - Math.max(left.left, right.left)); + return overlap / Math.max(1, Math.min(left.width, right.width)); + } + + function ignoredComposerContainer(node) { + if (!(node instanceof Element)) return true; + if (state.root?.contains(node)) return true; + return Boolean(node.closest([ + `[${ROOT_ATTR}="true"]`, + `[${PAYLOAD_ATTR}="true"]`, + "aside", + "nav", + "[role='dialog']", + "[aria-modal='true']", + "[role='menu']", + "[role='listbox']", + ].join(","))); + } + + function composerCandidateScore(node, rootRect) { + const rect = visibleRect(node); + if (!rect || !rootRect) return -Infinity; + if (rect.width < 120 || rect.height < 20) return -Infinity; + if (rect.bottom < window.innerHeight * 0.35) return -Infinity; + if (ignoredComposerContainer(node)) return -Infinity; + + const overlap = horizontalOverlapRatio(rect, rootRect); + const center = elementCenter(rect); + const rootCenter = elementCenter(rootRect); + const centerDrift = Math.abs(center.x - rootCenter.x) / Math.max(1, rootRect.width); + const centerInsideRoot = center.x >= rootRect.left - 24 && center.x <= rootRect.right + 24; + if (overlap < 0.45 && !centerInsideRoot) return -Infinity; + + const lowerScreen = rect.bottom / Math.max(1, window.innerHeight); + const widthMatch = Math.min(rect.width, rootRect.width) / Math.max(1, Math.max(rect.width, rootRect.width)); + return overlap * 100 + lowerScreen * 24 + widthMatch * 18 - centerDrift * 48; + } + + function mainComposerCandidate(candidates) { + const rootRect = visibleRect(chatRoot()); + const ranked = candidates + .map((node) => ({ node, score: composerCandidateScore(node, rootRect) })) + .filter((item) => Number.isFinite(item.score)) + .sort((left, right) => right.score - left.score); + return ranked[0]?.node || null; } function composerCandidates() { @@ -1114,10 +1280,10 @@ ) ).filter((node) => { if (!(node instanceof HTMLElement)) return false; - if (state.root?.contains(node)) return false; const rect = node.getBoundingClientRect(); if (rect.width < 120 || rect.height < 20) return false; if (rect.bottom < window.innerHeight * 0.35) return false; + if (ignoredComposerContainer(node)) return false; return true; }); } @@ -1682,7 +1848,7 @@ function fillComposer(prompt, submit = false) { const candidates = composerCandidates(); - const target = candidates[candidates.length - 1]; + const target = mainComposerCandidate(candidates); pushDiagnostic("fill:start", { submit, candidateCount: candidates.length, @@ -1690,9 +1856,11 @@ targetRole: target?.getAttribute?.("role") || "", targetClass: String(target?.className || "").slice(0, 120), targetRect: rectSummary(target), + chatRootRect: rectSummary(chatRoot()), promptLength: normalizeText(prompt).length, }); if (!target) { + pushDiagnostic("fill:no-main-composer", { candidateCount: candidates.length }); window.prompt("Copy Stepwise prompt", prompt); return false; } diff --git a/crates/codex-plus-core/tests/cdp_bridge.rs b/crates/codex-plus-core/tests/cdp_bridge.rs index 1151abfe9..6240f5a9e 100644 --- a/crates/codex-plus-core/tests/cdp_bridge.rs +++ b/crates/codex-plus-core/tests/cdp_bridge.rs @@ -156,6 +156,18 @@ fn injection_script_menu_exposes_stepwise_switch_and_syncs_panel() { assert!(script.contains("activateRuntime();")); } +#[test] +fn stepwise_direct_send_targets_main_chat_composer() { + let script = assets::stepwise_script(); + + assert!(script.contains("function elementCenter(")); + assert!(script.contains("function horizontalOverlapRatio(")); + assert!(script.contains("function ignoredComposerContainer(")); + assert!(script.contains("function mainComposerCandidate(")); + assert!(script.contains("mainComposerCandidate(candidates)")); + assert!(!script.contains("const target = candidates[candidates.length - 1];")); +} + #[test] fn injection_script_defers_backend_mapped_toggles_until_settings_load() { let script = assets::injection_script(57321); From a0c7a75a417dd88bb710f6e1dc54831290fa2c1b Mon Sep 17 00:00:00 2001 From: Ghibli1024 Date: Sun, 28 Jun 2026 22:18:45 +0800 Subject: [PATCH 134/156] fix Stepwise bridge settings and connection test --- apps/codex-plus-launcher/src/main.rs | 30 -------- .../src-tauri/src/commands.rs | 45 ++++++++++++ apps/codex-plus-manager/src-tauri/src/lib.rs | 1 + apps/codex-plus-manager/src/App.tsx | 19 ++--- crates/codex-plus-core/src/routes.rs | 64 +++++++++-------- crates/codex-plus-core/tests/bridge_routes.rs | 69 ++++++++----------- 6 files changed, 114 insertions(+), 114 deletions(-) diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index 92d5186b7..fab54fa92 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -648,36 +648,6 @@ impl BridgeRuntimeService for LauncherRuntimeService { &payload, )) } - - async fn stepwise_settings(&self) -> anyhow::Result { - let settings = codex_plus_core::settings::SettingsStore::default() - .load() - .unwrap_or_default(); - Ok(json!({ - "status": "ok", - "settings": codex_plus_core::stepwise::public_settings(&settings), - })) - } - - async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { - let settings = codex_plus_core::settings::SettingsStore::default() - .load() - .unwrap_or_default(); - let request = payload.get("request").cloned().unwrap_or(payload); - let request = serde_json::from_value::(request) - .unwrap_or_default(); - codex_plus_core::stepwise::generate(request, &settings).await - } - - async fn stepwise_test(&self, payload: Value) -> anyhow::Result { - let settings = codex_plus_core::stepwise::settings_with_payload( - codex_plus_core::settings::SettingsStore::default() - .load() - .unwrap_or_default(), - &payload, - ); - codex_plus_core::stepwise::test_connection(&settings).await - } } async fn inject_with_context( diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index d2248f50d..7ac18aafe 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -186,6 +186,13 @@ pub struct RelayProfileTestPayload { pub response_preview: String, } +#[derive(Debug, Clone, Serialize)] +#[serde(rename_all = "camelCase")] +pub struct StepwiseTestPayload { + pub item_count: usize, + pub error: String, +} + #[derive(Debug, Clone, Serialize)] #[serde(rename_all = "camelCase")] pub struct RelayProfileModelsPayload { @@ -2087,6 +2094,44 @@ pub async fn test_relay_profile(profile: RelayProfile) -> CommandResult CommandResult { + match codex_plus_core::stepwise::test_connection(&settings).await { + Ok(result) => { + let error = result + .get("error") + .and_then(Value::as_str) + .unwrap_or_default() + .to_string(); + let item_count = result + .get("items") + .and_then(Value::as_array) + .map(Vec::len) + .unwrap_or_default(); + if error.is_empty() { + ok( + &format!("Stepwise 连接正常,测试返回 {item_count} 条建议。"), + StepwiseTestPayload { item_count, error }, + ) + } else { + failed( + &format!("Stepwise 测试失败:{error}"), + StepwiseTestPayload { item_count, error }, + ) + } + } + Err(error) => failed( + &format!("Stepwise 测试失败:{error}"), + StepwiseTestPayload { + item_count: 0, + error: error.to_string(), + }, + ), + } +} + #[tauri::command] pub async fn fetch_relay_profile_models( profile: RelayProfile, diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 95ffc008d..93dfc92b4 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -99,6 +99,7 @@ pub fn run() { commands::delete_context_entry, commands::extract_relay_common_config, commands::test_relay_profile, + commands::test_stepwise_settings, commands::fetch_relay_profile_models, commands::switch_relay_profile, commands::apply_relay_injection, diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 64f4257f0..fa899633c 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -389,6 +389,11 @@ type RelayProfileTestResult = CommandResult<{ responsePreview: string; }>; +type StepwiseTestResult = CommandResult<{ + itemCount: number; + error: string; +}>; + type RelayProfileModelsResult = CommandResult<{ models: string[]; endpoint: string; @@ -1528,18 +1533,8 @@ export function App() { }; const testStepwiseSettings = async (settings: BackendSettings) => { - await testRelayProfile({ - ...defaultSettings.relayProfiles[0], - id: "stepwise-test", - name: "Stepwise", - model: settings.codexAppStepwiseModel, - baseUrl: settings.codexAppStepwiseBaseUrl, - upstreamBaseUrl: settings.codexAppStepwiseBaseUrl, - apiKey: settings.codexAppStepwiseApiKey, - protocol: "chatCompletions", - relayMode: "pureApi", - testModel: settings.codexAppStepwiseModel, - }); + const result = await run(() => call("test_stepwise_settings", { settings })); + if (result) showNotice("Stepwise 测试", result.message, result.status); }; const fetchRelayProfileModels = async (profile: RelayProfile) => { diff --git a/crates/codex-plus-core/src/routes.rs b/crates/codex-plus-core/src/routes.rs index 4968a1cb3..bcfef9d00 100644 --- a/crates/codex-plus-core/src/routes.rs +++ b/crates/codex-plus-core/src/routes.rs @@ -91,9 +91,6 @@ pub trait BridgeRuntimeService: Send + Sync { async fn upstream_worktree_defaults(&self, payload: Value) -> anyhow::Result; async fn upstream_worktree_prepare(&self, payload: Value) -> anyhow::Result; async fn upstream_worktree_create(&self, payload: Value) -> anyhow::Result; - async fn stepwise_settings(&self) -> anyhow::Result; - async fn stepwise_generate(&self, payload: Value) -> anyhow::Result; - async fn stepwise_test(&self, payload: Value) -> anyhow::Result; } #[async_trait] @@ -199,9 +196,13 @@ pub async fn handle_bridge_request( ctx.runtime.upstream_worktree_prepare(payload.clone()).await } "/upstream-worktree/create" => ctx.runtime.upstream_worktree_create(payload.clone()).await, - "/stepwise/settings" => ctx.runtime.stepwise_settings().await, - "/stepwise/generate" => ctx.runtime.stepwise_generate(payload.clone()).await, - "/stepwise/test" => ctx.runtime.stepwise_test(payload.clone()).await, + "/stepwise/settings" => stepwise_settings_value(ctx.settings.get_settings().await), + "/stepwise/generate" => { + stepwise_generate_value(ctx.settings.get_settings().await, payload.clone()).await + } + "/stepwise/test" => { + stepwise_test_value(ctx.settings.get_settings().await, payload.clone()).await + } "/delete" => result_value(ctx.data.delete(session_from_payload(&payload)).await), "/undo" => { let undo_token = payload @@ -525,30 +526,6 @@ impl BridgeRuntimeService for CoreRuntimeService { async fn upstream_worktree_create(&self, payload: Value) -> anyhow::Result { Ok(crate::upstream_worktree::create_response(&payload)) } - - async fn stepwise_settings(&self) -> anyhow::Result { - let settings = SettingsStore::default().load().unwrap_or_default(); - Ok(json!({ - "status": "ok", - "settings": crate::stepwise::public_settings(&settings), - })) - } - - async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { - let settings = SettingsStore::default().load().unwrap_or_default(); - let request = payload.get("request").cloned().unwrap_or(payload); - let request = - serde_json::from_value::(request).unwrap_or_default(); - crate::stepwise::generate(request, &settings).await - } - - async fn stepwise_test(&self, payload: Value) -> anyhow::Result { - let settings = crate::stepwise::settings_with_payload( - SettingsStore::default().load().unwrap_or_default(), - &payload, - ); - crate::stepwise::test_connection(&settings).await - } } struct UnavailableDataService; @@ -678,6 +655,33 @@ where Ok(serde_json::to_value(result?)?) } +fn stepwise_settings_value(result: anyhow::Result) -> anyhow::Result { + let settings = result?; + Ok(json!({ + "status": "ok", + "settings": crate::stepwise::public_settings(&settings), + })) +} + +async fn stepwise_generate_value( + result: anyhow::Result, + payload: Value, +) -> anyhow::Result { + let settings = result?; + let request = payload.get("request").cloned().unwrap_or(payload); + let request = + serde_json::from_value::(request).unwrap_or_default(); + crate::stepwise::generate(request, &settings).await +} + +async fn stepwise_test_value( + result: anyhow::Result, + payload: Value, +) -> anyhow::Result { + let settings = crate::stepwise::settings_with_payload(result?, &payload); + crate::stepwise::test_connection(&settings).await +} + fn diagnostic_log_value(payload: Value) -> anyhow::Result { let event = payload .get("event") diff --git a/crates/codex-plus-core/tests/bridge_routes.rs b/crates/codex-plus-core/tests/bridge_routes.rs index 16bccd9ca..52ab35bc0 100644 --- a/crates/codex-plus-core/tests/bridge_routes.rs +++ b/crates/codex-plus-core/tests/bridge_routes.rs @@ -139,7 +139,10 @@ async fn settings_get_does_not_expose_stepwise_api_key_to_renderer() { let result = handle_bridge_request(ctx, "/settings/get", json!({})).await; assert!(result.get("codexAppStepwiseApiKey").is_none()); - assert_eq!(result["codexAppStepwiseApiKeyEnv"], json!("CODEX_STEPWISE_API_KEY")); + assert_eq!( + result["codexAppStepwiseApiKeyEnv"], + json!("CODEX_STEPWISE_API_KEY") + ); } #[tokio::test] @@ -242,21 +245,28 @@ async fn upstream_worktree_routes_are_dispatched_to_runtime() { } #[tokio::test] -async fn stepwise_routes_are_dispatched_to_runtime() { - let ctx = test_context(); +async fn stepwise_routes_use_settings_service() { + let settings = BackendSettings { + codex_app_stepwise_enabled: false, + codex_app_stepwise_direct_send: true, + codex_app_stepwise_model: "settings-service-stepwise".to_string(), + codex_app_stepwise_max_items: 3, + ..BackendSettings::default() + }; + let ctx = BridgeContext::new( + Arc::new(FakeSettings::with_settings(settings)), + Arc::new(FakeRuntime::default()), + Arc::new(FakeData::default()), + ); + let public_settings = handle_bridge_request(ctx.clone(), "/stepwise/settings", json!({})).await; + assert_eq!(public_settings["settings"]["enabled"], json!(false)); + assert_eq!(public_settings["settings"]["directSend"], json!(true)); assert_eq!( - handle_bridge_request(ctx.clone(), "/stepwise/settings", json!({})).await, - json!({ - "status": "ok", - "settings": { - "enabled": true, - "directSend": false, - "model": "test-stepwise", - "maxItems": 6 - } - }) + public_settings["settings"]["model"], + json!("settings-service-stepwise") ); + assert_eq!(public_settings["settings"]["maxItems"], json!(3)); assert_eq!( handle_bridge_request( ctx.clone(), @@ -266,14 +276,16 @@ async fn stepwise_routes_are_dispatched_to_runtime() { .await, json!({ "status": "ok", - "items": [{"label": "继续", "prompt": "继续排查 Stepwise"}] + "disabled": true, + "items": [] }) ); assert_eq!( handle_bridge_request(ctx, "/stepwise/test", json!({})).await, json!({ "status": "ok", - "items": [{"prompt": "测试 Stepwise"}] + "disabled": true, + "items": [] }) ); } @@ -1246,33 +1258,6 @@ impl BridgeRuntimeService for FakeRuntime { "worktreePath": "/repo-feature-demo", })) } - - async fn stepwise_settings(&self) -> anyhow::Result { - Ok(json!({ - "status": "ok", - "settings": { - "enabled": true, - "directSend": false, - "model": "test-stepwise", - "maxItems": 6 - } - })) - } - - async fn stepwise_generate(&self, payload: Value) -> anyhow::Result { - assert_eq!(payload["request"]["lastUserMessage"], json!("请继续")); - Ok(json!({ - "status": "ok", - "items": [{"label": "继续", "prompt": "继续排查 Stepwise"}] - })) - } - - async fn stepwise_test(&self, _payload: Value) -> anyhow::Result { - Ok(json!({ - "status": "ok", - "items": [{"prompt": "测试 Stepwise"}] - })) - } } impl FakeRuntime { From 86108dc129567ee2b087a2aae42ce71b0a4f78b0 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Mon, 29 Jun 2026 01:09:01 +0800 Subject: [PATCH 135/156] Add forced Chinese locale switch --- Cargo.lock | 10 +- Cargo.toml | 76 +- apps/codex-plus-manager/package-lock.json | 5652 ++++++++--------- apps/codex-plus-manager/package.json | 80 +- .../src-tauri/tauri.conf.json | 70 +- apps/codex-plus-manager/src/App.tsx | 3 + assets/inject/renderer-inject.js | 141 + crates/codex-plus-core/src/assets.rs | 9 +- crates/codex-plus-core/src/settings.rs | 5 + crates/codex-plus-core/tests/bridge_routes.rs | 1 + .../tests/force_chinese_locale_settings.rs | 81 + 11 files changed, 3183 insertions(+), 2945 deletions(-) create mode 100644 crates/codex-plus-core/tests/force_chinese_locale_settings.rs diff --git a/Cargo.lock b/Cargo.lock index 0426c1da8..312b3bc3d 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -406,7 +406,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.22" +version = "1.2.23" dependencies = [ "aes-gcm", "anyhow", @@ -433,7 +433,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.22" +version = "1.2.23" dependencies = [ "anyhow", "base64 0.22.1", @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.22" +version = "1.2.23" dependencies = [ "anyhow", "async-trait", @@ -463,7 +463,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.22" +version = "1.2.23" dependencies = [ "anyhow", "async-trait", @@ -481,7 +481,7 @@ dependencies = [ [[package]] name = "codex-plus-mobile-relay" -version = "1.2.22" +version = "1.2.23" dependencies = [ "anyhow", "futures-util", diff --git a/Cargo.toml b/Cargo.toml index e2431e7f3..ff8b06629 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -1,38 +1,38 @@ -[workspace] -resolver = "2" -members = [ - "crates/codex-plus-core", - "crates/codex-plus-data", - "apps/codex-plus-launcher", - "apps/codex-plus-mobile-relay", - "apps/codex-plus-manager/src-tauri", -] - -[workspace.package] -version = "1.2.22" -edition = "2024" -license = "MIT" -repository = "https://github.com/BigPizzaV3/CodexPlusPlus" - -[workspace.dependencies] -aes-gcm = "0.10" -anyhow = "1" -base64 = "0.22" -directories = "6" -fs2 = "0.4" -futures-util = "0.3" -reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls", "system-proxy"], default-features = false } -rusqlite = { version = "0.32", features = ["bundled"] } -serde = { version = "1", features = ["derive"] } -serde_json = "1" -sha2 = "0.10" -tempfile = "3" -thiserror = "2" -tokio = { version = "1", features = ["macros", "process", "rt-multi-thread", "time"] } -tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] } -toml = "0.8" -toml_edit = "0.22" -url = "2" -uuid = { version = "1", features = ["v4"] } -winresource = "0.1" -zip = { version = "2", default-features = false, features = ["deflate"] } +[workspace] +resolver = "2" +members = [ + "crates/codex-plus-core", + "crates/codex-plus-data", + "apps/codex-plus-launcher", + "apps/codex-plus-mobile-relay", + "apps/codex-plus-manager/src-tauri", +] + +[workspace.package] +version = "1.2.23" +edition = "2024" +license = "MIT" +repository = "https://github.com/BigPizzaV3/CodexPlusPlus" + +[workspace.dependencies] +aes-gcm = "0.10" +anyhow = "1" +base64 = "0.22" +directories = "6" +fs2 = "0.4" +futures-util = "0.3" +reqwest = { version = "0.12", features = ["json", "stream", "rustls-tls", "system-proxy"], default-features = false } +rusqlite = { version = "0.32", features = ["bundled"] } +serde = { version = "1", features = ["derive"] } +serde_json = "1" +sha2 = "0.10" +tempfile = "3" +thiserror = "2" +tokio = { version = "1", features = ["macros", "process", "rt-multi-thread", "time"] } +tokio-tungstenite = { version = "0.26", features = ["rustls-tls-webpki-roots"] } +toml = "0.8" +toml_edit = "0.22" +url = "2" +uuid = { version = "1", features = ["v4"] } +winresource = "0.1" +zip = { version = "2", default-features = false, features = ["deflate"] } diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 0eec00fdd..685c17111 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,2826 +1,2826 @@ -{ - "name": "codex-plus-manager", - "version": "1.2.22", - "lockfileVersion": 3, - "requires": true, - "packages": { - "": { - "name": "codex-plus-manager", - "version": "1.2.22", - "dependencies": { - "@dnd-kit/core": "^6.3.1", - "@dnd-kit/sortable": "^10.0.0", - "@dnd-kit/utilities": "^3.2.2", - "@fontsource/inter": "^5.2.8", - "@fontsource/jetbrains-mono": "^5.2.8", - "@radix-ui/react-slot": "^1.1.2", - "@tauri-apps/api": "^2.0.0", - "@tauri-apps/cli": "^2.0.0", - "@tauri-apps/plugin-dialog": "^2.7.1", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "lucide-react": "^0.468.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^2.5.5", - "typescript": "^5.8.0", - "vite": "^6.0.0" - }, - "devDependencies": { - "@tailwindcss/vite": "^4.0.0", - "@types/node": "^22.10.0", - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0", - "@vitejs/plugin-react": "^4.3.4", - "tailwindcss": "^4.0.0" - } - }, - "node_modules/@babel/code-frame": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", - "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-validator-identifier": "^7.28.5", - "js-tokens": "^4.0.0", - "picocolors": "^1.1.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/compat-data": { - "version": "7.29.3", - "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", - "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/core": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", - "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-compilation-targets": "^7.28.6", - "@babel/helper-module-transforms": "^7.28.6", - "@babel/helpers": "^7.28.6", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/traverse": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/remapping": "^2.3.5", - "convert-source-map": "^2.0.0", - "debug": "^4.1.0", - "gensync": "^1.0.0-beta.2", - "json5": "^2.2.3", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/babel" - } - }, - "node_modules/@babel/generator": { - "version": "7.29.1", - "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", - "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.29.0", - "@babel/types": "^7.29.0", - "@jridgewell/gen-mapping": "^0.3.12", - "@jridgewell/trace-mapping": "^0.3.28", - "jsesc": "^3.0.2" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-compilation-targets": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", - "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/compat-data": "^7.28.6", - "@babel/helper-validator-option": "^7.27.1", - "browserslist": "^4.24.0", - "lru-cache": "^5.1.1", - "semver": "^6.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-globals": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", - "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-imports": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", - "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/traverse": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-module-transforms": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", - "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-module-imports": "^7.28.6", - "@babel/helper-validator-identifier": "^7.28.5", - "@babel/traverse": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0" - } - }, - "node_modules/@babel/helper-plugin-utils": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", - "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-string-parser": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", - "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-identifier": { - "version": "7.28.5", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", - "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helper-validator-option": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", - "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/helpers": { - "version": "7.29.2", - "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", - "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/parser": { - "version": "7.29.3", - "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", - "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.29.0" - }, - "bin": { - "parser": "bin/babel-parser.js" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-self": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", - "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/plugin-transform-react-jsx-source": { - "version": "7.27.1", - "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", - "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-plugin-utils": "^7.27.1" - }, - "engines": { - "node": ">=6.9.0" - }, - "peerDependencies": { - "@babel/core": "^7.0.0-0" - } - }, - "node_modules/@babel/template": { - "version": "7.28.6", - "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", - "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.28.6", - "@babel/parser": "^7.28.6", - "@babel/types": "^7.28.6" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/traverse": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", - "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/code-frame": "^7.29.0", - "@babel/generator": "^7.29.0", - "@babel/helper-globals": "^7.28.0", - "@babel/parser": "^7.29.0", - "@babel/template": "^7.28.6", - "@babel/types": "^7.29.0", - "debug": "^4.3.1" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@babel/types": { - "version": "7.29.0", - "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", - "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/helper-string-parser": "^7.27.1", - "@babel/helper-validator-identifier": "^7.28.5" - }, - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/@dnd-kit/accessibility": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", - "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@dnd-kit/core": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", - "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", - "license": "MIT", - "dependencies": { - "@dnd-kit/accessibility": "^3.1.1", - "@dnd-kit/utilities": "^3.2.2", - "tslib": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0", - "react-dom": ">=16.8.0" - } - }, - "node_modules/@dnd-kit/sortable": { - "version": "10.0.0", - "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-10.0.0.tgz", - "integrity": "sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==", - "license": "MIT", - "dependencies": { - "@dnd-kit/utilities": "^3.2.2", - "tslib": "^2.0.0" - }, - "peerDependencies": { - "@dnd-kit/core": "^6.3.0", - "react": ">=16.8.0" - } - }, - "node_modules/@dnd-kit/utilities": { - "version": "3.2.2", - "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", - "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", - "license": "MIT", - "dependencies": { - "tslib": "^2.0.0" - }, - "peerDependencies": { - "react": ">=16.8.0" - } - }, - "node_modules/@esbuild/aix-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", - "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "aix" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", - "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", - "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/android-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", - "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", - "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/darwin-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", - "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", - "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/freebsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", - "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", - "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", - "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", - "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-loong64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", - "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-mips64el": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", - "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", - "cpu": [ - "mips64el" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-ppc64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", - "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-riscv64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", - "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-s390x": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", - "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/linux-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", - "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", - "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/netbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", - "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "netbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", - "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openbsd-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", - "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/openharmony-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", - "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/sunos-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", - "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "sunos" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-arm64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", - "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-ia32": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", - "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@esbuild/win32-x64": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", - "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">=18" - } - }, - "node_modules/@fontsource/inter": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.8.tgz", - "integrity": "sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@fontsource/jetbrains-mono": { - "version": "5.2.8", - "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", - "integrity": "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ==", - "license": "OFL-1.1", - "funding": { - "url": "https://github.com/sponsors/ayuhito" - } - }, - "node_modules/@jridgewell/gen-mapping": { - "version": "0.3.13", - "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", - "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.0", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/remapping": { - "version": "2.3.5", - "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", - "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/gen-mapping": "^0.3.5", - "@jridgewell/trace-mapping": "^0.3.24" - } - }, - "node_modules/@jridgewell/resolve-uri": { - "version": "3.1.2", - "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", - "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/@jridgewell/sourcemap-codec": { - "version": "1.5.5", - "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", - "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", - "dev": true, - "license": "MIT" - }, - "node_modules/@jridgewell/trace-mapping": { - "version": "0.3.31", - "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", - "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/resolve-uri": "^3.1.0", - "@jridgewell/sourcemap-codec": "^1.4.14" - } - }, - "node_modules/@radix-ui/react-compose-refs": { - "version": "1.1.2", - "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", - "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", - "license": "MIT", - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@radix-ui/react-slot": { - "version": "1.2.4", - "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", - "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", - "license": "MIT", - "dependencies": { - "@radix-ui/react-compose-refs": "1.1.2" - }, - "peerDependencies": { - "@types/react": "*", - "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" - }, - "peerDependenciesMeta": { - "@types/react": { - "optional": true - } - } - }, - "node_modules/@rolldown/pluginutils": { - "version": "1.0.0-beta.27", - "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", - "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", - "dev": true, - "license": "MIT" - }, - "node_modules/@rollup/rollup-android-arm-eabi": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", - "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-android-arm64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", - "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "android" - ] - }, - "node_modules/@rollup/rollup-darwin-arm64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", - "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-darwin-x64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", - "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ] - }, - "node_modules/@rollup/rollup-freebsd-arm64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", - "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-freebsd-x64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", - "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ] - }, - "node_modules/@rollup/rollup-linux-arm-gnueabihf": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", - "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm-musleabihf": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", - "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", - "cpu": [ - "arm" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", - "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-arm64-musl": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", - "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", - "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-loong64-musl": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", - "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", - "cpu": [ - "loong64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", - "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-ppc64-musl": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", - "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", - "cpu": [ - "ppc64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", - "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-riscv64-musl": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", - "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", - "cpu": [ - "riscv64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-s390x-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", - "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", - "cpu": [ - "s390x" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", - "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-linux-x64-musl": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", - "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "linux" - ] - }, - "node_modules/@rollup/rollup-openbsd-x64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", - "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openbsd" - ] - }, - "node_modules/@rollup/rollup-openharmony-arm64": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", - "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "openharmony" - ] - }, - "node_modules/@rollup/rollup-win32-arm64-msvc": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", - "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", - "cpu": [ - "arm64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-ia32-msvc": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", - "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", - "cpu": [ - "ia32" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-gnu": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", - "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@rollup/rollup-win32-x64-msvc": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", - "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", - "cpu": [ - "x64" - ], - "license": "MIT", - "optional": true, - "os": [ - "win32" - ] - }, - "node_modules/@tailwindcss/node": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", - "integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/remapping": "^2.3.5", - "enhanced-resolve": "^5.21.0", - "jiti": "^2.6.1", - "lightningcss": "1.32.0", - "magic-string": "^0.30.21", - "source-map-js": "^1.2.1", - "tailwindcss": "4.3.0" - } - }, - "node_modules/@tailwindcss/oxide": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz", - "integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">= 20" - }, - "optionalDependencies": { - "@tailwindcss/oxide-android-arm64": "4.3.0", - "@tailwindcss/oxide-darwin-arm64": "4.3.0", - "@tailwindcss/oxide-darwin-x64": "4.3.0", - "@tailwindcss/oxide-freebsd-x64": "4.3.0", - "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", - "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", - "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", - "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", - "@tailwindcss/oxide-linux-x64-musl": "4.3.0", - "@tailwindcss/oxide-wasm32-wasi": "4.3.0", - "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", - "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" - } - }, - "node_modules/@tailwindcss/oxide-android-arm64": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz", - "integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-arm64": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz", - "integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-darwin-x64": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz", - "integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-freebsd-x64": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz", - "integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz", - "integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==", - "cpu": [ - "arm" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz", - "integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-arm64-musl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz", - "integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-gnu": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz", - "integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-linux-x64-musl": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz", - "integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz", - "integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==", - "bundleDependencies": [ - "@napi-rs/wasm-runtime", - "@emnapi/core", - "@emnapi/runtime", - "@tybys/wasm-util", - "@emnapi/wasi-threads", - "tslib" - ], - "cpu": [ - "wasm32" - ], - "dev": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/core": "^1.10.0", - "@emnapi/runtime": "^1.10.0", - "@emnapi/wasi-threads": "^1.2.1", - "@napi-rs/wasm-runtime": "^1.1.4", - "@tybys/wasm-util": "^0.10.1", - "tslib": "^2.8.1" - }, - "engines": { - "node": ">=14.0.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { - "version": "1.10.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@emnapi/wasi-threads": "1.2.1", - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { - "version": "1.10.0", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { - "version": "1.2.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { - "version": "1.1.4", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "@tybys/wasm-util": "^0.10.1" - }, - "funding": { - "type": "github", - "url": "https://github.com/sponsors/Brooooooklyn" - }, - "peerDependencies": { - "@emnapi/core": "^1.7.1", - "@emnapi/runtime": "^1.7.1" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { - "version": "0.10.1", - "dev": true, - "inBundle": true, - "license": "MIT", - "optional": true, - "dependencies": { - "tslib": "^2.4.0" - } - }, - "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { - "version": "2.8.1", - "dev": true, - "inBundle": true, - "license": "0BSD", - "optional": true - }, - "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz", - "integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==", - "cpu": [ - "arm64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/oxide-win32-x64-msvc": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz", - "integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==", - "cpu": [ - "x64" - ], - "dev": true, - "license": "MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 20" - } - }, - "node_modules/@tailwindcss/vite": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.0.tgz", - "integrity": "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==", - "dev": true, - "license": "MIT", - "dependencies": { - "@tailwindcss/node": "4.3.0", - "@tailwindcss/oxide": "4.3.0", - "tailwindcss": "4.3.0" - }, - "peerDependencies": { - "vite": "^5.2.0 || ^6 || ^7 || ^8" - } - }, - "node_modules/@tauri-apps/api": { - "version": "2.11.0", - "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.11.0.tgz", - "integrity": "sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA==", - "license": "Apache-2.0 OR MIT", - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" - } - }, - "node_modules/@tauri-apps/cli": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.2.tgz", - "integrity": "sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw==", - "license": "Apache-2.0 OR MIT", - "bin": { - "tauri": "tauri.js" - }, - "engines": { - "node": ">= 10" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/tauri" - }, - "optionalDependencies": { - "@tauri-apps/cli-darwin-arm64": "2.11.2", - "@tauri-apps/cli-darwin-x64": "2.11.2", - "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.2", - "@tauri-apps/cli-linux-arm64-gnu": "2.11.2", - "@tauri-apps/cli-linux-arm64-musl": "2.11.2", - "@tauri-apps/cli-linux-riscv64-gnu": "2.11.2", - "@tauri-apps/cli-linux-x64-gnu": "2.11.2", - "@tauri-apps/cli-linux-x64-musl": "2.11.2", - "@tauri-apps/cli-win32-arm64-msvc": "2.11.2", - "@tauri-apps/cli-win32-ia32-msvc": "2.11.2", - "@tauri-apps/cli-win32-x64-msvc": "2.11.2" - } - }, - "node_modules/@tauri-apps/cli-darwin-arm64": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.2.tgz", - "integrity": "sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-darwin-x64": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.2.tgz", - "integrity": "sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.2.tgz", - "integrity": "sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA==", - "cpu": [ - "arm" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm64-gnu": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.2.tgz", - "integrity": "sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-arm64-musl": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.2.tgz", - "integrity": "sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.2.tgz", - "integrity": "sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ==", - "cpu": [ - "riscv64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-gnu": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.2.tgz", - "integrity": "sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-linux-x64-musl": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.2.tgz", - "integrity": "sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-arm64-msvc": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.2.tgz", - "integrity": "sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA==", - "cpu": [ - "arm64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-ia32-msvc": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.2.tgz", - "integrity": "sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA==", - "cpu": [ - "ia32" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/cli-win32-x64-msvc": { - "version": "2.11.2", - "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.2.tgz", - "integrity": "sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA==", - "cpu": [ - "x64" - ], - "license": "Apache-2.0 OR MIT", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 10" - } - }, - "node_modules/@tauri-apps/plugin-dialog": { - "version": "2.7.1", - "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.7.1.tgz", - "integrity": "sha512-OK1UBXYt+ojcmxMktzzuyonYIFta8CmAASpX+CA+DTGK24KlHjhYI6x2iOJ/TjZF4N7/ACK1oFmEOjIY9IhzOQ==", - "license": "MIT OR Apache-2.0", - "dependencies": { - "@tauri-apps/api": "^2.11.0" - } - }, - "node_modules/@types/babel__core": { - "version": "7.20.5", - "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", - "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.20.7", - "@babel/types": "^7.20.7", - "@types/babel__generator": "*", - "@types/babel__template": "*", - "@types/babel__traverse": "*" - } - }, - "node_modules/@types/babel__generator": { - "version": "7.27.0", - "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", - "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__template": { - "version": "7.4.4", - "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", - "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/parser": "^7.1.0", - "@babel/types": "^7.0.0" - } - }, - "node_modules/@types/babel__traverse": { - "version": "7.28.0", - "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", - "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/types": "^7.28.2" - } - }, - "node_modules/@types/estree": { - "version": "1.0.8", - "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", - "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", - "license": "MIT" - }, - "node_modules/@types/node": { - "version": "22.19.19", - "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", - "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "undici-types": "~6.21.0" - } - }, - "node_modules/@types/react": { - "version": "19.2.15", - "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz", - "integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==", - "devOptional": true, - "license": "MIT", - "dependencies": { - "csstype": "^3.2.2" - } - }, - "node_modules/@types/react-dom": { - "version": "19.2.3", - "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", - "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", - "dev": true, - "license": "MIT", - "peerDependencies": { - "@types/react": "^19.2.0" - } - }, - "node_modules/@vitejs/plugin-react": { - "version": "4.7.0", - "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", - "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", - "dev": true, - "license": "MIT", - "dependencies": { - "@babel/core": "^7.28.0", - "@babel/plugin-transform-react-jsx-self": "^7.27.1", - "@babel/plugin-transform-react-jsx-source": "^7.27.1", - "@rolldown/pluginutils": "1.0.0-beta.27", - "@types/babel__core": "^7.20.5", - "react-refresh": "^0.17.0" - }, - "engines": { - "node": "^14.18.0 || >=16.0.0" - }, - "peerDependencies": { - "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" - } - }, - "node_modules/baseline-browser-mapping": { - "version": "2.10.31", - "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz", - "integrity": "sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==", - "dev": true, - "license": "Apache-2.0", - "bin": { - "baseline-browser-mapping": "dist/cli.cjs" - }, - "engines": { - "node": ">=6.0.0" - } - }, - "node_modules/browserslist": { - "version": "4.28.2", - "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", - "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "baseline-browser-mapping": "^2.10.12", - "caniuse-lite": "^1.0.30001782", - "electron-to-chromium": "^1.5.328", - "node-releases": "^2.0.36", - "update-browserslist-db": "^1.2.3" - }, - "bin": { - "browserslist": "cli.js" - }, - "engines": { - "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" - } - }, - "node_modules/caniuse-lite": { - "version": "1.0.30001793", - "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", - "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/caniuse-lite" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "CC-BY-4.0" - }, - "node_modules/class-variance-authority": { - "version": "0.7.1", - "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", - "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", - "license": "Apache-2.0", - "dependencies": { - "clsx": "^2.1.1" - }, - "funding": { - "url": "https://polar.sh/cva" - } - }, - "node_modules/clsx": { - "version": "2.1.1", - "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", - "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/convert-source-map": { - "version": "2.0.0", - "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", - "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", - "dev": true, - "license": "MIT" - }, - "node_modules/csstype": { - "version": "3.2.3", - "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", - "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/debug": { - "version": "4.4.3", - "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", - "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", - "dev": true, - "license": "MIT", - "dependencies": { - "ms": "^2.1.3" - }, - "engines": { - "node": ">=6.0" - }, - "peerDependenciesMeta": { - "supports-color": { - "optional": true - } - } - }, - "node_modules/detect-libc": { - "version": "2.1.2", - "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", - "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", - "devOptional": true, - "license": "Apache-2.0", - "engines": { - "node": ">=8" - } - }, - "node_modules/electron-to-chromium": { - "version": "1.5.360", - "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.360.tgz", - "integrity": "sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==", - "dev": true, - "license": "ISC" - }, - "node_modules/enhanced-resolve": { - "version": "5.21.6", - "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", - "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "graceful-fs": "^4.2.4", - "tapable": "^2.3.3" - }, - "engines": { - "node": ">=10.13.0" - } - }, - "node_modules/esbuild": { - "version": "0.25.12", - "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", - "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", - "hasInstallScript": true, - "license": "MIT", - "bin": { - "esbuild": "bin/esbuild" - }, - "engines": { - "node": ">=18" - }, - "optionalDependencies": { - "@esbuild/aix-ppc64": "0.25.12", - "@esbuild/android-arm": "0.25.12", - "@esbuild/android-arm64": "0.25.12", - "@esbuild/android-x64": "0.25.12", - "@esbuild/darwin-arm64": "0.25.12", - "@esbuild/darwin-x64": "0.25.12", - "@esbuild/freebsd-arm64": "0.25.12", - "@esbuild/freebsd-x64": "0.25.12", - "@esbuild/linux-arm": "0.25.12", - "@esbuild/linux-arm64": "0.25.12", - "@esbuild/linux-ia32": "0.25.12", - "@esbuild/linux-loong64": "0.25.12", - "@esbuild/linux-mips64el": "0.25.12", - "@esbuild/linux-ppc64": "0.25.12", - "@esbuild/linux-riscv64": "0.25.12", - "@esbuild/linux-s390x": "0.25.12", - "@esbuild/linux-x64": "0.25.12", - "@esbuild/netbsd-arm64": "0.25.12", - "@esbuild/netbsd-x64": "0.25.12", - "@esbuild/openbsd-arm64": "0.25.12", - "@esbuild/openbsd-x64": "0.25.12", - "@esbuild/openharmony-arm64": "0.25.12", - "@esbuild/sunos-x64": "0.25.12", - "@esbuild/win32-arm64": "0.25.12", - "@esbuild/win32-ia32": "0.25.12", - "@esbuild/win32-x64": "0.25.12" - } - }, - "node_modules/escalade": { - "version": "3.2.0", - "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", - "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - } - }, - "node_modules/fdir": { - "version": "6.5.0", - "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", - "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", - "license": "MIT", - "engines": { - "node": ">=12.0.0" - }, - "peerDependencies": { - "picomatch": "^3 || ^4" - }, - "peerDependenciesMeta": { - "picomatch": { - "optional": true - } - } - }, - "node_modules/fsevents": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", - "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", - "hasInstallScript": true, - "license": "MIT", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": "^8.16.0 || ^10.6.0 || >=11.0.0" - } - }, - "node_modules/gensync": { - "version": "1.0.0-beta.2", - "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", - "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6.9.0" - } - }, - "node_modules/graceful-fs": { - "version": "4.2.11", - "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", - "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", - "dev": true, - "license": "ISC" - }, - "node_modules/jiti": { - "version": "2.7.0", - "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", - "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", - "devOptional": true, - "license": "MIT", - "bin": { - "jiti": "lib/jiti-cli.mjs" - } - }, - "node_modules/js-tokens": { - "version": "4.0.0", - "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", - "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", - "dev": true, - "license": "MIT" - }, - "node_modules/jsesc": { - "version": "3.1.0", - "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", - "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", - "dev": true, - "license": "MIT", - "bin": { - "jsesc": "bin/jsesc" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/json5": { - "version": "2.2.3", - "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", - "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", - "dev": true, - "license": "MIT", - "bin": { - "json5": "lib/cli.js" - }, - "engines": { - "node": ">=6" - } - }, - "node_modules/lightningcss": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", - "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", - "devOptional": true, - "license": "MPL-2.0", - "dependencies": { - "detect-libc": "^2.0.3" - }, - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - }, - "optionalDependencies": { - "lightningcss-android-arm64": "1.32.0", - "lightningcss-darwin-arm64": "1.32.0", - "lightningcss-darwin-x64": "1.32.0", - "lightningcss-freebsd-x64": "1.32.0", - "lightningcss-linux-arm-gnueabihf": "1.32.0", - "lightningcss-linux-arm64-gnu": "1.32.0", - "lightningcss-linux-arm64-musl": "1.32.0", - "lightningcss-linux-x64-gnu": "1.32.0", - "lightningcss-linux-x64-musl": "1.32.0", - "lightningcss-win32-arm64-msvc": "1.32.0", - "lightningcss-win32-x64-msvc": "1.32.0" - } - }, - "node_modules/lightningcss-android-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", - "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "android" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-arm64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", - "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-darwin-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", - "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "darwin" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-freebsd-x64": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", - "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "freebsd" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm-gnueabihf": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", - "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", - "cpu": [ - "arm" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", - "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-arm64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", - "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-gnu": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", - "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-linux-x64-musl": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", - "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "linux" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-arm64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", - "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", - "cpu": [ - "arm64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lightningcss-win32-x64-msvc": { - "version": "1.32.0", - "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", - "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", - "cpu": [ - "x64" - ], - "license": "MPL-2.0", - "optional": true, - "os": [ - "win32" - ], - "engines": { - "node": ">= 12.0.0" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/parcel" - } - }, - "node_modules/lru-cache": { - "version": "5.1.1", - "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", - "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", - "dev": true, - "license": "ISC", - "dependencies": { - "yallist": "^3.0.2" - } - }, - "node_modules/lucide-react": { - "version": "0.468.0", - "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz", - "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==", - "license": "ISC", - "peerDependencies": { - "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" - } - }, - "node_modules/magic-string": { - "version": "0.30.21", - "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", - "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", - "dev": true, - "license": "MIT", - "dependencies": { - "@jridgewell/sourcemap-codec": "^1.5.5" - } - }, - "node_modules/ms": { - "version": "2.1.3", - "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", - "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", - "dev": true, - "license": "MIT" - }, - "node_modules/nanoid": { - "version": "3.3.12", - "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", - "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", - "funding": [ - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "bin": { - "nanoid": "bin/nanoid.cjs" - }, - "engines": { - "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" - } - }, - "node_modules/node-releases": { - "version": "2.0.45", - "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.45.tgz", - "integrity": "sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=18" - } - }, - "node_modules/picocolors": { - "version": "1.1.1", - "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", - "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", - "license": "ISC" - }, - "node_modules/picomatch": { - "version": "4.0.4", - "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", - "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", - "license": "MIT", - "engines": { - "node": ">=12" - }, - "funding": { - "url": "https://github.com/sponsors/jonschlinkert" - } - }, - "node_modules/postcss": { - "version": "8.5.15", - "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", - "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/postcss/" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/postcss" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "nanoid": "^3.3.12", - "picocolors": "^1.1.1", - "source-map-js": "^1.2.1" - }, - "engines": { - "node": "^10 || ^12 || >=14" - } - }, - "node_modules/react": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", - "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/react-dom": { - "version": "19.2.6", - "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", - "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", - "license": "MIT", - "dependencies": { - "scheduler": "^0.27.0" - }, - "peerDependencies": { - "react": "^19.2.6" - } - }, - "node_modules/react-refresh": { - "version": "0.17.0", - "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", - "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/rollup": { - "version": "4.60.4", - "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", - "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", - "license": "MIT", - "dependencies": { - "@types/estree": "1.0.8" - }, - "bin": { - "rollup": "dist/bin/rollup" - }, - "engines": { - "node": ">=18.0.0", - "npm": ">=8.0.0" - }, - "optionalDependencies": { - "@rollup/rollup-android-arm-eabi": "4.60.4", - "@rollup/rollup-android-arm64": "4.60.4", - "@rollup/rollup-darwin-arm64": "4.60.4", - "@rollup/rollup-darwin-x64": "4.60.4", - "@rollup/rollup-freebsd-arm64": "4.60.4", - "@rollup/rollup-freebsd-x64": "4.60.4", - "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", - "@rollup/rollup-linux-arm-musleabihf": "4.60.4", - "@rollup/rollup-linux-arm64-gnu": "4.60.4", - "@rollup/rollup-linux-arm64-musl": "4.60.4", - "@rollup/rollup-linux-loong64-gnu": "4.60.4", - "@rollup/rollup-linux-loong64-musl": "4.60.4", - "@rollup/rollup-linux-ppc64-gnu": "4.60.4", - "@rollup/rollup-linux-ppc64-musl": "4.60.4", - "@rollup/rollup-linux-riscv64-gnu": "4.60.4", - "@rollup/rollup-linux-riscv64-musl": "4.60.4", - "@rollup/rollup-linux-s390x-gnu": "4.60.4", - "@rollup/rollup-linux-x64-gnu": "4.60.4", - "@rollup/rollup-linux-x64-musl": "4.60.4", - "@rollup/rollup-openbsd-x64": "4.60.4", - "@rollup/rollup-openharmony-arm64": "4.60.4", - "@rollup/rollup-win32-arm64-msvc": "4.60.4", - "@rollup/rollup-win32-ia32-msvc": "4.60.4", - "@rollup/rollup-win32-x64-gnu": "4.60.4", - "@rollup/rollup-win32-x64-msvc": "4.60.4", - "fsevents": "~2.3.2" - } - }, - "node_modules/scheduler": { - "version": "0.27.0", - "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", - "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", - "license": "MIT" - }, - "node_modules/semver": { - "version": "6.3.1", - "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", - "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", - "dev": true, - "license": "ISC", - "bin": { - "semver": "bin/semver.js" - } - }, - "node_modules/source-map-js": { - "version": "1.2.1", - "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", - "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", - "license": "BSD-3-Clause", - "engines": { - "node": ">=0.10.0" - } - }, - "node_modules/tailwind-merge": { - "version": "2.6.1", - "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.1.tgz", - "integrity": "sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==", - "license": "MIT", - "funding": { - "type": "github", - "url": "https://github.com/sponsors/dcastil" - } - }, - "node_modules/tailwindcss": { - "version": "4.3.0", - "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", - "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", - "dev": true, - "license": "MIT" - }, - "node_modules/tapable": { - "version": "2.3.3", - "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", - "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", - "dev": true, - "license": "MIT", - "engines": { - "node": ">=6" - }, - "funding": { - "type": "opencollective", - "url": "https://opencollective.com/webpack" - } - }, - "node_modules/tinyglobby": { - "version": "0.2.16", - "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", - "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", - "license": "MIT", - "dependencies": { - "fdir": "^6.5.0", - "picomatch": "^4.0.4" - }, - "engines": { - "node": ">=12.0.0" - }, - "funding": { - "url": "https://github.com/sponsors/SuperchupuDev" - } - }, - "node_modules/tslib": { - "version": "2.8.1", - "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", - "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", - "license": "0BSD" - }, - "node_modules/typescript": { - "version": "5.9.3", - "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", - "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", - "license": "Apache-2.0", - "bin": { - "tsc": "bin/tsc", - "tsserver": "bin/tsserver" - }, - "engines": { - "node": ">=14.17" - } - }, - "node_modules/undici-types": { - "version": "6.21.0", - "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", - "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", - "devOptional": true, - "license": "MIT" - }, - "node_modules/update-browserslist-db": { - "version": "1.2.3", - "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", - "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", - "dev": true, - "funding": [ - { - "type": "opencollective", - "url": "https://opencollective.com/browserslist" - }, - { - "type": "tidelift", - "url": "https://tidelift.com/funding/github/npm/browserslist" - }, - { - "type": "github", - "url": "https://github.com/sponsors/ai" - } - ], - "license": "MIT", - "dependencies": { - "escalade": "^3.2.0", - "picocolors": "^1.1.1" - }, - "bin": { - "update-browserslist-db": "cli.js" - }, - "peerDependencies": { - "browserslist": ">= 4.21.0" - } - }, - "node_modules/vite": { - "version": "6.4.2", - "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", - "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", - "license": "MIT", - "dependencies": { - "esbuild": "^0.25.0", - "fdir": "^6.4.4", - "picomatch": "^4.0.2", - "postcss": "^8.5.3", - "rollup": "^4.34.9", - "tinyglobby": "^0.2.13" - }, - "bin": { - "vite": "bin/vite.js" - }, - "engines": { - "node": "^18.0.0 || ^20.0.0 || >=22.0.0" - }, - "funding": { - "url": "https://github.com/vitejs/vite?sponsor=1" - }, - "optionalDependencies": { - "fsevents": "~2.3.3" - }, - "peerDependencies": { - "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", - "jiti": ">=1.21.0", - "less": "*", - "lightningcss": "^1.21.0", - "sass": "*", - "sass-embedded": "*", - "stylus": "*", - "sugarss": "*", - "terser": "^5.16.0", - "tsx": "^4.8.1", - "yaml": "^2.4.2" - }, - "peerDependenciesMeta": { - "@types/node": { - "optional": true - }, - "jiti": { - "optional": true - }, - "less": { - "optional": true - }, - "lightningcss": { - "optional": true - }, - "sass": { - "optional": true - }, - "sass-embedded": { - "optional": true - }, - "stylus": { - "optional": true - }, - "sugarss": { - "optional": true - }, - "terser": { - "optional": true - }, - "tsx": { - "optional": true - }, - "yaml": { - "optional": true - } - } - }, - "node_modules/yallist": { - "version": "3.1.1", - "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", - "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", - "dev": true, - "license": "ISC" - } - } -} +{ + "name": "codex-plus-manager", + "version": "1.2.23", + "lockfileVersion": 3, + "requires": true, + "packages": { + "": { + "name": "codex-plus-manager", + "version": "1.2.23", + "dependencies": { + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", + "@fontsource/inter": "^5.2.8", + "@fontsource/jetbrains-mono": "^5.2.8", + "@radix-ui/react-slot": "^1.1.2", + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/cli": "^2.0.0", + "@tauri-apps/plugin-dialog": "^2.7.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.468.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^2.5.5", + "typescript": "^5.8.0", + "vite": "^6.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.0", + "@types/node": "^22.10.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@vitejs/plugin-react": "^4.3.4", + "tailwindcss": "^4.0.0" + } + }, + "node_modules/@babel/code-frame": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/code-frame/-/code-frame-7.29.0.tgz", + "integrity": "sha512-9NhCeYjq9+3uxgdtp20LSiJXJvN0FeCtNGpJxuMFZ1Kv3cWUNb6DOhJwUvcVCzKGR66cw4njwM6hrJLqgOwbcw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-validator-identifier": "^7.28.5", + "js-tokens": "^4.0.0", + "picocolors": "^1.1.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/compat-data": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/compat-data/-/compat-data-7.29.3.tgz", + "integrity": "sha512-LIVqM46zQWZhj17qA8wb4nW/ixr2y1Nw+r1etiAWgRM6U1IqP+LNhL1yg440jYZR72jCWcWbLWzIosH+uP1fqg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/core": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/core/-/core-7.29.0.tgz", + "integrity": "sha512-CGOfOJqWjg2qW/Mb6zNsDm+u5vFQ8DxXfbM09z69p5Z6+mE1ikP2jUXw+j42Pf1XTYED2Rni5f95npYeuwMDQA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-compilation-targets": "^7.28.6", + "@babel/helper-module-transforms": "^7.28.6", + "@babel/helpers": "^7.28.6", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/traverse": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/remapping": "^2.3.5", + "convert-source-map": "^2.0.0", + "debug": "^4.1.0", + "gensync": "^1.0.0-beta.2", + "json5": "^2.2.3", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/babel" + } + }, + "node_modules/@babel/generator": { + "version": "7.29.1", + "resolved": "https://registry.npmjs.org/@babel/generator/-/generator-7.29.1.tgz", + "integrity": "sha512-qsaF+9Qcm2Qv8SRIMMscAvG4O3lJ0F1GuMo5HR/Bp02LopNgnZBC/EkbevHFeGs4ls/oPz9v+Bsmzbkbe+0dUw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.29.0", + "@babel/types": "^7.29.0", + "@jridgewell/gen-mapping": "^0.3.12", + "@jridgewell/trace-mapping": "^0.3.28", + "jsesc": "^3.0.2" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-compilation-targets": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-compilation-targets/-/helper-compilation-targets-7.28.6.tgz", + "integrity": "sha512-JYtls3hqi15fcx5GaSNL7SCTJ2MNmjrkHXg4FSpOA/grxK8KwyZ5bubHsCq8FXCkua6xhuaaBit+3b7+VZRfcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/compat-data": "^7.28.6", + "@babel/helper-validator-option": "^7.27.1", + "browserslist": "^4.24.0", + "lru-cache": "^5.1.1", + "semver": "^6.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-globals": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@babel/helper-globals/-/helper-globals-7.28.0.tgz", + "integrity": "sha512-+W6cISkXFa1jXsDEdYA8HeevQT/FULhxzR99pxphltZcVaugps53THCeiWA8SguxxpSp3gKPiuYfSWopkLQ4hw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-imports": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-imports/-/helper-module-imports-7.28.6.tgz", + "integrity": "sha512-l5XkZK7r7wa9LucGw9LwZyyCUscb4x37JWTPz7swwFE/0FMQAGpiWUZn8u9DzkSBWEcK25jmvubfpw2dnAMdbw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/traverse": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-module-transforms": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-module-transforms/-/helper-module-transforms-7.28.6.tgz", + "integrity": "sha512-67oXFAYr2cDLDVGLXTEABjdBJZ6drElUSI7WKp70NrpyISso3plG9SAGEF6y7zbha/wOzUByWWTJvEDVNIUGcA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-module-imports": "^7.28.6", + "@babel/helper-validator-identifier": "^7.28.5", + "@babel/traverse": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0" + } + }, + "node_modules/@babel/helper-plugin-utils": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/helper-plugin-utils/-/helper-plugin-utils-7.28.6.tgz", + "integrity": "sha512-S9gzZ/bz83GRysI7gAD4wPT/AI3uCnY+9xn+Mx/KPs2JwHJIz1W8PZkg2cqyt3RNOBM8ejcXhV6y8Og7ly/Dug==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-string-parser": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-string-parser/-/helper-string-parser-7.27.1.tgz", + "integrity": "sha512-qMlSxKbpRlAridDExk92nSobyDdpPijUq2DW6oDnUqd0iOGxmQjyqhMIihI9+zv4LPyZdRje2cavWPbCbWm3eA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-identifier": { + "version": "7.28.5", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-identifier/-/helper-validator-identifier-7.28.5.tgz", + "integrity": "sha512-qSs4ifwzKJSV39ucNjsvc6WVHs6b7S03sOh2OcHF9UHfVPqWWALUsNUVzhSBiItjRZoLHx7nIarVjqKVusUZ1Q==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helper-validator-option": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/helper-validator-option/-/helper-validator-option-7.27.1.tgz", + "integrity": "sha512-YvjJow9FxbhFFKDSuFnVCe2WxXk1zWc22fFePVNEaWJEu8IrZVlda6N0uHwzZrUM1il7NC9Mlp4MaJYbYd9JSg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/helpers": { + "version": "7.29.2", + "resolved": "https://registry.npmjs.org/@babel/helpers/-/helpers-7.29.2.tgz", + "integrity": "sha512-HoGuUs4sCZNezVEKdVcwqmZN8GoHirLUcLaYVNBK2J0DadGtdcqgr3BCbvH8+XUo4NGjNl3VOtSjEKNzqfFgKw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/parser": { + "version": "7.29.3", + "resolved": "https://registry.npmjs.org/@babel/parser/-/parser-7.29.3.tgz", + "integrity": "sha512-b3ctpQwp+PROvU/cttc4OYl4MzfJUWy6FZg+PMXfzmt/+39iHVF0sDfqay8TQM3JA2EUOyKcFZt75jWriQijsA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.29.0" + }, + "bin": { + "parser": "bin/babel-parser.js" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-self": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-self/-/plugin-transform-react-jsx-self-7.27.1.tgz", + "integrity": "sha512-6UzkCs+ejGdZ5mFFC/OCUrv028ab2fp1znZmCZjAOBKiBK2jXD1O+BPSfX8X2qjJ75fZBMSnQn3Rq2mrBJK2mw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/plugin-transform-react-jsx-source": { + "version": "7.27.1", + "resolved": "https://registry.npmjs.org/@babel/plugin-transform-react-jsx-source/-/plugin-transform-react-jsx-source-7.27.1.tgz", + "integrity": "sha512-zbwoTsBruTeKB9hSq73ha66iFeJHuaFkUbwvqElnygoNbj/jHRsSeokowZFN3CZ64IvEqcmmkVe89OPXc7ldAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-plugin-utils": "^7.27.1" + }, + "engines": { + "node": ">=6.9.0" + }, + "peerDependencies": { + "@babel/core": "^7.0.0-0" + } + }, + "node_modules/@babel/template": { + "version": "7.28.6", + "resolved": "https://registry.npmjs.org/@babel/template/-/template-7.28.6.tgz", + "integrity": "sha512-YA6Ma2KsCdGb+WC6UpBVFJGXL58MDA6oyONbjyF/+5sBgxY/dwkhLogbMT2GXXyU84/IhRw/2D1Os1B/giz+BQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.28.6", + "@babel/parser": "^7.28.6", + "@babel/types": "^7.28.6" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/traverse": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/traverse/-/traverse-7.29.0.tgz", + "integrity": "sha512-4HPiQr0X7+waHfyXPZpWPfWL/J7dcN1mx9gL6WdQVMbPnF3+ZhSMs8tCxN7oHddJE9fhNE7+lxdnlyemKfJRuA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/code-frame": "^7.29.0", + "@babel/generator": "^7.29.0", + "@babel/helper-globals": "^7.28.0", + "@babel/parser": "^7.29.0", + "@babel/template": "^7.28.6", + "@babel/types": "^7.29.0", + "debug": "^4.3.1" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@babel/types": { + "version": "7.29.0", + "resolved": "https://registry.npmjs.org/@babel/types/-/types-7.29.0.tgz", + "integrity": "sha512-LwdZHpScM4Qz8Xw2iKSzS+cfglZzJGvofQICy7W7v4caru4EaAmyUuO6BGrbyQ2mYV11W0U8j5mBhd14dd3B0A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/helper-string-parser": "^7.27.1", + "@babel/helper-validator-identifier": "^7.28.5" + }, + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/@dnd-kit/accessibility": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/accessibility/-/accessibility-3.1.1.tgz", + "integrity": "sha512-2P+YgaXF+gRsIihwwY1gCsQSYnu9Zyj2py8kY5fFvUM1qm2WA2u639R6YNVfU4GWr+ZM5mqEsfHZZLoRONbemw==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/core": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/@dnd-kit/core/-/core-6.3.1.tgz", + "integrity": "sha512-xkGBRQQab4RLwgXxoqETICr6S5JlogafbhNsidmrkVv2YRs5MLwpjoF2qpiGjQt8S9AoxtIV603s0GIUpY5eYQ==", + "license": "MIT", + "dependencies": { + "@dnd-kit/accessibility": "^3.1.1", + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0", + "react-dom": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/sortable": { + "version": "10.0.0", + "resolved": "https://registry.npmjs.org/@dnd-kit/sortable/-/sortable-10.0.0.tgz", + "integrity": "sha512-+xqhmIIzvAYMGfBYYnbKuNicfSsk4RksY2XdmJhT+HAC01nix6fHCztU68jooFiMUB01Ky3F0FyOvhG/BZrWkg==", + "license": "MIT", + "dependencies": { + "@dnd-kit/utilities": "^3.2.2", + "tslib": "^2.0.0" + }, + "peerDependencies": { + "@dnd-kit/core": "^6.3.0", + "react": ">=16.8.0" + } + }, + "node_modules/@dnd-kit/utilities": { + "version": "3.2.2", + "resolved": "https://registry.npmjs.org/@dnd-kit/utilities/-/utilities-3.2.2.tgz", + "integrity": "sha512-+MKAJEOfaBe5SmV6t34p80MMKhjvUz0vRrvVJbPT0WElzaOJ/1xs+D+KDv+tD/NE5ujfrChEcshd4fLn0wpiqg==", + "license": "MIT", + "dependencies": { + "tslib": "^2.0.0" + }, + "peerDependencies": { + "react": ">=16.8.0" + } + }, + "node_modules/@esbuild/aix-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/aix-ppc64/-/aix-ppc64-0.25.12.tgz", + "integrity": "sha512-Hhmwd6CInZ3dwpuGTF8fJG6yoWmsToE+vYgD4nytZVxcu1ulHpUQRAB1UJ8+N1Am3Mz4+xOByoQoSZf4D+CpkA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "aix" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm/-/android-arm-0.25.12.tgz", + "integrity": "sha512-VJ+sKvNA/GE7Ccacc9Cha7bpS8nyzVv0jdVgwNDaR4gDMC/2TTRc33Ip8qrNYUcpkOHUT5OZ0bUcNNVZQ9RLlg==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-arm64/-/android-arm64-0.25.12.tgz", + "integrity": "sha512-6AAmLG7zwD1Z159jCKPvAxZd4y/VTO0VkprYy+3N2FtJ8+BQWFXU+OxARIwA46c5tdD9SsKGZ/1ocqBS/gAKHg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/android-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/android-x64/-/android-x64-0.25.12.tgz", + "integrity": "sha512-5jbb+2hhDHx5phYR2By8GTWEzn6I9UqR11Kwf22iKbNpYrsmRB18aX/9ivc5cabcUiAT/wM+YIZ6SG9QO6a8kg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-arm64/-/darwin-arm64-0.25.12.tgz", + "integrity": "sha512-N3zl+lxHCifgIlcMUP5016ESkeQjLj/959RxxNYIthIg+CQHInujFuXeWbWMgnTo4cp5XVHqFPmpyu9J65C1Yg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/darwin-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/darwin-x64/-/darwin-x64-0.25.12.tgz", + "integrity": "sha512-HQ9ka4Kx21qHXwtlTUVbKJOAnmG1ipXhdWTmNXiPzPfWKpXqASVcWdnf2bnL73wgjNrFXAa3yYvBSd9pzfEIpA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-arm64/-/freebsd-arm64-0.25.12.tgz", + "integrity": "sha512-gA0Bx759+7Jve03K1S0vkOu5Lg/85dou3EseOGUes8flVOGxbhDDh/iZaoek11Y8mtyKPGF3vP8XhnkDEAmzeg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/freebsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/freebsd-x64/-/freebsd-x64-0.25.12.tgz", + "integrity": "sha512-TGbO26Yw2xsHzxtbVFGEXBFH0FRAP7gtcPE7P5yP7wGy7cXK2oO7RyOhL5NLiqTlBh47XhmIUXuGciXEqYFfBQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm/-/linux-arm-0.25.12.tgz", + "integrity": "sha512-lPDGyC1JPDou8kGcywY0YILzWlhhnRjdof3UlcoqYmS9El818LLfJJc3PXXgZHrHCAKs/Z2SeZtDJr5MrkxtOw==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-arm64/-/linux-arm64-0.25.12.tgz", + "integrity": "sha512-8bwX7a8FghIgrupcxb4aUmYDLp8pX06rGh5HqDT7bB+8Rdells6mHvrFHHW2JAOPZUbnjUpKTLg6ECyzvas2AQ==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ia32/-/linux-ia32-0.25.12.tgz", + "integrity": "sha512-0y9KrdVnbMM2/vG8KfU0byhUN+EFCny9+8g202gYqSSVMonbsCfLjUO+rCci7pM0WBEtz+oK/PIwHkzxkyharA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-loong64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-loong64/-/linux-loong64-0.25.12.tgz", + "integrity": "sha512-h///Lr5a9rib/v1GGqXVGzjL4TMvVTv+s1DPoxQdz7l/AYv6LDSxdIwzxkrPW438oUXiDtwM10o9PmwS/6Z0Ng==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-mips64el": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-mips64el/-/linux-mips64el-0.25.12.tgz", + "integrity": "sha512-iyRrM1Pzy9GFMDLsXn1iHUm18nhKnNMWscjmp4+hpafcZjrr2WbT//d20xaGljXDBYHqRcl8HnxbX6uaA/eGVw==", + "cpu": [ + "mips64el" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-ppc64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-ppc64/-/linux-ppc64-0.25.12.tgz", + "integrity": "sha512-9meM/lRXxMi5PSUqEXRCtVjEZBGwB7P/D4yT8UG/mwIdze2aV4Vo6U5gD3+RsoHXKkHCfSxZKzmDssVlRj1QQA==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-riscv64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-riscv64/-/linux-riscv64-0.25.12.tgz", + "integrity": "sha512-Zr7KR4hgKUpWAwb1f3o5ygT04MzqVrGEGXGLnj15YQDJErYu/BGg+wmFlIDOdJp0PmB0lLvxFIOXZgFRrdjR0w==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-s390x": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-s390x/-/linux-s390x-0.25.12.tgz", + "integrity": "sha512-MsKncOcgTNvdtiISc/jZs/Zf8d0cl/t3gYWX8J9ubBnVOwlk65UIEEvgBORTiljloIWnBzLs4qhzPkJcitIzIg==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/linux-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/linux-x64/-/linux-x64-0.25.12.tgz", + "integrity": "sha512-uqZMTLr/zR/ed4jIGnwSLkaHmPjOjJvnm6TVVitAa08SLS9Z0VM8wIRx7gWbJB5/J54YuIMInDquWyYvQLZkgw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-arm64/-/netbsd-arm64-0.25.12.tgz", + "integrity": "sha512-xXwcTq4GhRM7J9A8Gv5boanHhRa/Q9KLVmcyXHCTaM4wKfIpWkdXiMog/KsnxzJ0A1+nD+zoecuzqPmCRyBGjg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/netbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/netbsd-x64/-/netbsd-x64-0.25.12.tgz", + "integrity": "sha512-Ld5pTlzPy3YwGec4OuHh1aCVCRvOXdH8DgRjfDy/oumVovmuSzWfnSJg+VtakB9Cm0gxNO9BzWkj6mtO1FMXkQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "netbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-arm64/-/openbsd-arm64-0.25.12.tgz", + "integrity": "sha512-fF96T6KsBo/pkQI950FARU9apGNTSlZGsv1jZBAlcLL1MLjLNIWPBkj5NlSz8aAzYKg+eNqknrUJ24QBybeR5A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openbsd-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openbsd-x64/-/openbsd-x64-0.25.12.tgz", + "integrity": "sha512-MZyXUkZHjQxUvzK7rN8DJ3SRmrVrke8ZyRusHlP+kuwqTcfWLyqMOE3sScPPyeIXN/mDJIfGXvcMqCgYKekoQw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/openharmony-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/openharmony-arm64/-/openharmony-arm64-0.25.12.tgz", + "integrity": "sha512-rm0YWsqUSRrjncSXGA7Zv78Nbnw4XL6/dzr20cyrQf7ZmRcsovpcRBdhD43Nuk3y7XIoW2OxMVvwuRvk9XdASg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/sunos-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/sunos-x64/-/sunos-x64-0.25.12.tgz", + "integrity": "sha512-3wGSCDyuTHQUzt0nV7bocDy72r2lI33QL3gkDNGkod22EsYl04sMf0qLb8luNKTOmgF/eDEDP5BFNwoBKH441w==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "sunos" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-arm64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-arm64/-/win32-arm64-0.25.12.tgz", + "integrity": "sha512-rMmLrur64A7+DKlnSuwqUdRKyd3UE7oPJZmnljqEptesKM8wx9J8gx5u0+9Pq0fQQW8vqeKebwNXdfOyP+8Bsg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-ia32": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-ia32/-/win32-ia32-0.25.12.tgz", + "integrity": "sha512-HkqnmmBoCbCwxUKKNPBixiWDGCpQGVsrQfJoVGYLPT41XWF8lHuE5N6WhVia2n4o5QK5M4tYr21827fNhi4byQ==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@esbuild/win32-x64": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/@esbuild/win32-x64/-/win32-x64-0.25.12.tgz", + "integrity": "sha512-alJC0uCZpTFrSL0CCDjcgleBXPnCrEAhTBILpeAp7M/OFgoqtAetfBzX0xM00MUsVVPpVjlPuMbREqnZCXaTnA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">=18" + } + }, + "node_modules/@fontsource/inter": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.8.tgz", + "integrity": "sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", + "integrity": "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@jridgewell/gen-mapping": { + "version": "0.3.13", + "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", + "integrity": "sha512-2kkt/7niJ6MgEPxF0bYdQ6etZaA+fQvDcLKckhy1yIQOzaoKjBBjSj63/aLVjYE3qhRt5dvM+uUyfCg6UKCBbA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.0", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/remapping": { + "version": "2.3.5", + "resolved": "https://registry.npmjs.org/@jridgewell/remapping/-/remapping-2.3.5.tgz", + "integrity": "sha512-LI9u/+laYG4Ds1TDKSJW2YPrIlcVYOwi2fUC6xB43lueCjgxV4lffOCZCtYFiH6TNOX+tQKXx97T4IKHbhyHEQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/gen-mapping": "^0.3.5", + "@jridgewell/trace-mapping": "^0.3.24" + } + }, + "node_modules/@jridgewell/resolve-uri": { + "version": "3.1.2", + "resolved": "https://registry.npmjs.org/@jridgewell/resolve-uri/-/resolve-uri-3.1.2.tgz", + "integrity": "sha512-bRISgCIjP20/tbWSPWMEi54QVPRZExkuD9lJL+UIxUKtwVJA8wW1Trb1jMs1RFXo1CBTNZ/5hpC9QvmKWdopKw==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/@jridgewell/sourcemap-codec": { + "version": "1.5.5", + "resolved": "https://registry.npmjs.org/@jridgewell/sourcemap-codec/-/sourcemap-codec-1.5.5.tgz", + "integrity": "sha512-cYQ9310grqxueWbl+WuIUIaiUaDcj7WOq5fVhEljNVgRfOUhY9fy2zTvfoqWsnebh8Sl70VScFbICvJnLKB0Og==", + "dev": true, + "license": "MIT" + }, + "node_modules/@jridgewell/trace-mapping": { + "version": "0.3.31", + "resolved": "https://registry.npmjs.org/@jridgewell/trace-mapping/-/trace-mapping-0.3.31.tgz", + "integrity": "sha512-zzNR+SdQSDJzc8joaeP8QQoCQr8NuYx2dIIytl1QeBEZHJ9uW6hebsrYgbz8hJwUQao3TWCMtmfV8Nu1twOLAw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/resolve-uri": "^3.1.0", + "@jridgewell/sourcemap-codec": "^1.4.14" + } + }, + "node_modules/@radix-ui/react-compose-refs": { + "version": "1.1.2", + "resolved": "https://registry.npmjs.org/@radix-ui/react-compose-refs/-/react-compose-refs-1.1.2.tgz", + "integrity": "sha512-z4eqJvfiNnFMHIIvXP3CY57y2WJs5g2v3X0zm9mEJkrkNv4rDxu+sg9Jh8EkXyeqBkB7SOcboo9dMVqhyrACIg==", + "license": "MIT", + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@radix-ui/react-slot": { + "version": "1.2.4", + "resolved": "https://registry.npmjs.org/@radix-ui/react-slot/-/react-slot-1.2.4.tgz", + "integrity": "sha512-Jl+bCv8HxKnlTLVrcDE8zTMJ09R9/ukw4qBs/oZClOfoQk/cOTbDn+NceXfV7j09YPVQUryJPHurafcSg6EVKA==", + "license": "MIT", + "dependencies": { + "@radix-ui/react-compose-refs": "1.1.2" + }, + "peerDependencies": { + "@types/react": "*", + "react": "^16.8 || ^17.0 || ^18.0 || ^19.0 || ^19.0.0-rc" + }, + "peerDependenciesMeta": { + "@types/react": { + "optional": true + } + } + }, + "node_modules/@rolldown/pluginutils": { + "version": "1.0.0-beta.27", + "resolved": "https://registry.npmjs.org/@rolldown/pluginutils/-/pluginutils-1.0.0-beta.27.tgz", + "integrity": "sha512-+d0F4MKMCbeVUJwG96uQ4SgAznZNSq93I3V+9NHA4OpvqG8mRCpGdKmK8l/dl02h2CCDHwW2FqilnTyDcAnqjA==", + "dev": true, + "license": "MIT" + }, + "node_modules/@rollup/rollup-android-arm-eabi": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm-eabi/-/rollup-android-arm-eabi-4.60.4.tgz", + "integrity": "sha512-F5QXMSiFebS9hKZj02XhWLLnRpJ3B3AROP0tWbFBSj+6kCbg5m9j5JoHKd4mmSVy5mS/IMQloYgYxCuJC0fxEQ==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-android-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-android-arm64/-/rollup-android-arm64-4.60.4.tgz", + "integrity": "sha512-GxxTKApUpzRhof7poWvCJHRF51C67u1R7D6DiluBE8wKU1u5GWE8t+v81JvJYtbawoBFX1hLv5Ei4eVjkWokaw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "android" + ] + }, + "node_modules/@rollup/rollup-darwin-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-arm64/-/rollup-darwin-arm64-4.60.4.tgz", + "integrity": "sha512-tua0TaJxMOB1R0V0RS1jFZ/RpURFDJIOR2A6jWwQeawuFyS4gBW+rntLRaQd0EQ4bd6Vp44Z2rXW+YYDBsj6IA==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-darwin-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-darwin-x64/-/rollup-darwin-x64-4.60.4.tgz", + "integrity": "sha512-CSKq7MsP+5PFIcydhAiR1K0UhEI1A2jWXVKHPCBZ151yOutENwvnPocgVHkivu2kviURtCEB6zUQw0vs8RrhMg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ] + }, + "node_modules/@rollup/rollup-freebsd-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-arm64/-/rollup-freebsd-arm64-4.60.4.tgz", + "integrity": "sha512-+O8OkVdyvXMtJEciu2wS/pzm1IxntEEQx3z5TAVy4l32G0etZn+RsA48ARRrFm6Ri8fvqPQfgrvNxSjKAbnd3g==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-freebsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-freebsd-x64/-/rollup-freebsd-x64-4.60.4.tgz", + "integrity": "sha512-Iw3oMskH3AfNuhU0MSN7vNbdi4me/NiYo2azqPz/Le16zHSa+3RRmliCMWWQmh4lcndccU40xcJuTYJZxNo/lw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ] + }, + "node_modules/@rollup/rollup-linux-arm-gnueabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-gnueabihf/-/rollup-linux-arm-gnueabihf-4.60.4.tgz", + "integrity": "sha512-EIPRXTVQpHyF8WOo219AD2yEltPehLTcTMz2fn6JsatLYSzQf00hj3rulF+yauOlF9/FtM2WpkT/hJh/KJFGhA==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm-musleabihf": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm-musleabihf/-/rollup-linux-arm-musleabihf-4.60.4.tgz", + "integrity": "sha512-J3Yh9PzzF1Ovah2At+lHiGQdsYgArxBbXv/zHfSyaiFQEqvNv7DcW98pCrmdjCZBrqBiKrKKe2V+aaSGWuBe/w==", + "cpu": [ + "arm" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-gnu/-/rollup-linux-arm64-gnu-4.60.4.tgz", + "integrity": "sha512-BFDEZMYfUvLn37ONE1yMBojPxnMlTFsdyNoqncT0qFq1mAfllL+ATMMJd8TeuVMiX84s1KbcxcZbXInmcO2mRg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-arm64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-arm64-musl/-/rollup-linux-arm64-musl-4.60.4.tgz", + "integrity": "sha512-pc9EYOSlOgdQ2uPl1o9PF6/kLSgaUosia7gOuS8mB69IxJvlclko1MECXysjs5ryez1/5zjYqx3+xYU0TU6R1A==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-gnu/-/rollup-linux-loong64-gnu-4.60.4.tgz", + "integrity": "sha512-NxnomyxYerDh5n4iLrNa+sH+Z+U4BMEE46V2PgQ/hoB909i8gV1M5wPojWg9fk1jWpO3IQnOs20K4wyZuFLEFQ==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-loong64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-loong64-musl/-/rollup-linux-loong64-musl-4.60.4.tgz", + "integrity": "sha512-nbJnQ8a3z1mtmrwImCYhc6BGpThAyYVRQxw9uKSKG4wR6aAYno9sVjJ0zaZcW9BPJX1GbrDPf+SvdWjgTuDmnw==", + "cpu": [ + "loong64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-gnu/-/rollup-linux-ppc64-gnu-4.60.4.tgz", + "integrity": "sha512-2EU6acNrQLd8tYvo/LXW535wupT3m6fo7HKo6lr7ktQoItxTyOL1ZCR/GfGCuXl2vR+zmfI6eRXkSemafv+iVg==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-ppc64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-ppc64-musl/-/rollup-linux-ppc64-musl-4.60.4.tgz", + "integrity": "sha512-WeBtoMuaMxiiIrO2IYP3xs6GMWkJP2C0EoT8beTLkUPmzV1i/UcOSVw1d5r9KBODtHKilG5yFxsGRnBbK3wJ4A==", + "cpu": [ + "ppc64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-gnu/-/rollup-linux-riscv64-gnu-4.60.4.tgz", + "integrity": "sha512-FJHFfqpKUI3A10WrWKiFbBZ7yVbGT4q4B5o1qKFFojqpaYoh9LrQgqWCmmcxQzVSXYtyB5bzkXrYzlHTs21MYA==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-riscv64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-riscv64-musl/-/rollup-linux-riscv64-musl-4.60.4.tgz", + "integrity": "sha512-mcEl6CUT5IAUmQf1m9FYSmVqCJlpQ8r8eyftFUHG8i9OhY7BkBXSUdnLH5DOf0wCOjcP9v/QO93zpmF1SptCCw==", + "cpu": [ + "riscv64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-s390x-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-s390x-gnu/-/rollup-linux-s390x-gnu-4.60.4.tgz", + "integrity": "sha512-ynt3JxVd2w2buzoKDWIyiV1pJW93xlQic1THVLXilz429oijRpSHivZAgp65KBu+cMcgf1eVVjdnTLvPxgCuoQ==", + "cpu": [ + "s390x" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-gnu/-/rollup-linux-x64-gnu-4.60.4.tgz", + "integrity": "sha512-Boiz5+MsaROEWDf+GGEwF8VMHGhlUoQMtIPjOgA5fv4osupqTVnJteQNKJwUcnUog2G55jYXH7KZFFiJe0TEzQ==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-linux-x64-musl": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-linux-x64-musl/-/rollup-linux-x64-musl-4.60.4.tgz", + "integrity": "sha512-+qfSY27qIrFfI/Hom04KYFw3GKZSGU4lXus51wsb5EuySfFlWRwjkKWoE9emgRw/ukoT4Udsj4W/+xxG8VbPKg==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "linux" + ] + }, + "node_modules/@rollup/rollup-openbsd-x64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openbsd-x64/-/rollup-openbsd-x64-4.60.4.tgz", + "integrity": "sha512-VpTfOPHgVXEBeeR8hZ2O0F3aSso+JDWqTWmTmzcQKted54IAdUVbxE+j/MVxUsKa8L20HJhv3vUezVPoquqWjA==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openbsd" + ] + }, + "node_modules/@rollup/rollup-openharmony-arm64": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-openharmony-arm64/-/rollup-openharmony-arm64-4.60.4.tgz", + "integrity": "sha512-IPOsh5aRYuLv/nkU51X10Bf75Bsf6+gZdx1X+QP5QM6lIJFHHqbHLG0uJn/hWthzo13UAc2umiUorqZy3axoZg==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "openharmony" + ] + }, + "node_modules/@rollup/rollup-win32-arm64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-arm64-msvc/-/rollup-win32-arm64-msvc-4.60.4.tgz", + "integrity": "sha512-4QzE9E81OohJ/HKzHhsqU+zcYYojVOXlFMs1DdyMT6qXl/niOH7AVElmmEdUNHHS/oRkc++d5k6Vy85zFs0DEw==", + "cpu": [ + "arm64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-ia32-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-ia32-msvc/-/rollup-win32-ia32-msvc-4.60.4.tgz", + "integrity": "sha512-zTPgT1YuHHcd+Tmx7h8aml0FWFVelV5N54oHow9SLj+GfoDy/huQ+UV396N/C7KpMDMiPspRktzM1/0r1usYEA==", + "cpu": [ + "ia32" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-gnu": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-gnu/-/rollup-win32-x64-gnu-4.60.4.tgz", + "integrity": "sha512-DRS4G7mi9lJxqEDezIkKCaUIKCrLUUDCUaCsTPCi/rtqaC6D/jjwslMQyiDU50Ka0JKpeXeRBFBAXwArY52vBw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@rollup/rollup-win32-x64-msvc": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/@rollup/rollup-win32-x64-msvc/-/rollup-win32-x64-msvc-4.60.4.tgz", + "integrity": "sha512-QVTUovf40zgTqlFVrKA1uXMVvU2QWEFWfAH8Wdc48IxLvrJMQVMBRjuQyUpzZCDkakImib9eVazbWlC6ksWtJw==", + "cpu": [ + "x64" + ], + "license": "MIT", + "optional": true, + "os": [ + "win32" + ] + }, + "node_modules/@tailwindcss/node": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/node/-/node-4.3.0.tgz", + "integrity": "sha512-aFb4gUhFOgdh9AXo4IzBEOzBkkAxm9VigwDJnMIYv3lcfXCJVesNfbEaBl4BNgVRyid92AmdviqwBUBRKSeY3g==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/remapping": "^2.3.5", + "enhanced-resolve": "^5.21.0", + "jiti": "^2.6.1", + "lightningcss": "1.32.0", + "magic-string": "^0.30.21", + "source-map-js": "^1.2.1", + "tailwindcss": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide/-/oxide-4.3.0.tgz", + "integrity": "sha512-F7HZGBeN9I0/AuuJS5PwcD8xayx5ri5GhjYUDBEVYUkexyA/giwbDNjRVrxSezE3T250OU2K/wp/ltWx3UOefg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">= 20" + }, + "optionalDependencies": { + "@tailwindcss/oxide-android-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-arm64": "4.3.0", + "@tailwindcss/oxide-darwin-x64": "4.3.0", + "@tailwindcss/oxide-freebsd-x64": "4.3.0", + "@tailwindcss/oxide-linux-arm-gnueabihf": "4.3.0", + "@tailwindcss/oxide-linux-arm64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-arm64-musl": "4.3.0", + "@tailwindcss/oxide-linux-x64-gnu": "4.3.0", + "@tailwindcss/oxide-linux-x64-musl": "4.3.0", + "@tailwindcss/oxide-wasm32-wasi": "4.3.0", + "@tailwindcss/oxide-win32-arm64-msvc": "4.3.0", + "@tailwindcss/oxide-win32-x64-msvc": "4.3.0" + } + }, + "node_modules/@tailwindcss/oxide-android-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-android-arm64/-/oxide-android-arm64-4.3.0.tgz", + "integrity": "sha512-TJPiq67tKlLuObP6RkwvVGDoxCMBVtDgKkLfa/uyj7/FyxvQwHS+UOnVrXXgbEsfUaMgiVvC4KbJnRr26ho4Ng==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-arm64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-arm64/-/oxide-darwin-arm64-4.3.0.tgz", + "integrity": "sha512-oMN/WZRb+SO37BmUElEgeEWuU8E/HXRkiODxJxLe1UTHVXLrdVSgfaJV7pSlhRGMSOiXLuxTIjfsF3wYvz8cgQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-darwin-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-darwin-x64/-/oxide-darwin-x64-4.3.0.tgz", + "integrity": "sha512-N6CUmu4a6bKVADfw77p+iw6Yd9Q3OBhe0veaDX+QazfuVYlQsHfDgxBrsjQ/IW+zywL8mTrNd0SdJT/zgtvMdA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-freebsd-x64": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-freebsd-x64/-/oxide-freebsd-x64-4.3.0.tgz", + "integrity": "sha512-zDL5hBkQdH5C6MpqbK3gQAgP80tsMwSI26vjOzjJtNCMUo0lFgOItzHKBIupOZNQxt3ouPH7RPhvNhiTfCe5CQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm-gnueabihf": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm-gnueabihf/-/oxide-linux-arm-gnueabihf-4.3.0.tgz", + "integrity": "sha512-R06HdNi7A7OEoMsf6d4tjZ71RCWnZQPHj2mnotSFURjNLdBC+cIgXQ7l81CqeoiQftjf6OOblxXMInMgN2VzMA==", + "cpu": [ + "arm" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-gnu/-/oxide-linux-arm64-gnu-4.3.0.tgz", + "integrity": "sha512-qTJHELX8jetjhRQHCLilkVLmybpzNQAtaI/gaoVoidn/ufbNDbAo8KlK2J+yPoc8wQxvDxCmh/5lr8nC1+lTbg==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-arm64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-arm64-musl/-/oxide-linux-arm64-musl-4.3.0.tgz", + "integrity": "sha512-Z6sukiQsngnWO+l39X4pPbiWT81IC+PLKF+PHxIlyZbGNb9MODfYlXEVlFvej5BOZInWX01kVyzeLvHsXhfczQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-gnu": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-gnu/-/oxide-linux-x64-gnu-4.3.0.tgz", + "integrity": "sha512-DRNdQRpSGzRGfARVuVkxvM8Q12nh19l4BF/G7zGA1oe+9wcC6saFBHTISrpIcKzhiXtSrlSrluCfvMuledoCTQ==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-linux-x64-musl": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-linux-x64-musl/-/oxide-linux-x64-musl-4.3.0.tgz", + "integrity": "sha512-Z0IADbDo8bh6I7h2IQMx601AdXBLfFpEdUotft86evd/8ZPflZe9COPO8Q1vw+pfLWIUo9zN/JGZvwuAJqduqg==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-wasm32-wasi/-/oxide-wasm32-wasi-4.3.0.tgz", + "integrity": "sha512-HNZGOUxEmElksYR7S6sC5jTeNGpobAsy9u7Gu0AskJ8/20FR9GqebUyB+HBcU/ax6BHuiuJi+Oda4B+YX6H1yA==", + "bundleDependencies": [ + "@napi-rs/wasm-runtime", + "@emnapi/core", + "@emnapi/runtime", + "@tybys/wasm-util", + "@emnapi/wasi-threads", + "tslib" + ], + "cpu": [ + "wasm32" + ], + "dev": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/core": "^1.10.0", + "@emnapi/runtime": "^1.10.0", + "@emnapi/wasi-threads": "^1.2.1", + "@napi-rs/wasm-runtime": "^1.1.4", + "@tybys/wasm-util": "^0.10.1", + "tslib": "^2.8.1" + }, + "engines": { + "node": ">=14.0.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/core": { + "version": "1.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@emnapi/wasi-threads": "1.2.1", + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/runtime": { + "version": "1.10.0", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@emnapi/wasi-threads": { + "version": "1.2.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@napi-rs/wasm-runtime": { + "version": "1.1.4", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "@tybys/wasm-util": "^0.10.1" + }, + "funding": { + "type": "github", + "url": "https://github.com/sponsors/Brooooooklyn" + }, + "peerDependencies": { + "@emnapi/core": "^1.7.1", + "@emnapi/runtime": "^1.7.1" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/@tybys/wasm-util": { + "version": "0.10.1", + "dev": true, + "inBundle": true, + "license": "MIT", + "optional": true, + "dependencies": { + "tslib": "^2.4.0" + } + }, + "node_modules/@tailwindcss/oxide-wasm32-wasi/node_modules/tslib": { + "version": "2.8.1", + "dev": true, + "inBundle": true, + "license": "0BSD", + "optional": true + }, + "node_modules/@tailwindcss/oxide-win32-arm64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-arm64-msvc/-/oxide-win32-arm64-msvc-4.3.0.tgz", + "integrity": "sha512-Pe+RPVTi1T+qymuuRpcdvwSVZjnll/f7n8gBxMMh3xLTctMDKqpdfGimbMyioqtLhUYZxdJ9wGNhV7MKHvgZsQ==", + "cpu": [ + "arm64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/oxide-win32-x64-msvc": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/oxide-win32-x64-msvc/-/oxide-win32-x64-msvc-4.3.0.tgz", + "integrity": "sha512-Mvrf2kXW/yeW/OTezZlCGOirXRcUuLIBx/5Y12BaPM7wJoryG6dfS/NJL8aBPqtTEx/Vm4T4vKzFUcKDT+TKUA==", + "cpu": [ + "x64" + ], + "dev": true, + "license": "MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 20" + } + }, + "node_modules/@tailwindcss/vite": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/@tailwindcss/vite/-/vite-4.3.0.tgz", + "integrity": "sha512-t6J3OrB5Fc0ExuhohouH0fWUGMYL6PTLhW+E7zIk/pdbnJARZDCwjBznFnkh5ynRnIRSI4YjtTH0t6USjJISrw==", + "dev": true, + "license": "MIT", + "dependencies": { + "@tailwindcss/node": "4.3.0", + "@tailwindcss/oxide": "4.3.0", + "tailwindcss": "4.3.0" + }, + "peerDependencies": { + "vite": "^5.2.0 || ^6 || ^7 || ^8" + } + }, + "node_modules/@tauri-apps/api": { + "version": "2.11.0", + "resolved": "https://registry.npmjs.org/@tauri-apps/api/-/api-2.11.0.tgz", + "integrity": "sha512-7CinYODhky9lmO23xHnUFv0Xt43fbtWMyxZcLcRBlFkcgXKuEirBvHpmtJ89YMhyeGcq20Wuc47Fa4XjyniywA==", + "license": "Apache-2.0 OR MIT", + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + } + }, + "node_modules/@tauri-apps/cli": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli/-/cli-2.11.2.tgz", + "integrity": "sha512-bk3HemqvGRoy+5D/dVMUQHKMYLglD0jVnMm/0iGMH6ufZ+p8r14m6BpIixwij3PBvZdvORUp1YifTD8QxVZ1Nw==", + "license": "Apache-2.0 OR MIT", + "bin": { + "tauri": "tauri.js" + }, + "engines": { + "node": ">= 10" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/tauri" + }, + "optionalDependencies": { + "@tauri-apps/cli-darwin-arm64": "2.11.2", + "@tauri-apps/cli-darwin-x64": "2.11.2", + "@tauri-apps/cli-linux-arm-gnueabihf": "2.11.2", + "@tauri-apps/cli-linux-arm64-gnu": "2.11.2", + "@tauri-apps/cli-linux-arm64-musl": "2.11.2", + "@tauri-apps/cli-linux-riscv64-gnu": "2.11.2", + "@tauri-apps/cli-linux-x64-gnu": "2.11.2", + "@tauri-apps/cli-linux-x64-musl": "2.11.2", + "@tauri-apps/cli-win32-arm64-msvc": "2.11.2", + "@tauri-apps/cli-win32-ia32-msvc": "2.11.2", + "@tauri-apps/cli-win32-x64-msvc": "2.11.2" + } + }, + "node_modules/@tauri-apps/cli-darwin-arm64": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-arm64/-/cli-darwin-arm64-2.11.2.tgz", + "integrity": "sha512-+4UZzLt+eOAEQCwgd+TqKgyUJMrvx+BgdXLLaqJYmPqzP+nE6YZr/hY6CWLYGQb8jFn99jEkmC6uA3tNvamA1w==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-darwin-x64": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-darwin-x64/-/cli-darwin-x64-2.11.2.tgz", + "integrity": "sha512-VjYYtZUPqDMLutSfJEyxFE3Bz+DPi7c8wC3imckgvciLDZLq4qwKJxBicg0BXGhXjJsl8vKWgWRFNMPELQ+Xyg==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm-gnueabihf": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm-gnueabihf/-/cli-linux-arm-gnueabihf-2.11.2.tgz", + "integrity": "sha512-yMemD6f4i95AQriS8EazyOFzbE34yjnP16i3IOzpHGQvBoy2DjypFMFBq0NtPuITURv/cOGguRtHR5d79/9CSA==", + "cpu": [ + "arm" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-gnu/-/cli-linux-arm64-gnu-2.11.2.tgz", + "integrity": "sha512-cgI91D2wL8GSgoWwZXDqt+DwnuZCP2/bz03QAE4TrhgAKIsrB4hX26W/H1EONPUUNkqrsgeCD0wU6pcNjV/5kw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-arm64-musl": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-arm64-musl/-/cli-linux-arm64-musl-2.11.2.tgz", + "integrity": "sha512-X1rm0BERqAAggtYTESSgXrS3sz4Sb/OiPiz54UqISlXW+GkR3vNIGnsy/lejNmoXGVqri3Q53BCfQiclOIyRPw==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-riscv64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-riscv64-gnu/-/cli-linux-riscv64-gnu-2.11.2.tgz", + "integrity": "sha512-usbMLJbT3KtkOrBMDVeGYNM35aTHXx38SJSzTMSqqjeUIOQ+iVPjb2yAGNAE+KqmBbAx4FOFIyMeKXx2M/JKGQ==", + "cpu": [ + "riscv64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-gnu": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-gnu/-/cli-linux-x64-gnu-2.11.2.tgz", + "integrity": "sha512-Ru4gwJKPG0ctVGchRGpRup4Y4lW2SSfFnrbQcyHhCliKy4g8Qz97TrUgCur4CbWyAgKxvGh3SjrkA0LDYzDGiw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-linux-x64-musl": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-linux-x64-musl/-/cli-linux-x64-musl-2.11.2.tgz", + "integrity": "sha512-eUm7T6clN1MMmNSRQ9gaWsQdyehQx2Gmn5hht/QUlqZQI/qcP2OJK5dnaxqwFzCr2HdsEo9ydxaqcS1oJzMvUw==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-arm64-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-arm64-msvc/-/cli-win32-arm64-msvc-2.11.2.tgz", + "integrity": "sha512-HeeZW80jU+gVTOEX4X/hC6NVSAdDVXajwP5fxIZ/3z9WvUC7qrudX2GMTilYq6Dg0e0sk0XgsAJD1hZ5wPBXUA==", + "cpu": [ + "arm64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-ia32-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-ia32-msvc/-/cli-win32-ia32-msvc-2.11.2.tgz", + "integrity": "sha512-YhjQNZcXfbkCLyazSv1nPnJ9iRFE1wm6kc51FDbU10/Dk09io+6PAGMLjkxnX2GdM0qMnDmTjstY8mTDVvtKeA==", + "cpu": [ + "ia32" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/cli-win32-x64-msvc": { + "version": "2.11.2", + "resolved": "https://registry.npmjs.org/@tauri-apps/cli-win32-x64-msvc/-/cli-win32-x64-msvc-2.11.2.tgz", + "integrity": "sha512-d2JchlFIpZevZVReyqhQOekJmb1UH3rhZ5VX6sH3ty9ETE0TKQavpihvoScUXfKKpW6HZC0MrFGRU0ZtD+w3gA==", + "cpu": [ + "x64" + ], + "license": "Apache-2.0 OR MIT", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 10" + } + }, + "node_modules/@tauri-apps/plugin-dialog": { + "version": "2.7.1", + "resolved": "https://registry.npmjs.org/@tauri-apps/plugin-dialog/-/plugin-dialog-2.7.1.tgz", + "integrity": "sha512-OK1UBXYt+ojcmxMktzzuyonYIFta8CmAASpX+CA+DTGK24KlHjhYI6x2iOJ/TjZF4N7/ACK1oFmEOjIY9IhzOQ==", + "license": "MIT OR Apache-2.0", + "dependencies": { + "@tauri-apps/api": "^2.11.0" + } + }, + "node_modules/@types/babel__core": { + "version": "7.20.5", + "resolved": "https://registry.npmjs.org/@types/babel__core/-/babel__core-7.20.5.tgz", + "integrity": "sha512-qoQprZvz5wQFJwMDqeseRXWv3rqMvhgpbXFfVyWhbx9X47POIA6i/+dXefEmZKoAgOaTdaIgNSMqMIU61yRyzA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.20.7", + "@babel/types": "^7.20.7", + "@types/babel__generator": "*", + "@types/babel__template": "*", + "@types/babel__traverse": "*" + } + }, + "node_modules/@types/babel__generator": { + "version": "7.27.0", + "resolved": "https://registry.npmjs.org/@types/babel__generator/-/babel__generator-7.27.0.tgz", + "integrity": "sha512-ufFd2Xi92OAVPYsy+P4n7/U7e68fex0+Ee8gSG9KX7eo084CWiQ4sdxktvdl0bOPupXtVJPY19zk6EwWqUQ8lg==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__template": { + "version": "7.4.4", + "resolved": "https://registry.npmjs.org/@types/babel__template/-/babel__template-7.4.4.tgz", + "integrity": "sha512-h/NUaSyG5EyxBIp8YRxo4RMe2/qQgvyowRwVMzhYhBCONbW8PUsg4lkFMrhgZhUe5z3L3MiLDuvyJ/CaPa2A8A==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/parser": "^7.1.0", + "@babel/types": "^7.0.0" + } + }, + "node_modules/@types/babel__traverse": { + "version": "7.28.0", + "resolved": "https://registry.npmjs.org/@types/babel__traverse/-/babel__traverse-7.28.0.tgz", + "integrity": "sha512-8PvcXf70gTDZBgt9ptxJ8elBeBjcLOAcOtoO/mPJjtji1+CdGbHgm77om1GrsPxsiE+uXIpNSK64UYaIwQXd4Q==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/types": "^7.28.2" + } + }, + "node_modules/@types/estree": { + "version": "1.0.8", + "resolved": "https://registry.npmjs.org/@types/estree/-/estree-1.0.8.tgz", + "integrity": "sha512-dWHzHa2WqEXI/O1E9OjrocMTKJl2mSrEolh1Iomrv6U+JuNwaHXsXx9bLu5gG7BUWFIN0skIQJQ/L1rIex4X6w==", + "license": "MIT" + }, + "node_modules/@types/node": { + "version": "22.19.19", + "resolved": "https://registry.npmjs.org/@types/node/-/node-22.19.19.tgz", + "integrity": "sha512-dyh/xO2Fh5bYrfWaaqGrRQQGkNdmYw6AmaAUvYeUMNTWQtvb796ikLdmTchRmOlOiIJ1TDXfWgVx1QkUlQ6Hew==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "undici-types": "~6.21.0" + } + }, + "node_modules/@types/react": { + "version": "19.2.15", + "resolved": "https://registry.npmjs.org/@types/react/-/react-19.2.15.tgz", + "integrity": "sha512-eRwcGNHve+E8qtEQSSRl6urh+rFop4v8gm6O8rGv25CodbvFdLjA1vVQ1KkiFE0w0UPOnb8tDiFKL5lp0rtY5Q==", + "devOptional": true, + "license": "MIT", + "dependencies": { + "csstype": "^3.2.2" + } + }, + "node_modules/@types/react-dom": { + "version": "19.2.3", + "resolved": "https://registry.npmjs.org/@types/react-dom/-/react-dom-19.2.3.tgz", + "integrity": "sha512-jp2L/eY6fn+KgVVQAOqYItbF0VY/YApe5Mz2F0aykSO8gx31bYCZyvSeYxCHKvzHG5eZjc+zyaS5BrBWya2+kQ==", + "dev": true, + "license": "MIT", + "peerDependencies": { + "@types/react": "^19.2.0" + } + }, + "node_modules/@vitejs/plugin-react": { + "version": "4.7.0", + "resolved": "https://registry.npmjs.org/@vitejs/plugin-react/-/plugin-react-4.7.0.tgz", + "integrity": "sha512-gUu9hwfWvvEDBBmgtAowQCojwZmJ5mcLn3aufeCsitijs3+f2NsrPtlAWIR6OPiqljl96GVCUbLe0HyqIpVaoA==", + "dev": true, + "license": "MIT", + "dependencies": { + "@babel/core": "^7.28.0", + "@babel/plugin-transform-react-jsx-self": "^7.27.1", + "@babel/plugin-transform-react-jsx-source": "^7.27.1", + "@rolldown/pluginutils": "1.0.0-beta.27", + "@types/babel__core": "^7.20.5", + "react-refresh": "^0.17.0" + }, + "engines": { + "node": "^14.18.0 || >=16.0.0" + }, + "peerDependencies": { + "vite": "^4.2.0 || ^5.0.0 || ^6.0.0 || ^7.0.0" + } + }, + "node_modules/baseline-browser-mapping": { + "version": "2.10.31", + "resolved": "https://registry.npmjs.org/baseline-browser-mapping/-/baseline-browser-mapping-2.10.31.tgz", + "integrity": "sha512-MujYO3eP72uvmSE0i4wltsodRfIpZATP3jvzRNRGGxgzId7aVocVJJV3nf01qnzzKFGxQVC9bpWxl5cjxTr/7Q==", + "dev": true, + "license": "Apache-2.0", + "bin": { + "baseline-browser-mapping": "dist/cli.cjs" + }, + "engines": { + "node": ">=6.0.0" + } + }, + "node_modules/browserslist": { + "version": "4.28.2", + "resolved": "https://registry.npmjs.org/browserslist/-/browserslist-4.28.2.tgz", + "integrity": "sha512-48xSriZYYg+8qXna9kwqjIVzuQxi+KYWp2+5nCYnYKPTr0LvD89Jqk2Or5ogxz0NUMfIjhh2lIUX/LyX9B4oIg==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "baseline-browser-mapping": "^2.10.12", + "caniuse-lite": "^1.0.30001782", + "electron-to-chromium": "^1.5.328", + "node-releases": "^2.0.36", + "update-browserslist-db": "^1.2.3" + }, + "bin": { + "browserslist": "cli.js" + }, + "engines": { + "node": "^6 || ^7 || ^8 || ^9 || ^10 || ^11 || ^12 || >=13.7" + } + }, + "node_modules/caniuse-lite": { + "version": "1.0.30001793", + "resolved": "https://registry.npmjs.org/caniuse-lite/-/caniuse-lite-1.0.30001793.tgz", + "integrity": "sha512-iwSsYWaCOoh26cV8NwNRViHlrfUvYsHDfRVcbtmw0Kg6PJIZZXwMkj1442FYLBGkeUf1juAsU3DTfxW579mrPA==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/caniuse-lite" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "CC-BY-4.0" + }, + "node_modules/class-variance-authority": { + "version": "0.7.1", + "resolved": "https://registry.npmjs.org/class-variance-authority/-/class-variance-authority-0.7.1.tgz", + "integrity": "sha512-Ka+9Trutv7G8M6WT6SeiRWz792K5qEqIGEGzXKhAE6xOWAY6pPH8U+9IY3oCMv6kqTmLsv7Xh/2w2RigkePMsg==", + "license": "Apache-2.0", + "dependencies": { + "clsx": "^2.1.1" + }, + "funding": { + "url": "https://polar.sh/cva" + } + }, + "node_modules/clsx": { + "version": "2.1.1", + "resolved": "https://registry.npmjs.org/clsx/-/clsx-2.1.1.tgz", + "integrity": "sha512-eYm0QWBtUrBWZWG0d386OGAw16Z995PiOVo2B7bjWSbHedGl5e0ZWaq65kOGgUSNesEIDkB9ISbTg/JK9dhCZA==", + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/convert-source-map": { + "version": "2.0.0", + "resolved": "https://registry.npmjs.org/convert-source-map/-/convert-source-map-2.0.0.tgz", + "integrity": "sha512-Kvp459HrV2FEJ1CAsi1Ku+MY3kasH19TFykTz2xWmMeq6bk2NU3XXvfJ+Q61m0xktWwt+1HSYf3JZsTms3aRJg==", + "dev": true, + "license": "MIT" + }, + "node_modules/csstype": { + "version": "3.2.3", + "resolved": "https://registry.npmjs.org/csstype/-/csstype-3.2.3.tgz", + "integrity": "sha512-z1HGKcYy2xA8AGQfwrn0PAy+PB7X/GSj3UVJW9qKyn43xWa+gl5nXmU4qqLMRzWVLFC8KusUX8T/0kCiOYpAIQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/debug": { + "version": "4.4.3", + "resolved": "https://registry.npmjs.org/debug/-/debug-4.4.3.tgz", + "integrity": "sha512-RGwwWnwQvkVfavKVt22FGLw+xYSdzARwm0ru6DhTVA3umU5hZc28V3kO4stgYryrTlLpuvgI9GiijltAjNbcqA==", + "dev": true, + "license": "MIT", + "dependencies": { + "ms": "^2.1.3" + }, + "engines": { + "node": ">=6.0" + }, + "peerDependenciesMeta": { + "supports-color": { + "optional": true + } + } + }, + "node_modules/detect-libc": { + "version": "2.1.2", + "resolved": "https://registry.npmjs.org/detect-libc/-/detect-libc-2.1.2.tgz", + "integrity": "sha512-Btj2BOOO83o3WyH59e8MgXsxEQVcarkUOpEYrubB0urwnN10yQ364rsiByU11nZlqWYZm05i/of7io4mzihBtQ==", + "devOptional": true, + "license": "Apache-2.0", + "engines": { + "node": ">=8" + } + }, + "node_modules/electron-to-chromium": { + "version": "1.5.360", + "resolved": "https://registry.npmjs.org/electron-to-chromium/-/electron-to-chromium-1.5.360.tgz", + "integrity": "sha512-GkcBt6YYAw9SxFWn+xVar4cLVGlXVuswwtRLBozi2zp0GjXs4ZnOrqV4zbXzg35n7w81hCkyJNYicgXlVHAmBA==", + "dev": true, + "license": "ISC" + }, + "node_modules/enhanced-resolve": { + "version": "5.21.6", + "resolved": "https://registry.npmjs.org/enhanced-resolve/-/enhanced-resolve-5.21.6.tgz", + "integrity": "sha512-aNnGCvbJ/RIyWo1IuhNdVjnNF+EjH9wpzpNHt+ci/m9He9LJvUN8wrCcXjp9cWsGNAuvSpVFTx/vraAFQ8qGjQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "graceful-fs": "^4.2.4", + "tapable": "^2.3.3" + }, + "engines": { + "node": ">=10.13.0" + } + }, + "node_modules/esbuild": { + "version": "0.25.12", + "resolved": "https://registry.npmjs.org/esbuild/-/esbuild-0.25.12.tgz", + "integrity": "sha512-bbPBYYrtZbkt6Os6FiTLCTFxvq4tt3JKall1vRwshA3fdVztsLAatFaZobhkBC8/BrPetoa0oksYoKXoG4ryJg==", + "hasInstallScript": true, + "license": "MIT", + "bin": { + "esbuild": "bin/esbuild" + }, + "engines": { + "node": ">=18" + }, + "optionalDependencies": { + "@esbuild/aix-ppc64": "0.25.12", + "@esbuild/android-arm": "0.25.12", + "@esbuild/android-arm64": "0.25.12", + "@esbuild/android-x64": "0.25.12", + "@esbuild/darwin-arm64": "0.25.12", + "@esbuild/darwin-x64": "0.25.12", + "@esbuild/freebsd-arm64": "0.25.12", + "@esbuild/freebsd-x64": "0.25.12", + "@esbuild/linux-arm": "0.25.12", + "@esbuild/linux-arm64": "0.25.12", + "@esbuild/linux-ia32": "0.25.12", + "@esbuild/linux-loong64": "0.25.12", + "@esbuild/linux-mips64el": "0.25.12", + "@esbuild/linux-ppc64": "0.25.12", + "@esbuild/linux-riscv64": "0.25.12", + "@esbuild/linux-s390x": "0.25.12", + "@esbuild/linux-x64": "0.25.12", + "@esbuild/netbsd-arm64": "0.25.12", + "@esbuild/netbsd-x64": "0.25.12", + "@esbuild/openbsd-arm64": "0.25.12", + "@esbuild/openbsd-x64": "0.25.12", + "@esbuild/openharmony-arm64": "0.25.12", + "@esbuild/sunos-x64": "0.25.12", + "@esbuild/win32-arm64": "0.25.12", + "@esbuild/win32-ia32": "0.25.12", + "@esbuild/win32-x64": "0.25.12" + } + }, + "node_modules/escalade": { + "version": "3.2.0", + "resolved": "https://registry.npmjs.org/escalade/-/escalade-3.2.0.tgz", + "integrity": "sha512-WUj2qlxaQtO4g6Pq5c29GTcWGDyd8itL8zTlipgECz3JesAiiOKotd8JU6otB3PACgG6xkJUyVhboMS+bje/jA==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + } + }, + "node_modules/fdir": { + "version": "6.5.0", + "resolved": "https://registry.npmjs.org/fdir/-/fdir-6.5.0.tgz", + "integrity": "sha512-tIbYtZbucOs0BRGqPJkshJUYdL+SDH7dVM8gjy+ERp3WAUjLEFJE+02kanyHtwjWOnwrKYBiwAmM0p4kLJAnXg==", + "license": "MIT", + "engines": { + "node": ">=12.0.0" + }, + "peerDependencies": { + "picomatch": "^3 || ^4" + }, + "peerDependenciesMeta": { + "picomatch": { + "optional": true + } + } + }, + "node_modules/fsevents": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/fsevents/-/fsevents-2.3.3.tgz", + "integrity": "sha512-5xoDfX+fL7faATnagmWPpbFtwh/R77WmMMqqHGS65C3vvB0YHrgF+B1YmZ3441tMj5n63k0212XNoJwzlhffQw==", + "hasInstallScript": true, + "license": "MIT", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": "^8.16.0 || ^10.6.0 || >=11.0.0" + } + }, + "node_modules/gensync": { + "version": "1.0.0-beta.2", + "resolved": "https://registry.npmjs.org/gensync/-/gensync-1.0.0-beta.2.tgz", + "integrity": "sha512-3hN7NaskYvMDLQY55gnW3NQ+mesEAepTqlg+VEbj7zzqEMBVNhzcGYYeqFo/TlYz6eQiFcp1HcsCZO+nGgS8zg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6.9.0" + } + }, + "node_modules/graceful-fs": { + "version": "4.2.11", + "resolved": "https://registry.npmjs.org/graceful-fs/-/graceful-fs-4.2.11.tgz", + "integrity": "sha512-RbJ5/jmFcNNCcDV5o9eTnBLJ/HszWV0P73bc+Ff4nS/rJj+YaS6IGyiOL0VoBYX+l1Wrl3k63h/KrH+nhJ0XvQ==", + "dev": true, + "license": "ISC" + }, + "node_modules/jiti": { + "version": "2.7.0", + "resolved": "https://registry.npmjs.org/jiti/-/jiti-2.7.0.tgz", + "integrity": "sha512-AC/7JofJvZGrrneWNaEnJeOLUx+JlGt7tNa0wZiRPT4MY1wmfKjt2+6O2p2uz2+skll8OZZmJMNqeke7kKbNgQ==", + "devOptional": true, + "license": "MIT", + "bin": { + "jiti": "lib/jiti-cli.mjs" + } + }, + "node_modules/js-tokens": { + "version": "4.0.0", + "resolved": "https://registry.npmjs.org/js-tokens/-/js-tokens-4.0.0.tgz", + "integrity": "sha512-RdJUflcE3cUzKiMqQgsCu06FPu9UdIJO0beYbPhHN4k6apgJtifcoCtT9bcxOpYBtpD2kCM6Sbzg4CausW/PKQ==", + "dev": true, + "license": "MIT" + }, + "node_modules/jsesc": { + "version": "3.1.0", + "resolved": "https://registry.npmjs.org/jsesc/-/jsesc-3.1.0.tgz", + "integrity": "sha512-/sM3dO2FOzXjKQhJuo0Q173wf2KOo8t4I8vHy6lF9poUp7bKT0/NHE8fPX23PwfhnykfqnC2xRxOnVw5XuGIaA==", + "dev": true, + "license": "MIT", + "bin": { + "jsesc": "bin/jsesc" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/json5": { + "version": "2.2.3", + "resolved": "https://registry.npmjs.org/json5/-/json5-2.2.3.tgz", + "integrity": "sha512-XmOWe7eyHYH14cLdVPoyg+GOH3rYX++KpzrylJwSW98t3Nk+U8XOl8FWKOgwtzdb8lXGf6zYwDUzeHMWfxasyg==", + "dev": true, + "license": "MIT", + "bin": { + "json5": "lib/cli.js" + }, + "engines": { + "node": ">=6" + } + }, + "node_modules/lightningcss": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss/-/lightningcss-1.32.0.tgz", + "integrity": "sha512-NXYBzinNrblfraPGyrbPoD19C1h9lfI/1mzgWYvXUTe414Gz/X1FD2XBZSZM7rRTrMA8JL3OtAaGifrIKhQ5yQ==", + "devOptional": true, + "license": "MPL-2.0", + "dependencies": { + "detect-libc": "^2.0.3" + }, + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + }, + "optionalDependencies": { + "lightningcss-android-arm64": "1.32.0", + "lightningcss-darwin-arm64": "1.32.0", + "lightningcss-darwin-x64": "1.32.0", + "lightningcss-freebsd-x64": "1.32.0", + "lightningcss-linux-arm-gnueabihf": "1.32.0", + "lightningcss-linux-arm64-gnu": "1.32.0", + "lightningcss-linux-arm64-musl": "1.32.0", + "lightningcss-linux-x64-gnu": "1.32.0", + "lightningcss-linux-x64-musl": "1.32.0", + "lightningcss-win32-arm64-msvc": "1.32.0", + "lightningcss-win32-x64-msvc": "1.32.0" + } + }, + "node_modules/lightningcss-android-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-android-arm64/-/lightningcss-android-arm64-1.32.0.tgz", + "integrity": "sha512-YK7/ClTt4kAK0vo6w3X+Pnm0D2cf2vPHbhOXdoNti1Ga0al1P4TBZhwjATvjNwLEBCnKvjJc2jQgHXH0NEwlAg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "android" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-arm64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-arm64/-/lightningcss-darwin-arm64-1.32.0.tgz", + "integrity": "sha512-RzeG9Ju5bag2Bv1/lwlVJvBE3q6TtXskdZLLCyfg5pt+HLz9BqlICO7LZM7VHNTTn/5PRhHFBSjk5lc4cmscPQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-darwin-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-darwin-x64/-/lightningcss-darwin-x64-1.32.0.tgz", + "integrity": "sha512-U+QsBp2m/s2wqpUYT/6wnlagdZbtZdndSmut/NJqlCcMLTWp5muCrID+K5UJ6jqD2BFshejCYXniPDbNh73V8w==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "darwin" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-freebsd-x64": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-freebsd-x64/-/lightningcss-freebsd-x64-1.32.0.tgz", + "integrity": "sha512-JCTigedEksZk3tHTTthnMdVfGf61Fky8Ji2E4YjUTEQX14xiy/lTzXnu1vwiZe3bYe0q+SpsSH/CTeDXK6WHig==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "freebsd" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm-gnueabihf": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm-gnueabihf/-/lightningcss-linux-arm-gnueabihf-1.32.0.tgz", + "integrity": "sha512-x6rnnpRa2GL0zQOkt6rts3YDPzduLpWvwAF6EMhXFVZXD4tPrBkEFqzGowzCsIWsPjqSK+tyNEODUBXeeVHSkw==", + "cpu": [ + "arm" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-gnu/-/lightningcss-linux-arm64-gnu-1.32.0.tgz", + "integrity": "sha512-0nnMyoyOLRJXfbMOilaSRcLH3Jw5z9HDNGfT/gwCPgaDjnx0i8w7vBzFLFR1f6CMLKF8gVbebmkUN3fa/kQJpQ==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-arm64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-arm64-musl/-/lightningcss-linux-arm64-musl-1.32.0.tgz", + "integrity": "sha512-UpQkoenr4UJEzgVIYpI80lDFvRmPVg6oqboNHfoH4CQIfNA+HOrZ7Mo7KZP02dC6LjghPQJeBsvXhJod/wnIBg==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-gnu": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-gnu/-/lightningcss-linux-x64-gnu-1.32.0.tgz", + "integrity": "sha512-V7Qr52IhZmdKPVr+Vtw8o+WLsQJYCTd8loIfpDaMRWGUZfBOYEJeyJIkqGIDMZPwPx24pUMfwSxxI8phr/MbOA==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-linux-x64-musl": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-linux-x64-musl/-/lightningcss-linux-x64-musl-1.32.0.tgz", + "integrity": "sha512-bYcLp+Vb0awsiXg/80uCRezCYHNg1/l3mt0gzHnWV9XP1W5sKa5/TCdGWaR/zBM2PeF/HbsQv/j2URNOiVuxWg==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "linux" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-arm64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-arm64-msvc/-/lightningcss-win32-arm64-msvc-1.32.0.tgz", + "integrity": "sha512-8SbC8BR40pS6baCM8sbtYDSwEVQd4JlFTOlaD3gWGHfThTcABnNDBda6eTZeqbofalIJhFx0qKzgHJmcPTnGdw==", + "cpu": [ + "arm64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lightningcss-win32-x64-msvc": { + "version": "1.32.0", + "resolved": "https://registry.npmjs.org/lightningcss-win32-x64-msvc/-/lightningcss-win32-x64-msvc-1.32.0.tgz", + "integrity": "sha512-Amq9B/SoZYdDi1kFrojnoqPLxYhQ4Wo5XiL8EVJrVsB8ARoC1PWW6VGtT0WKCemjy8aC+louJnjS7U18x3b06Q==", + "cpu": [ + "x64" + ], + "license": "MPL-2.0", + "optional": true, + "os": [ + "win32" + ], + "engines": { + "node": ">= 12.0.0" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/parcel" + } + }, + "node_modules/lru-cache": { + "version": "5.1.1", + "resolved": "https://registry.npmjs.org/lru-cache/-/lru-cache-5.1.1.tgz", + "integrity": "sha512-KpNARQA3Iwv+jTA0utUVVbrh+Jlrr1Fv0e56GGzAFOXN7dk/FviaDW8LHmK52DlcH4WP2n6gI8vN1aesBFgo9w==", + "dev": true, + "license": "ISC", + "dependencies": { + "yallist": "^3.0.2" + } + }, + "node_modules/lucide-react": { + "version": "0.468.0", + "resolved": "https://registry.npmjs.org/lucide-react/-/lucide-react-0.468.0.tgz", + "integrity": "sha512-6koYRhnM2N0GGZIdXzSeiNwguv1gt/FAjZOiPl76roBi3xKEXa4WmfpxgQwTTL4KipXjefrnf3oV4IsYhi4JFA==", + "license": "ISC", + "peerDependencies": { + "react": "^16.5.1 || ^17.0.0 || ^18.0.0 || ^19.0.0-rc" + } + }, + "node_modules/magic-string": { + "version": "0.30.21", + "resolved": "https://registry.npmjs.org/magic-string/-/magic-string-0.30.21.tgz", + "integrity": "sha512-vd2F4YUyEXKGcLHoq+TEyCjxueSeHnFxyyjNp80yg0XV4vUhnDer/lvvlqM/arB5bXQN5K2/3oinyCRyx8T2CQ==", + "dev": true, + "license": "MIT", + "dependencies": { + "@jridgewell/sourcemap-codec": "^1.5.5" + } + }, + "node_modules/ms": { + "version": "2.1.3", + "resolved": "https://registry.npmjs.org/ms/-/ms-2.1.3.tgz", + "integrity": "sha512-6FlzubTLZG3J2a/NVCAleEhjzq5oxgHyaCU9yYXvcLsvoVaHJq/s5xXI6/XXP6tz7R9xAOtHnSO/tXtF3WRTlA==", + "dev": true, + "license": "MIT" + }, + "node_modules/nanoid": { + "version": "3.3.12", + "resolved": "https://registry.npmjs.org/nanoid/-/nanoid-3.3.12.tgz", + "integrity": "sha512-ZB9RH/39qpq5Vu6Y+NmUaFhQR6pp+M2Xt76XBnEwDaGcVAqhlvxrl3B2bKS5D3NH3QR76v3aSrKaF/Kiy7lEtQ==", + "funding": [ + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "bin": { + "nanoid": "bin/nanoid.cjs" + }, + "engines": { + "node": "^10 || ^12 || ^13.7 || ^14 || >=15.0.1" + } + }, + "node_modules/node-releases": { + "version": "2.0.45", + "resolved": "https://registry.npmjs.org/node-releases/-/node-releases-2.0.45.tgz", + "integrity": "sha512-iIbHXV9eBB2nB0wa7oTsrrXq+qQt+9SIlx9AX3T96YgobtEQfis5n6TJ6vV+3QP8DwdriEAcGhARaFCu37peBg==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=18" + } + }, + "node_modules/picocolors": { + "version": "1.1.1", + "resolved": "https://registry.npmjs.org/picocolors/-/picocolors-1.1.1.tgz", + "integrity": "sha512-xceH2snhtb5M9liqDsmEw56le376mTZkEX/jEb/RxNFyegNul7eNslCXP9FDj/Lcu0X8KEyMceP2ntpaHrDEVA==", + "license": "ISC" + }, + "node_modules/picomatch": { + "version": "4.0.4", + "resolved": "https://registry.npmjs.org/picomatch/-/picomatch-4.0.4.tgz", + "integrity": "sha512-QP88BAKvMam/3NxH6vj2o21R6MjxZUAd6nlwAS/pnGvN9IVLocLHxGYIzFhg6fUQ+5th6P4dv4eW9jX3DSIj7A==", + "license": "MIT", + "engines": { + "node": ">=12" + }, + "funding": { + "url": "https://github.com/sponsors/jonschlinkert" + } + }, + "node_modules/postcss": { + "version": "8.5.15", + "resolved": "https://registry.npmjs.org/postcss/-/postcss-8.5.15.tgz", + "integrity": "sha512-FfR8sjd4em2T6fb3I2MwAJU7HWVMr9zba+enmQeeWFfCbm+UOC/0X4DS8XtpUTMwWMGbjKYP7xjfNekzyGmB3A==", + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/postcss/" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/postcss" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "nanoid": "^3.3.12", + "picocolors": "^1.1.1", + "source-map-js": "^1.2.1" + }, + "engines": { + "node": "^10 || ^12 || >=14" + } + }, + "node_modules/react": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react/-/react-19.2.6.tgz", + "integrity": "sha512-sfWGGfavi0xr8Pg0sVsyHMAOziVYKgPLNrS7ig+ivMNb3wbCBw3KxtflsGBAwD3gYQlE/AEZsTLgToRrSCjb0Q==", + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/react-dom": { + "version": "19.2.6", + "resolved": "https://registry.npmjs.org/react-dom/-/react-dom-19.2.6.tgz", + "integrity": "sha512-0prMI+hvBbPjsWnxDLxlCGyM8PN6UuWjEUCYmZhO67xIV9Xasa/r/vDnq+Xyq4Lo27g8QSbO5YzARu0D1Sps3g==", + "license": "MIT", + "dependencies": { + "scheduler": "^0.27.0" + }, + "peerDependencies": { + "react": "^19.2.6" + } + }, + "node_modules/react-refresh": { + "version": "0.17.0", + "resolved": "https://registry.npmjs.org/react-refresh/-/react-refresh-0.17.0.tgz", + "integrity": "sha512-z6F7K9bV85EfseRCp2bzrpyQ0Gkw1uLoCel9XBVWPg/TjRj94SkJzUTGfOa4bs7iJvBWtQG0Wq7wnI0syw3EBQ==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/rollup": { + "version": "4.60.4", + "resolved": "https://registry.npmjs.org/rollup/-/rollup-4.60.4.tgz", + "integrity": "sha512-WHeFSbZYsPu3+bLoNRUuAO+wavNlocOPf3wSHTP7hcFKVnJeWsYlCDbr3mTS14FCizf9ccIxXA8sGL8zKeQN3g==", + "license": "MIT", + "dependencies": { + "@types/estree": "1.0.8" + }, + "bin": { + "rollup": "dist/bin/rollup" + }, + "engines": { + "node": ">=18.0.0", + "npm": ">=8.0.0" + }, + "optionalDependencies": { + "@rollup/rollup-android-arm-eabi": "4.60.4", + "@rollup/rollup-android-arm64": "4.60.4", + "@rollup/rollup-darwin-arm64": "4.60.4", + "@rollup/rollup-darwin-x64": "4.60.4", + "@rollup/rollup-freebsd-arm64": "4.60.4", + "@rollup/rollup-freebsd-x64": "4.60.4", + "@rollup/rollup-linux-arm-gnueabihf": "4.60.4", + "@rollup/rollup-linux-arm-musleabihf": "4.60.4", + "@rollup/rollup-linux-arm64-gnu": "4.60.4", + "@rollup/rollup-linux-arm64-musl": "4.60.4", + "@rollup/rollup-linux-loong64-gnu": "4.60.4", + "@rollup/rollup-linux-loong64-musl": "4.60.4", + "@rollup/rollup-linux-ppc64-gnu": "4.60.4", + "@rollup/rollup-linux-ppc64-musl": "4.60.4", + "@rollup/rollup-linux-riscv64-gnu": "4.60.4", + "@rollup/rollup-linux-riscv64-musl": "4.60.4", + "@rollup/rollup-linux-s390x-gnu": "4.60.4", + "@rollup/rollup-linux-x64-gnu": "4.60.4", + "@rollup/rollup-linux-x64-musl": "4.60.4", + "@rollup/rollup-openbsd-x64": "4.60.4", + "@rollup/rollup-openharmony-arm64": "4.60.4", + "@rollup/rollup-win32-arm64-msvc": "4.60.4", + "@rollup/rollup-win32-ia32-msvc": "4.60.4", + "@rollup/rollup-win32-x64-gnu": "4.60.4", + "@rollup/rollup-win32-x64-msvc": "4.60.4", + "fsevents": "~2.3.2" + } + }, + "node_modules/scheduler": { + "version": "0.27.0", + "resolved": "https://registry.npmjs.org/scheduler/-/scheduler-0.27.0.tgz", + "integrity": "sha512-eNv+WrVbKu1f3vbYJT/xtiF5syA5HPIMtf9IgY/nKg0sWqzAUEvqY/xm7OcZc/qafLx/iO9FgOmeSAp4v5ti/Q==", + "license": "MIT" + }, + "node_modules/semver": { + "version": "6.3.1", + "resolved": "https://registry.npmjs.org/semver/-/semver-6.3.1.tgz", + "integrity": "sha512-BR7VvDCVHO+q2xBEWskxS6DJE1qRnb7DxzUrogb71CWoSficBxYsiAGd+Kl0mmq/MprG9yArRkyrQxTO6XjMzA==", + "dev": true, + "license": "ISC", + "bin": { + "semver": "bin/semver.js" + } + }, + "node_modules/source-map-js": { + "version": "1.2.1", + "resolved": "https://registry.npmjs.org/source-map-js/-/source-map-js-1.2.1.tgz", + "integrity": "sha512-UXWMKhLOwVKb728IUtQPXxfYU+usdybtUrK/8uGE8CQMvrhOpwvzDBwj0QhSL7MQc7vIsISBG8VQ8+IDQxpfQA==", + "license": "BSD-3-Clause", + "engines": { + "node": ">=0.10.0" + } + }, + "node_modules/tailwind-merge": { + "version": "2.6.1", + "resolved": "https://registry.npmjs.org/tailwind-merge/-/tailwind-merge-2.6.1.tgz", + "integrity": "sha512-Oo6tHdpZsGpkKG88HJ8RR1rg/RdnEkQEfMoEk2x1XRI3F1AxeU+ijRXpiVUF4UbLfcxxRGw6TbUINKYdWVsQTQ==", + "license": "MIT", + "funding": { + "type": "github", + "url": "https://github.com/sponsors/dcastil" + } + }, + "node_modules/tailwindcss": { + "version": "4.3.0", + "resolved": "https://registry.npmjs.org/tailwindcss/-/tailwindcss-4.3.0.tgz", + "integrity": "sha512-y6nxMGB1nMW9R6k96e5gdIFzcfL/gTJRNaqGes1YvkLnPVXzWgbqFF2yLC0T8G774n24cx3Pe8XrKoniCOAH+Q==", + "dev": true, + "license": "MIT" + }, + "node_modules/tapable": { + "version": "2.3.3", + "resolved": "https://registry.npmjs.org/tapable/-/tapable-2.3.3.tgz", + "integrity": "sha512-uxc/zpqFg6x7C8vOE7lh6Lbda8eEL9zmVm/PLeTPBRhh1xCgdWaQ+J1CUieGpIfm2HdtsUpRv+HshiasBMcc6A==", + "dev": true, + "license": "MIT", + "engines": { + "node": ">=6" + }, + "funding": { + "type": "opencollective", + "url": "https://opencollective.com/webpack" + } + }, + "node_modules/tinyglobby": { + "version": "0.2.16", + "resolved": "https://registry.npmjs.org/tinyglobby/-/tinyglobby-0.2.16.tgz", + "integrity": "sha512-pn99VhoACYR8nFHhxqix+uvsbXineAasWm5ojXoN8xEwK5Kd3/TrhNn1wByuD52UxWRLy8pu+kRMniEi6Eq9Zg==", + "license": "MIT", + "dependencies": { + "fdir": "^6.5.0", + "picomatch": "^4.0.4" + }, + "engines": { + "node": ">=12.0.0" + }, + "funding": { + "url": "https://github.com/sponsors/SuperchupuDev" + } + }, + "node_modules/tslib": { + "version": "2.8.1", + "resolved": "https://registry.npmjs.org/tslib/-/tslib-2.8.1.tgz", + "integrity": "sha512-oJFu94HQb+KVduSUQL7wnpmqnfmLsOA/nAh6b6EH0wCEoK0/mPeXU6c3wKDV83MkOuHPRHtSXKKU99IBazS/2w==", + "license": "0BSD" + }, + "node_modules/typescript": { + "version": "5.9.3", + "resolved": "https://registry.npmjs.org/typescript/-/typescript-5.9.3.tgz", + "integrity": "sha512-jl1vZzPDinLr9eUt3J/t7V6FgNEw9QjvBPdysz9KfQDD41fQrC2Y4vKQdiaUpFT4bXlb1RHhLpp8wtm6M5TgSw==", + "license": "Apache-2.0", + "bin": { + "tsc": "bin/tsc", + "tsserver": "bin/tsserver" + }, + "engines": { + "node": ">=14.17" + } + }, + "node_modules/undici-types": { + "version": "6.21.0", + "resolved": "https://registry.npmjs.org/undici-types/-/undici-types-6.21.0.tgz", + "integrity": "sha512-iwDZqg0QAGrg9Rav5H4n0M64c3mkR59cJ6wQp+7C4nI0gsmExaedaYLNO44eT4AtBBwjbTiGPMlt2Md0T9H9JQ==", + "devOptional": true, + "license": "MIT" + }, + "node_modules/update-browserslist-db": { + "version": "1.2.3", + "resolved": "https://registry.npmjs.org/update-browserslist-db/-/update-browserslist-db-1.2.3.tgz", + "integrity": "sha512-Js0m9cx+qOgDxo0eMiFGEueWztz+d4+M3rGlmKPT+T4IS/jP4ylw3Nwpu6cpTTP8R1MAC1kF4VbdLt3ARf209w==", + "dev": true, + "funding": [ + { + "type": "opencollective", + "url": "https://opencollective.com/browserslist" + }, + { + "type": "tidelift", + "url": "https://tidelift.com/funding/github/npm/browserslist" + }, + { + "type": "github", + "url": "https://github.com/sponsors/ai" + } + ], + "license": "MIT", + "dependencies": { + "escalade": "^3.2.0", + "picocolors": "^1.1.1" + }, + "bin": { + "update-browserslist-db": "cli.js" + }, + "peerDependencies": { + "browserslist": ">= 4.21.0" + } + }, + "node_modules/vite": { + "version": "6.4.2", + "resolved": "https://registry.npmjs.org/vite/-/vite-6.4.2.tgz", + "integrity": "sha512-2N/55r4JDJ4gdrCvGgINMy+HH3iRpNIz8K6SFwVsA+JbQScLiC+clmAxBgwiSPgcG9U15QmvqCGWzMbqda5zGQ==", + "license": "MIT", + "dependencies": { + "esbuild": "^0.25.0", + "fdir": "^6.4.4", + "picomatch": "^4.0.2", + "postcss": "^8.5.3", + "rollup": "^4.34.9", + "tinyglobby": "^0.2.13" + }, + "bin": { + "vite": "bin/vite.js" + }, + "engines": { + "node": "^18.0.0 || ^20.0.0 || >=22.0.0" + }, + "funding": { + "url": "https://github.com/vitejs/vite?sponsor=1" + }, + "optionalDependencies": { + "fsevents": "~2.3.3" + }, + "peerDependencies": { + "@types/node": "^18.0.0 || ^20.0.0 || >=22.0.0", + "jiti": ">=1.21.0", + "less": "*", + "lightningcss": "^1.21.0", + "sass": "*", + "sass-embedded": "*", + "stylus": "*", + "sugarss": "*", + "terser": "^5.16.0", + "tsx": "^4.8.1", + "yaml": "^2.4.2" + }, + "peerDependenciesMeta": { + "@types/node": { + "optional": true + }, + "jiti": { + "optional": true + }, + "less": { + "optional": true + }, + "lightningcss": { + "optional": true + }, + "sass": { + "optional": true + }, + "sass-embedded": { + "optional": true + }, + "stylus": { + "optional": true + }, + "sugarss": { + "optional": true + }, + "terser": { + "optional": true + }, + "tsx": { + "optional": true + }, + "yaml": { + "optional": true + } + } + }, + "node_modules/yallist": { + "version": "3.1.1", + "resolved": "https://registry.npmjs.org/yallist/-/yallist-3.1.1.tgz", + "integrity": "sha512-a4UGQaWPH59mOXUYnAG2ewncQS4i4F43Tv3JoAM+s2VDAmS9NsK8GpDMLrCHPksFT7h3K6TOoUNn2pb7RoXx4g==", + "dev": true, + "license": "ISC" + } + } +} diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 33f13bc91..25061593a 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,40 +1,40 @@ -{ - "name": "codex-plus-manager", - "version": "1.2.22", - "private": true, - "type": "module", - "scripts": { - "dev": "tauri dev", - "build": "cargo build -p codex-plus-launcher --release && tauri build", - "check": "tsc --noEmit -p tsconfig.json", - "vite:dev": "vite --host 127.0.0.1 --port 1420", - "vite:build": "vite build" - }, - "dependencies": { - "@dnd-kit/core": "^6.3.1", - "@dnd-kit/sortable": "^10.0.0", - "@dnd-kit/utilities": "^3.2.2", - "@fontsource/inter": "^5.2.8", - "@fontsource/jetbrains-mono": "^5.2.8", - "@radix-ui/react-slot": "^1.1.2", - "@tauri-apps/api": "^2.0.0", - "@tauri-apps/cli": "^2.0.0", - "@tauri-apps/plugin-dialog": "^2.7.1", - "class-variance-authority": "^0.7.1", - "clsx": "^2.1.1", - "lucide-react": "^0.468.0", - "react": "^19.0.0", - "react-dom": "^19.0.0", - "tailwind-merge": "^2.5.5", - "typescript": "^5.8.0", - "vite": "^6.0.0" - }, - "devDependencies": { - "@tailwindcss/vite": "^4.0.0", - "@types/node": "^22.10.0", - "@types/react": "^19.0.0", - "@types/react-dom": "^19.0.0", - "@vitejs/plugin-react": "^4.3.4", - "tailwindcss": "^4.0.0" - } -} +{ + "name": "codex-plus-manager", + "version": "1.2.23", + "private": true, + "type": "module", + "scripts": { + "dev": "tauri dev", + "build": "cargo build -p codex-plus-launcher --release && tauri build", + "check": "tsc --noEmit -p tsconfig.json", + "vite:dev": "vite --host 127.0.0.1 --port 1420", + "vite:build": "vite build" + }, + "dependencies": { + "@dnd-kit/core": "^6.3.1", + "@dnd-kit/sortable": "^10.0.0", + "@dnd-kit/utilities": "^3.2.2", + "@fontsource/inter": "^5.2.8", + "@fontsource/jetbrains-mono": "^5.2.8", + "@radix-ui/react-slot": "^1.1.2", + "@tauri-apps/api": "^2.0.0", + "@tauri-apps/cli": "^2.0.0", + "@tauri-apps/plugin-dialog": "^2.7.1", + "class-variance-authority": "^0.7.1", + "clsx": "^2.1.1", + "lucide-react": "^0.468.0", + "react": "^19.0.0", + "react-dom": "^19.0.0", + "tailwind-merge": "^2.5.5", + "typescript": "^5.8.0", + "vite": "^6.0.0" + }, + "devDependencies": { + "@tailwindcss/vite": "^4.0.0", + "@types/node": "^22.10.0", + "@types/react": "^19.0.0", + "@types/react-dom": "^19.0.0", + "@vitejs/plugin-react": "^4.3.4", + "tailwindcss": "^4.0.0" + } +} diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index b166368ac..c63ae0ea2 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,35 +1,35 @@ -{ - "$schema": "https://schema.tauri.app/config/2", - "productName": "Codex++ Manager", - "version": "1.2.22", - "identifier": "com.bigpizzav3.codexplusplus.manager", - "build": { - "beforeDevCommand": "npm run vite:dev", - "beforeBuildCommand": "npm run vite:build", - "devUrl": "http://localhost:1420", - "frontendDist": "../dist" - }, - "app": { - "windows": [ - { - "create": false, - "label": "main", - "title": "Codex++ 管理工具", - "width": 1180, - "height": 820, - "minWidth": 960, - "minHeight": 720 - } - ], - "security": { - "csp": null - } - }, - "bundle": { - "active": false, - "targets": "all", - "icon": [ - "icons/icon.ico" - ] - } -} +{ + "$schema": "https://schema.tauri.app/config/2", + "productName": "Codex++ Manager", + "version": "1.2.23", + "identifier": "com.bigpizzav3.codexplusplus.manager", + "build": { + "beforeDevCommand": "npm run vite:dev", + "beforeBuildCommand": "npm run vite:build", + "devUrl": "http://localhost:1420", + "frontendDist": "../dist" + }, + "app": { + "windows": [ + { + "create": false, + "label": "main", + "title": "Codex++ 管理工具", + "width": 1180, + "height": 820, + "minWidth": 960, + "minHeight": 720 + } + ], + "security": { + "csp": null + } + }, + "bundle": { + "active": false, + "targets": "all", + "icon": [ + "icons/icon.ico" + ] + } +} diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e6014c8f8..8a8040d82 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -130,6 +130,7 @@ type BackendSettings = { codexAppSessionDelete: boolean; codexAppMarkdownExport: boolean; codexAppPasteFix: boolean; + codexAppForceChineseLocale: boolean; codexAppProjectMove: boolean; codexAppThreadIdBadge: boolean; codexAppConversationView: boolean; @@ -634,6 +635,7 @@ const defaultSettings: BackendSettings = { codexAppSessionDelete: true, codexAppMarkdownExport: true, codexAppPasteFix: false, + codexAppForceChineseLocale: true, codexAppProjectMove: true, codexAppThreadIdBadge: false, codexAppConversationView: false, @@ -2737,6 +2739,7 @@ function EnhanceScreen({ setEnhanceFlag("codexAppSessionDelete", value)} /> setEnhanceFlag("codexAppMarkdownExport", value)} /> setEnhanceFlag("codexAppPasteFix", value)} /> + setEnhanceFlag("codexAppForceChineseLocale", value)} /> setEnhanceFlag("codexAppProjectMove", value)} /> setEnhanceFlag("codexAppThreadIdBadge", value)} /> setEnhanceFlag("codexAppConversationView", value)} /> diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index 67e1da895..ea77378b0 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -1,4 +1,145 @@ (() => { + function installCodexPlusForceChineseLocale() { + const config = window.__CODEX_PLUS_FORCE_CHINESE_LOCALE__; + if (!config || config.enabled !== true) return; + if (window.__codexPlusForceChineseLocaleInstalled === "1") return; + window.__codexPlusForceChineseLocaleInstalled = "1"; + const locale = typeof config.locale === "string" && config.locale ? config.locale : "zh-CN"; + const languages = [locale, "zh", "en-US", "en"]; + + const defineNavigatorGetter = (name, value) => { + try { + Object.defineProperty(Navigator.prototype, name, { + configurable: true, + get: () => value, + }); + } catch { + try { + Object.defineProperty(navigator, name, { + configurable: true, + get: () => value, + }); + } catch { + } + } + }; + + defineNavigatorGetter("language", locale); + defineNavigatorGetter("languages", languages); + + const patchI18nConfig = (dynamicConfig) => { + if (!dynamicConfig || typeof dynamicConfig !== "object") return dynamicConfig; + const value = dynamicConfig.value && typeof dynamicConfig.value === "object" ? dynamicConfig.value : {}; + const nextValue = { + ...value, + enable_i18n: true, + locale_source: "SYSTEM", + }; + try { + dynamicConfig.value = nextValue; + } catch { + } + if (typeof dynamicConfig.get === "function" && !dynamicConfig.__codexPlusForceChineseLocaleGetPatched) { + const originalGet = dynamicConfig.get.bind(dynamicConfig); + dynamicConfig.get = (key, fallback) => { + if (key === "enable_i18n") return true; + if (key === "locale_source") return "SYSTEM"; + return originalGet(key, fallback); + }; + dynamicConfig.__codexPlusForceChineseLocaleGetPatched = true; + } + return dynamicConfig; + }; + + const statsigClients = () => { + const root = window.__STATSIG__ || globalThis.__STATSIG__; + if (!root || typeof root !== "object") return []; + const clients = [root.firstInstance, typeof root.instance === "function" ? root.instance() : null]; + if (root.instances && typeof root.instances === "object") clients.push(...Object.values(root.instances)); + return clients.filter((client, index, array) => client && typeof client === "object" && array.indexOf(client) === index); + }; + + const patchStatsigClient = (client) => { + if (!client || typeof client !== "object") return; + if (typeof client.getDynamicConfig !== "function") return; + if (!client.__codexPlusForceChineseLocalePatched) { + const originalGetDynamicConfig = client.getDynamicConfig.bind(client); + client.getDynamicConfig = (name, options) => { + const result = originalGetDynamicConfig(name, options); + return name === "72216192" ? patchI18nConfig(result) : result; + }; + client.__codexPlusForceChineseLocalePatched = true; + } + try { + patchI18nConfig(client.getDynamicConfig("72216192", { disableExposureLog: true })); + } catch { + } + }; + + const patchStatsigRoot = (root) => { + if (!root || typeof root !== "object" || root.__codexPlusForceChineseLocaleRootPatched) return; + root.__codexPlusForceChineseLocaleRootPatched = true; + ["firstInstance", "instance"].forEach((key) => { + let current; + try { + current = root[key]; + } catch { + return; + } + patchStatsigClient(typeof current === "function" && key === "instance" ? current.call(root) : current); + try { + Object.defineProperty(root, key, { + configurable: true, + get: () => current, + set: (next) => { + current = next; + patchStatsigClient(typeof next === "function" && key === "instance" ? next.call(root) : next); + }, + }); + } catch { + } + }); + }; + + const installStatsigRootSetter = () => { + const descriptor = Object.getOwnPropertyDescriptor(window, "__STATSIG__"); + if (descriptor && descriptor.configurable === false) return; + let currentRoot = window.__STATSIG__; + patchStatsigRoot(currentRoot); + try { + Object.defineProperty(window, "__STATSIG__", { + configurable: true, + get: () => currentRoot, + set: (next) => { + currentRoot = next; + patchStatsigRoot(next); + statsigClients().forEach(patchStatsigClient); + }, + }); + } catch { + } + }; + + const patchStatsigI18nConfig = () => { + installStatsigRootSetter(); + const root = window.__STATSIG__ || globalThis.__STATSIG__; + patchStatsigRoot(root); + statsigClients().forEach((client) => { + if (typeof client.getDynamicConfig !== "function") return; + patchStatsigClient(client); + }); + }; + + patchStatsigI18nConfig(); + const startedAt = Date.now(); + const timer = window.setInterval(() => { + patchStatsigI18nConfig(); + if (Date.now() - startedAt > 5000) window.clearInterval(timer); + }, 50); + } + + installCodexPlusForceChineseLocale(); + const helperBase = window.__CODEX_SESSION_DELETE_HELPER__ || "http://127.0.0.1:57321"; const buttonClass = "codex-delete-button"; const exportButtonClass = "codex-export-button"; diff --git a/crates/codex-plus-core/src/assets.rs b/crates/codex-plus-core/src/assets.rs index a87ab5a6b..68ffe9e5b 100644 --- a/crates/codex-plus-core/src/assets.rs +++ b/crates/codex-plus-core/src/assets.rs @@ -31,8 +31,9 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin let image_overlay = image_overlay_config(helper_port, settings); let plugin_marketplaces = local_plugin_marketplaces(); let paste_fix = paste_fix_enabled_config(settings); + let force_chinese_locale = force_chinese_locale_config(settings); format!( - "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\n{}", + "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\nwindow.__CODEX_PLUS_FORCE_CHINESE_LOCALE__ = {};\n{}", serde_json::to_string(&helper_url).expect("helper URL should serialize"), serde_json::to_string(&sponsor_images).expect("sponsor images should serialize"), serde_json::to_string(crate::version::VERSION).expect("version should serialize"), @@ -40,6 +41,8 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin serde_json::to_string(&image_overlay).expect("image overlay config should serialize"), serde_json::to_string(&plugin_marketplaces).expect("plugin marketplaces should serialize"), serde_json::to_string(&paste_fix).expect("paste fix config should serialize"), + serde_json::to_string(&force_chinese_locale) + .expect("force Chinese locale config should serialize"), renderer_script(), ) } @@ -232,6 +235,10 @@ pub fn paste_fix_enabled_config(settings: &BackendSettings) -> Value { json!({ "enabled": settings.codex_app_paste_fix }) } +pub fn force_chinese_locale_config(settings: &BackendSettings) -> Value { + json!({ "enabled": settings.codex_app_force_chinese_locale, "locale": "zh-CN" }) +} + fn image_data_uri(mime_type: &str, bytes: &[u8]) -> String { format!( "data:{mime_type};base64,{}", diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index 0d2ea6fa9..3b909c793 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -213,6 +213,8 @@ pub struct BackendSettings { pub codex_app_markdown_export: bool, #[serde(rename = "codexAppPasteFix", default)] pub codex_app_paste_fix: bool, + #[serde(rename = "codexAppForceChineseLocale", default = "default_true")] + pub codex_app_force_chinese_locale: bool, #[serde(rename = "codexAppProjectMove", default = "default_true")] pub codex_app_project_move: bool, #[serde(rename = "codexAppThreadIdBadge", default)] @@ -314,6 +316,7 @@ impl Default for BackendSettings { codex_app_session_delete: true, codex_app_markdown_export: true, codex_app_paste_fix: false, + codex_app_force_chinese_locale: true, codex_app_project_move: true, codex_app_thread_id_badge: false, codex_app_conversation_view: false, @@ -662,6 +665,7 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map Date: Mon, 29 Jun 2026 04:01:03 +0800 Subject: [PATCH 136/156] fix(guard): auto-offset guard port for multi-user RDP Fix guard port collisions for multi-user Windows RDP sessions by allowing env overrides and USERNAME-based auto offsets. --- HANDOVER.md | 54 ++++++++ apps/codex-plus-launcher/src/main.rs | 10 +- apps/codex-plus-manager/src-tauri/src/lib.rs | 10 +- .../src-tauri/tests/windows_subsystem.rs | 2 +- crates/codex-plus-core/src/ports.rs | 125 +++++++++++++++++- 5 files changed, 188 insertions(+), 13 deletions(-) create mode 100644 HANDOVER.md diff --git a/HANDOVER.md b/HANDOVER.md new file mode 100644 index 000000000..c5e4383cc --- /dev/null +++ b/HANDOVER.md @@ -0,0 +1,54 @@ +# HANDOVER — CodexPlusPlus + +## Active Work + +### PR #1247: guard port auto-offset for multi-user RDP + +**PR:** https://github.com/BigPizzaV3/CodexPlusPlus/pull/1247 +**Branch:** `fix/guard-port-offset` (on lennney fork) + +### What was done + +Replaced hardcoded guard port constants with dynamic resolution: + +| Before | After | +|--------|-------| +| `LAUNCHER_GUARD_PORT = 57320` | `launcher_guard_port()` — function with offset | +| `MANAGER_GUARD_PORT = 57319` | `manager_guard_port()` — function with offset | + +Resolution order: +1. `CODEX_PLUS_GUARD_PORT` — exact port override +2. `CODEX_PLUS_{LAUNCHER,MANAGER}_GUARD_PORT` — per-role override +3. `CODEX_PLUS_GUARD_PORT_OFFSET` — explicit offset (e.g. +50) +4. Windows: `USERNAME` hash mod 1000 (auto per-user isolation) +5. Other platforms: 0 (backward compatible) + +### CI Fix (2026-06-28 23:19) + +**Problem:** All 3 platform builds failed with Rust E0308 type mismatch. +**Root cause:** `.and_then(|v| v.parse::().map_err(|_| ()))` — the `.or_else()` chain maintained `Result<_, VarError>` type but `.map_err(|_| ())` produced `Result<_, ()>`. +**Fix (5f9305f):** Switched to Option chain: `.ok().and_then(|v| v.parse().ok())` +**Code review:** APPROVED ✅ +**CI:** Run 28326773669 in progress + +### Files changed + +| File | Change | +|------|--------| +| `crates/codex-plus-core/src/ports.rs` | +2 functions, +6 tests, base constants, Option chain fix | +| `apps/codex-plus-launcher/src/main.rs` | 4 references updated + test assertion | +| `apps/codex-plus-manager/src-tauri/src/lib.rs` | 5 references updated | +| `apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs` | 1 assertion updated | + +### Commits + +``` +5f9305f fix(ports): use Option chain for env var parsing to resolve type mismatch +3a4f0aa fix(guard): auto-offset guard port by USERNAME for multi-user RDP +``` + +### Next steps + +1. Wait for CI (run 28326773669) to complete — verify all 3 platforms green +2. Wait for upstream maintainer review +3. If maintainer requests changes, address them diff --git a/apps/codex-plus-launcher/src/main.rs b/apps/codex-plus-launcher/src/main.rs index fab54fa92..abc43074d 100644 --- a/apps/codex-plus-launcher/src/main.rs +++ b/apps/codex-plus-launcher/src/main.rs @@ -92,7 +92,7 @@ fn acquire_single_instance_guard_with_retry( .with_context(|| { format!( "failed to acquire launcher guard port {}", - codex_plus_core::ports::LAUNCHER_GUARD_PORT + codex_plus_core::ports::launcher_guard_port() ) }) .map(Some), @@ -102,7 +102,7 @@ fn acquire_single_instance_guard_with_retry( fn try_acquire_single_instance_guard() -> std::io::Result { codex_plus_core::ports::acquire_resilient_loopback_port_guard( - codex_plus_core::ports::LAUNCHER_GUARD_PORT, + codex_plus_core::ports::launcher_guard_port(), ) } @@ -110,7 +110,7 @@ fn log_launcher_guard_fallback(fallback_lock_path: &Path) { let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( "launcher.guard_fallback", json!({ - "requested_guard_port": codex_plus_core::ports::LAUNCHER_GUARD_PORT, + "requested_guard_port": codex_plus_core::ports::launcher_guard_port(), "fallback_lock_path": fallback_lock_path }), ); @@ -194,7 +194,7 @@ fn log_launcher_already_running(debug_port: u16) { let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( "launcher.already_running", json!({ - "guard_port": codex_plus_core::ports::LAUNCHER_GUARD_PORT, + "guard_port": codex_plus_core::ports::launcher_guard_port(), "debug_port": debug_port }), ); @@ -807,7 +807,7 @@ mod tests { let source = include_str!("main.rs"); assert!(source.contains("acquire_single_instance_guard(options.debug_port)?")); - assert!(source.contains("LAUNCHER_GUARD_PORT")); + assert!(source.contains("launcher_guard_port")); assert!(source.contains("launcher.already_running")); } diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index 95ffc008d..d0523676b 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -237,14 +237,14 @@ fn install_panic_logger() { fn acquire_single_instance_guard() -> Option { match codex_plus_core::ports::acquire_resilient_loopback_port_guard( - codex_plus_core::ports::MANAGER_GUARD_PORT, + codex_plus_core::ports::manager_guard_port(), ) { Ok(guard) => { if let Some(fallback_lock_path) = guard.fallback_path() { let _ = codex_plus_core::diagnostic_log::append_diagnostic_log( "manager.guard_fallback", serde_json::json!({ - "requested_guard_port": codex_plus_core::ports::MANAGER_GUARD_PORT, + "requested_guard_port": codex_plus_core::ports::manager_guard_port(), "fallback_lock_path": fallback_lock_path }), ); @@ -255,7 +255,7 @@ fn acquire_single_instance_guard() -> Option Option Option u16 { + // env var exact port takes priority (caller handles it via override functions below) + #[cfg(windows)] + { + if let Ok(user) = std::env::var("USERNAME") { + let hash: u16 = user.bytes().fold(0u16, |acc, b| acc.wrapping_add(b as u16)); + return hash % 1000; + } + } + 0 +} + +/// Effective launcher guard port (base + auto-offset, overridable via env var). +pub fn launcher_guard_port() -> u16 { + if let Some(port) = std::env::var("CODEX_PLUS_GUARD_PORT") + .or_else(|_| std::env::var("CODEX_PLUS_LAUNCHER_GUARD_PORT")) + .ok() + .and_then(|v| v.parse::().ok()) + { + return port; + } + if let Some(offset) = std::env::var("CODEX_PLUS_GUARD_PORT_OFFSET") + .ok() + .and_then(|v| v.parse::().ok()) + { + return LAUNCHER_GUARD_PORT_BASE + offset; + } + LAUNCHER_GUARD_PORT_BASE + guard_port_offset() +} + +/// Effective manager guard port (base + auto-offset, overridable via env var). +pub fn manager_guard_port() -> u16 { + if let Some(port) = std::env::var("CODEX_PLUS_GUARD_PORT") + .or_else(|_| std::env::var("CODEX_PLUS_MANAGER_GUARD_PORT")) + .ok() + .and_then(|v| v.parse::().ok()) + { + return port; + } + if let Some(offset) = std::env::var("CODEX_PLUS_GUARD_PORT_OFFSET") + .ok() + .and_then(|v| v.parse::().ok()) + { + return MANAGER_GUARD_PORT_BASE + offset; + } + MANAGER_GUARD_PORT_BASE + guard_port_offset() +} pub fn select_platform_loopback_port(requested: u16) -> u16 { select_platform_loopback_port_with( @@ -262,4 +318,69 @@ mod tests { .unwrap_err(); assert_eq!(second.kind(), std::io::ErrorKind::WouldBlock); } + + #[test] + fn launcher_guard_port_returns_base_when_no_env_override() { + _clear_guard_port_env_vars(); + let port = launcher_guard_port(); + // On non-Windows: LAUNCHER_GUARD_PORT_BASE + 0 + // On Windows: LAUNCHER_GUARD_PORT_BASE + USERNAME hash mod 1000 + assert!(port >= LAUNCHER_GUARD_PORT_BASE); + assert!(port < LAUNCHER_GUARD_PORT_BASE + 1000); + } + + #[test] + fn manager_guard_port_returns_base_when_no_env_override() { + _clear_guard_port_env_vars(); + let port = manager_guard_port(); + assert!(port >= MANAGER_GUARD_PORT_BASE); + assert!(port < MANAGER_GUARD_PORT_BASE + 1000); + } + + #[test] + fn launcher_guard_port_honors_env_override() { + _clear_guard_port_env_vars(); + unsafe { std::env::set_var("CODEX_PLUS_GUARD_PORT", "9999") }; + let port = launcher_guard_port(); + unsafe { std::env::remove_var("CODEX_PLUS_GUARD_PORT") }; + assert_eq!(port, 9999); + } + + #[test] + fn launcher_guard_port_honors_specific_env_override() { + _clear_guard_port_env_vars(); + unsafe { std::env::set_var("CODEX_PLUS_LAUNCHER_GUARD_PORT", "8888") }; + let port = launcher_guard_port(); + unsafe { std::env::remove_var("CODEX_PLUS_LAUNCHER_GUARD_PORT") }; + assert_eq!(port, 8888); + } + + #[test] + fn manager_guard_port_honors_specific_env_override() { + _clear_guard_port_env_vars(); + unsafe { std::env::set_var("CODEX_PLUS_MANAGER_GUARD_PORT", "7777") }; + let port = manager_guard_port(); + unsafe { std::env::remove_var("CODEX_PLUS_MANAGER_GUARD_PORT") }; + assert_eq!(port, 7777); + } + + #[test] + fn launcher_guard_port_honors_offset_env() { + _clear_guard_port_env_vars(); + unsafe { std::env::set_var("CODEX_PLUS_GUARD_PORT_OFFSET", "50") }; + let port = launcher_guard_port(); + unsafe { std::env::remove_var("CODEX_PLUS_GUARD_PORT_OFFSET") }; + assert_eq!(port, LAUNCHER_GUARD_PORT_BASE + 50); + } +} + +/// Clear all guard-port env vars to prevent cross-test contamination +/// when cargo runs tests in parallel threads. +fn _clear_guard_port_env_vars() { + unsafe { + let _ = std::env::remove_var("CODEX_PLUS_GUARD_PORT"); + let _ = std::env::remove_var("CODEX_PLUS_LAUNCHER_GUARD_PORT"); + let _ = std::env::remove_var("CODEX_PLUS_MANAGER_GUARD_PORT"); + let _ = std::env::remove_var("CODEX_PLUS_GUARD_PORT_OFFSET"); + } } From e0d77c33ffdf3904bb2d55a5c831a07f2ec27926 Mon Sep 17 00:00:00 2001 From: lumokato <36914663+lumokato@users.noreply.github.com> Date: Mon, 29 Jun 2026 04:01:06 +0800 Subject: [PATCH 137/156] fix: prefer threads database for session path selection Prefer SQLite databases containing the threads table for thread-specific operations, falling back to the previous behavior when no threads database exists. --- crates/codex-plus-core/src/codex_sqlite.rs | 35 ++++++++++++-------- crates/codex-plus-core/tests/relay_config.rs | 33 ++++++++++++++++++ 2 files changed, 55 insertions(+), 13 deletions(-) diff --git a/crates/codex-plus-core/src/codex_sqlite.rs b/crates/codex-plus-core/src/codex_sqlite.rs index 72cd1cb67..1a9716fb2 100644 --- a/crates/codex-plus-core/src/codex_sqlite.rs +++ b/crates/codex-plus-core/src/codex_sqlite.rs @@ -13,9 +13,16 @@ pub fn codex_session_db_path() -> PathBuf { } pub fn codex_session_db_path_from_home(home: &Path) -> PathBuf { - codex_sqlite_dir_session_dbs(home) - .into_iter() - .next() + let mut paths = codex_sqlite_dir_session_dbs(home); + let legacy = legacy_state_db_path(home); + if !paths.iter().any(|path| path == &legacy) { + paths.push(legacy.clone()); + } + paths + .iter() + .find(|path| sqlite_has_table(path, "threads")) + .cloned() + .or_else(|| paths.into_iter().next()) .unwrap_or_else(|| legacy_state_db_path(home)) } @@ -80,20 +87,22 @@ fn is_sqlite_candidate(path: &Path) -> bool { } fn has_session_table(path: &Path) -> bool { + ["threads", "automation_runs", "inbox_items"] + .iter() + .any(|table| sqlite_has_table(path, table)) +} + +fn sqlite_has_table(path: &Path, table: &str) -> bool { let Ok(db) = Connection::open_with_flags(path, rusqlite::OpenFlags::SQLITE_OPEN_READ_ONLY) else { return false; }; - ["threads", "automation_runs", "inbox_items"] - .iter() - .any(|table| { - db.query_row( - "SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?1 LIMIT 1", - [table], - |_| Ok(()), - ) - .is_ok() - }) + db.query_row( + "SELECT 1 FROM sqlite_master WHERE type = 'table' AND name = ?1 LIMIT 1", + [table], + |_| Ok(()), + ) + .is_ok() } #[derive(Debug, Clone, Copy, Default, PartialEq, Eq)] diff --git a/crates/codex-plus-core/tests/relay_config.rs b/crates/codex-plus-core/tests/relay_config.rs index aa2def52f..e97fd4d68 100644 --- a/crates/codex-plus-core/tests/relay_config.rs +++ b/crates/codex-plus-core/tests/relay_config.rs @@ -59,6 +59,39 @@ fn codex_session_db_path_accepts_new_automation_runs_schema() { assert_eq!(codex_session_db_path_from_home(home), selected_path); } +#[test] +fn codex_session_db_path_prefers_threads_db_over_codex_dev_inbox_db() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path(); + let sqlite_dir = home.join("sqlite"); + std::fs::create_dir(&sqlite_dir).unwrap(); + + let inbox_path = sqlite_dir.join("codex-dev.db"); + let inbox = rusqlite::Connection::open(&inbox_path).unwrap(); + inbox + .execute( + "CREATE TABLE automation_runs (thread_id TEXT PRIMARY KEY)", + [], + ) + .unwrap(); + inbox + .execute("CREATE TABLE inbox_items (id TEXT PRIMARY KEY)", []) + .unwrap(); + drop(inbox); + + let threads_path = sqlite_dir.join("state_5.sqlite"); + let threads = rusqlite::Connection::open(&threads_path).unwrap(); + threads + .execute( + "CREATE TABLE threads (id TEXT PRIMARY KEY, rollout_path TEXT, cwd TEXT, title TEXT)", + [], + ) + .unwrap(); + drop(threads); + + assert_eq!(codex_session_db_path_from_home(home), threads_path); +} + #[test] fn codex_session_db_path_falls_back_to_legacy_state_db() { let temp = tempfile::tempdir().unwrap(); From a114ae5ca7a6ca4e798482fc943848df0ccffabb Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Mon, 29 Jun 2026 15:32:45 +0800 Subject: [PATCH 138/156] release: prepare v1.2.24 --- Cargo.lock | 20 +- Cargo.toml | 3 +- apps/codex-plus-manager/package-lock.json | 4 +- apps/codex-plus-manager/package.json | 2 +- .../src-tauri/icons/icon.ico | Bin 142431 -> 62357 bytes .../src-tauri/icons/icon.png | Bin 40281 -> 37421 bytes apps/codex-plus-manager/src-tauri/src/lib.rs | 57 +- .../src-tauri/tauri.conf.json | 2 +- .../src-tauri/tests/windows_subsystem.rs | 38 + apps/codex-plus-manager/src/App.tsx | 376 +- .../src/model-windows.test.ts | 21 + apps/codex-plus-manager/src/model-windows.ts | 19 +- assets/inject/renderer-inject.js | 105 +- crates/codex-plus-core/Cargo.toml | 3 + crates/codex-plus-core/src/assets.rs | 70 +- crates/codex-plus-core/src/launcher.rs | 6365 ++++++----------- crates/codex-plus-core/src/lib.rs | 8 + .../codex-plus-core/src/plugin_marketplace.rs | 59 +- crates/codex-plus-core/src/settings.rs | 41 +- .../src/upstream_worktree/remote/tests.rs | 7 +- crates/codex-plus-core/src/watcher.rs | 18 +- .../src/windows_integration.rs | 158 +- crates/codex-plus-core/tests/cdp_bridge.rs | 18 +- .../tests/force_chinese_locale_settings.rs | 12 + crates/codex-plus-core/tests/launcher.rs | 2718 +++---- crates/codex-plus-core/tests/watcher.rs | 34 +- 26 files changed, 4262 insertions(+), 5896 deletions(-) diff --git a/Cargo.lock b/Cargo.lock index 312b3bc3d..f42d5cbb8 100644 --- a/Cargo.lock +++ b/Cargo.lock @@ -406,7 +406,7 @@ dependencies = [ [[package]] name = "codex-plus-core" -version = "1.2.23" +version = "1.2.24" dependencies = [ "aes-gcm", "anyhow", @@ -433,7 +433,7 @@ dependencies = [ [[package]] name = "codex-plus-data" -version = "1.2.23" +version = "1.2.24" dependencies = [ "anyhow", "base64 0.22.1", @@ -449,7 +449,7 @@ dependencies = [ [[package]] name = "codex-plus-launcher" -version = "1.2.23" +version = "1.2.24" dependencies = [ "anyhow", "async-trait", @@ -463,7 +463,7 @@ dependencies = [ [[package]] name = "codex-plus-manager" -version = "1.2.23" +version = "1.2.24" dependencies = [ "anyhow", "async-trait", @@ -479,18 +479,6 @@ dependencies = [ "tempfile", ] -[[package]] -name = "codex-plus-mobile-relay" -version = "1.2.23" -dependencies = [ - "anyhow", - "futures-util", - "serde", - "serde_json", - "tokio", - "tokio-tungstenite", -] - [[package]] name = "combine" version = "4.6.7" diff --git a/Cargo.toml b/Cargo.toml index ff8b06629..d121c4fcf 100644 --- a/Cargo.toml +++ b/Cargo.toml @@ -4,12 +4,11 @@ members = [ "crates/codex-plus-core", "crates/codex-plus-data", "apps/codex-plus-launcher", - "apps/codex-plus-mobile-relay", "apps/codex-plus-manager/src-tauri", ] [workspace.package] -version = "1.2.23" +version = "1.2.24" edition = "2024" license = "MIT" repository = "https://github.com/BigPizzaV3/CodexPlusPlus" diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 685c17111..b65f79df2 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -1,12 +1,12 @@ { "name": "codex-plus-manager", - "version": "1.2.23", + "version": "1.2.24", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "codex-plus-manager", - "version": "1.2.23", + "version": "1.2.24", "dependencies": { "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 25061593a..192124a4d 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -1,6 +1,6 @@ { "name": "codex-plus-manager", - "version": "1.2.23", + "version": "1.2.24", "private": true, "type": "module", "scripts": { diff --git a/apps/codex-plus-manager/src-tauri/icons/icon.ico b/apps/codex-plus-manager/src-tauri/icons/icon.ico index 8433b68787c4926670bf9361cc05fb3803d4b908..25bd61f62b00bb3c481b9bbc3e4a8014e320733b 100644 GIT binary patch literal 62357 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 z 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
0=XZw0*X#FQGB_8#(WNg>vFjMO%g7< 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 JPDHLkV1nDXa>W1u literal 142431 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 Hu0mjf@SzUL literal 40281 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

&ZBh@scDY+JJhU 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: &tauri::App) -> tauri::Result<()> { Ok(()) } -fn register_main_window_events( - window: tauri::WebviewWindow, - app_handle: tauri::AppHandle, -) { +fn register_main_window_events(window: tauri::WebviewWindow) { let event_window = window.clone(); - let dialog_window = window.clone(); - let dialog_app_handle = app_handle.clone(); let minimized_window = event_window.clone(); + let close_event_window = event_window.clone(); event_window.on_window_event(move |event| match event { WindowEvent::Resized(_) => { @@ -178,30 +178,23 @@ fn register_main_window_events( } api.prevent_close(); - let app_for_decision = dialog_app_handle.clone(); - let window_for_decision = dialog_window.clone(); - dialog_app_handle - .dialog() - .message("要退出 Codex++ 管理工具,还是最小化到系统托盘?") - .title("关闭确认") - .kind(MessageDialogKind::Info) - .buttons(MessageDialogButtons::OkCancelCustom( - "退出程序".into(), - "最小化到托盘".into(), - )) - .show(move |should_exit| { - if should_exit { - APP_EXITING.store(true, Ordering::SeqCst); - app_for_decision.exit(0); - } else { - let _ = window_for_decision.hide(); - } - }); + let _ = close_event_window.emit("manager://close-requested", ()); } _ => {} }); } +#[tauri::command] +fn manager_exit_app(app: tauri::AppHandle) { + APP_EXITING.store(true, Ordering::SeqCst); + app.exit(0); +} + +#[tauri::command] +fn manager_hide_to_tray(window: tauri::WebviewWindow) { + let _ = window.hide(); +} + fn show_main_window(app_handle: &tauri::AppHandle) { if let Some(window) = app_handle.get_webview_window("main") { let _ = window.unminimize(); diff --git a/apps/codex-plus-manager/src-tauri/tauri.conf.json b/apps/codex-plus-manager/src-tauri/tauri.conf.json index c63ae0ea2..5fb5a8dc3 100644 --- a/apps/codex-plus-manager/src-tauri/tauri.conf.json +++ b/apps/codex-plus-manager/src-tauri/tauri.conf.json @@ -1,7 +1,7 @@ { "$schema": "https://schema.tauri.app/config/2", "productName": "Codex++ Manager", - "version": "1.2.23", + "version": "1.2.24", "identifier": "com.bigpizzav3.codexplusplus.manager", "build": { "beforeDevCommand": "npm run vite:dev", diff --git a/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs b/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs index 8dad0539d..79c869dcc 100644 --- a/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs +++ b/apps/codex-plus-manager/src-tauri/tests/windows_subsystem.rs @@ -31,6 +31,32 @@ fn manager_uses_single_instance_guard_before_starting_tauri() { assert!(lib_rs.contains("manager.already_running")); } +#[test] +fn manager_main_window_uses_default_window_icon_explicitly() { + let lib_rs = std::fs::read_to_string(concat!(env!("CARGO_MANIFEST_DIR"), "/src/lib.rs")) + .expect("read manager lib.rs"); + + assert!(lib_rs.contains("main_window_builder")); + assert!(lib_rs.contains("app.default_window_icon().cloned()")); + assert!(lib_rs.contains("main_window_builder = main_window_builder.icon(icon)?")); +} + +#[test] +fn manager_close_confirmation_is_rendered_in_app() { + let lib_rs = std::fs::read_to_string(concat!(env!("CARGO_MANIFEST_DIR"), "/src/lib.rs")) + .expect("read manager lib.rs"); + let manifest_dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")); + let app_tsx = manifest_dir.parent().unwrap().join("src/App.tsx"); + let app_tsx = std::fs::read_to_string(&app_tsx).expect("read manager App.tsx"); + + assert!(!lib_rs.contains("MessageDialogButtons")); + assert!(!lib_rs.contains(".dialog()")); + assert!(lib_rs.contains("manager://close-requested")); + assert!(app_tsx.contains("CloseConfirmDialog")); + assert!(app_tsx.contains("manager_exit_app")); + assert!(app_tsx.contains("manager_hide_to_tray")); +} + #[test] fn manager_queues_codexplusplus_provider_urls_for_confirmation_on_startup() { let main_rs = std::fs::read_to_string(concat!(env!("CARGO_MANIFEST_DIR"), "/src/main.rs")) @@ -287,3 +313,15 @@ fn provider_presets_include_runapi() { assert!(presets.contains("category: \"aggregator\"")); assert!(presets.contains("baseUrl: \"https://runapi.co/v1\"")); } + +#[test] +fn manager_no_longer_exposes_mobile_control() { + let manifest_dir = std::path::Path::new(env!("CARGO_MANIFEST_DIR")); + let app_tsx = manifest_dir.parent().unwrap().join("src/App.tsx"); + let app_tsx = std::fs::read_to_string(&app_tsx).expect("read manager App.tsx"); + + assert!(!app_tsx.contains("mobileControl")); + assert!(!app_tsx.contains("手机控制")); + assert!(!app_tsx.contains("mobileRelayServers")); + assert!(!app_tsx.contains("MobileControlScreen")); +} diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 8a8040d82..5cb6b062a 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -15,6 +15,7 @@ import { } from "@dnd-kit/sortable"; import { CSS } from "@dnd-kit/utilities"; import { invoke } from "@tauri-apps/api/core"; +import { listen } from "@tauri-apps/api/event"; import { open } from "@tauri-apps/plugin-dialog"; import { ArrowLeft, @@ -60,6 +61,7 @@ import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { + mergeModelWindowRows, modelWindowRowsFromProfile, serializeModelWindowRows, type ModelWindowRow, @@ -131,6 +133,7 @@ type BackendSettings = { codexAppMarkdownExport: boolean; codexAppPasteFix: boolean; codexAppForceChineseLocale: boolean; + codexAppFastStartup: boolean; codexAppProjectMove: boolean; codexAppThreadIdBadge: boolean; codexAppConversationView: boolean; @@ -147,10 +150,6 @@ type BackendSettings = { codexAppImageOverlayPath: string; codexAppImageOverlayOpacity: number; codexGoalsEnabled: boolean; - mobileControlEnabled: boolean; - mobileControlRelayUrl: string; - mobileControlRoom: string; - mobileControlKey: string; launchMode: LaunchMode; relayBaseUrl: string; relayApiKey: string; @@ -242,13 +241,6 @@ type RelayMode = "official" | "mixedApi" | "pureApi" | "aggregate"; const PROTOCOL_PROXY_BASE_URL = "http://127.0.0.1:57321/v1"; const CHAT_UPSTREAM_BASE_URL_KEY = "codex_plus_chat_base_url"; const SCRIPT_MARKET_REPOSITORY_URL = "https://github.com/BigPizzaV3/CodexPlusPlusScriptMarket"; -const LOCAL_MOBILE_RELAY_URL = "ws://127.0.0.1:57323"; -const PUBLIC_MOBILE_RELAY_URL = "ws://154.201.90.76:57323"; - -const mobileRelayServers = [ - { id: "local", label: "本机测试", url: LOCAL_MOBILE_RELAY_URL, capacity: 100 }, - { id: "public-154", label: "公共服务器 1", url: PUBLIC_MOBILE_RELAY_URL, capacity: 100 }, -]; const emptyContextSelection = (): RelayContextSelection => ({ mcpServers: [], @@ -600,13 +592,12 @@ type StartupResult = CommandResult<{ showUpdate: boolean; }>; -type Route = "overview" | "relay" | "mobileControl" | "sessions" | "context" | "enhance" | "zedRemote" | "userScripts" | "recommendations" | "maintenance" | "about" | "settings"; +type Route = "overview" | "relay" | "sessions" | "context" | "enhance" | "zedRemote" | "userScripts" | "recommendations" | "maintenance" | "about" | "settings"; type Theme = "dark" | "light"; const routes: Array<{ id: Route; label: string; icon: LucideIcon; badge?: string }> = [ { id: "overview", label: "概览", icon: LayoutDashboard }, { id: "relay", label: "供应商配置", icon: KeyRound }, - { id: "mobileControl", label: "手机控制", icon: MessageCircle, badge: "测试版" }, { id: "sessions", label: "会话管理", icon: MessageCircle }, { id: "context", label: "工具与插件", icon: Network }, { id: "enhance", label: "Codex增强", icon: Hammer }, @@ -636,6 +627,7 @@ const defaultSettings: BackendSettings = { codexAppMarkdownExport: true, codexAppPasteFix: false, codexAppForceChineseLocale: true, + codexAppFastStartup: true, codexAppProjectMove: true, codexAppThreadIdBadge: false, codexAppConversationView: false, @@ -652,10 +644,6 @@ const defaultSettings: BackendSettings = { codexAppImageOverlayPath: "", codexAppImageOverlayOpacity: 35, codexGoalsEnabled: false, - mobileControlEnabled: false, - mobileControlRelayUrl: LOCAL_MOBILE_RELAY_URL, - mobileControlRoom: "", - mobileControlKey: "", launchMode: "patch", relayBaseUrl: "", relayApiKey: "", @@ -706,6 +694,7 @@ export function App() { cancelText: string; resolve: (confirmed: boolean) => void; } | null>(null); + const [closeConfirmOpen, setCloseConfirmOpen] = useState(false); const [overview, setOverview] = useState(null); const [settings, setSettings] = useState(null); const [relay, setRelay] = useState(null); @@ -1656,6 +1645,34 @@ export function App() { setNotice({ title, message, status }); }; + useEffect(() => { + let active = true; + let unlisten: (() => void) | null = null; + void listen("manager://close-requested", () => { + setCloseConfirmOpen(true); + }).then((cleanup) => { + if (active) { + unlisten = cleanup; + } else { + cleanup(); + } + }); + return () => { + active = false; + unlisten?.(); + }; + }, []); + + const exitManagerApp = async () => { + setCloseConfirmOpen(false); + await call("manager_exit_app"); + }; + + const hideManagerToTray = async () => { + setCloseConfirmOpen(false); + await call("manager_hide_to_tray"); + }; + const showResultNotice = ( title: string, result: Pick, "message" | "status">, @@ -1952,9 +1969,6 @@ export function App() { actions={actions} /> ) : null} - {route === "mobileControl" ? ( - - ) : null} {route === "sessions" ? ( ) : null} + {closeConfirmOpen ? ( + void exitManagerApp()} + onHide={() => void hideManagerToTray()} + onCancel={() => setCloseConfirmOpen(false)} + /> + ) : null} {pluginMarketplacePrompt ? ( Promise; }; -type MobileRelayRoomStatus = { - room: string; - hostOnline: boolean; - clientOnline: boolean; - connections: number; - ageSeconds: number; - forwardedMessages: number; - forwardedBytes: number; -}; - -type MobileRelayStatus = { - status: string; - service: string; - version: string; - uptimeSeconds: number; - rooms: number; - activeConnections: number; - totalConnections: number; - forwardedMessages: number; - forwardedBytes: number; - roomDetails: MobileRelayRoomStatus[]; -}; - -function MobileControlScreen({ - form, - onFormChange, - actions, -}: { - form: BackendSettings; - onFormChange: (value: BackendSettings) => void; - actions: Actions; -}) { - const [serverStatuses, setServerStatuses] = useState>({}); - const [statusMessage, setStatusMessage] = useState("尚未刷新"); - const [loadingStatus, setLoadingStatus] = useState(false); - const mobileUrl = mobileRelayShareUrl(form); - const selectedServerId = - mobileRelayServers.find((server) => server.url === form.mobileControlRelayUrl)?.id || mobileRelayServers[0].id; - const selectedServer = mobileRelayServers.find((server) => server.id === selectedServerId) ?? mobileRelayServers[0]; - const selectedStatus = serverStatuses[selectedServer.id] ?? null; - const serverCapacity = selectedServer?.capacity ?? 100; - const serverLoad = selectedStatus?.activeConnections ?? 0; - const saveMobileSettings = async (next: BackendSettings, silent = true) => { - onFormChange(next); - await actions.saveSettingsValue(next, silent); - }; - const selectRelayServer = (serverId: string) => { - const server = mobileRelayServers.find((item) => item.id === serverId); - if (!server) return; - onFormChange({ ...form, mobileControlRelayUrl: server.url }); - }; - const startAndCopyMobileLink = async () => { - const room = form.mobileControlRoom.trim() || randomToken(8); - const key = form.mobileControlKey.trim() || randomToken(32); - const relayUrl = selectedServer.url; - const next = { - ...form, - mobileControlEnabled: true, - mobileControlRelayUrl: relayUrl, - mobileControlRoom: room, - mobileControlKey: key, - }; - await saveMobileSettings(next, true); - const link = mobileRelayShareUrl(next); - if (!link) { - await actions.showMessage("手机控制", "服务器地址无效,无法生成手机链接。", "failed"); - return; - } - await actions.launch(); - try { - await navigator.clipboard?.writeText(link); - await actions.showMessage("手机控制", "已启动并复制手机链接。"); - } catch (error) { - await actions.showMessage("手机控制", `已启动,但复制链接失败:${stringifyError(error)}`, "failed"); - } - }; - const refreshRelayStatus = async () => { - setLoadingStatus(true); - const entries = await Promise.all(mobileRelayServers.map(async (server) => { - const httpUrl = mobileRelayHttpUrl(server.url); - try { - const response = await fetch(`${httpUrl}/status`, { cache: "no-store" }); - if (!response.ok) throw new Error(`HTTP ${response.status}`); - return [server.id, (await response.json()) as MobileRelayStatus, ""] as const; - } catch (error) { - return [server.id, null, `${server.label}: ${error instanceof Error ? error.message : "刷新失败"}`] as const; - } - })); - setServerStatuses(Object.fromEntries(entries.map(([id, data]) => [id, data]))); - const failed = entries.map(([, , error]) => error).filter(Boolean); - setStatusMessage(failed.length ? failed.join(";") : "状态已刷新"); - setLoadingStatus(false); - }; - useEffect(() => { - void refreshRelayStatus(); - }, []); - useEffect(() => { - if (!mobileRelayServers.some((server) => server.url === form.mobileControlRelayUrl)) { - onFormChange({ ...form, mobileControlRelayUrl: mobileRelayServers[0].url }); - } - }, [form.mobileControlRelayUrl]); - return ( - <> - - - -
- {mobileRelayServers.map((server) => { - const isActive = selectedServerId === server.id; - const itemStatus = serverStatuses[server.id] ?? null; - const load = itemStatus?.activeConnections ?? 0; - return ( - - ); - })} -
-
- - -
- - - - - -
-
- - - -
-
-
- {mobileUrl || "未生成手机入口"} - {mobileUrl ? "手机打开后会自动填入房间和 Key 并尝试连接。" : "选择服务器并启动后会生成手机入口。"} -
- {mobileUrl ? ( - - ) : null} -
-
-
-
- - - - {selectedStatus ? ( - <> -
-
- -
- 在线连接 - {selectedStatus.activeConnections} 个在线连接,累计 {selectedStatus.totalConnections} 次连接。 -
- -
-
- -
- 房间数量 - {selectedStatus.rooms} 个房间,已转发 {selectedStatus.forwardedMessages} 条消息。 -
- -
-
-
- {selectedStatus.roomDetails.map((room) => ( -
-
-
- {room.room} - - host {room.hostOnline ? "在线" : "离线"} / client {room.clientOnline ? "在线" : "离线"}, - {room.connections} 个连接,{formatBytes(room.forwardedBytes)} - -
- -
-
- ))} -
- - ) : ( -

点击“刷新服务器状态”查看 relay 负载、在线用户和房间连接情况。

- )} -
-
- - ); -} - function OverviewScreen({ overview, pluginMarketplaceProgress, @@ -2740,6 +2519,7 @@ function EnhanceScreen({ setEnhanceFlag("codexAppMarkdownExport", value)} /> setEnhanceFlag("codexAppPasteFix", value)} /> setEnhanceFlag("codexAppForceChineseLocale", value)} /> + setEnhanceFlag("codexAppFastStartup", value)} /> setEnhanceFlag("codexAppProjectMove", value)} /> setEnhanceFlag("codexAppThreadIdBadge", value)} /> setEnhanceFlag("codexAppConversationView", value)} /> @@ -3983,8 +3763,7 @@ function RelayProfileEditor({ setModelWindowRows(nextRows.length ? nextRows : [{ model: "", window: "" }]); }; const addModelWindowRows = (rows: ModelWindowRow[]) => { - const existingRows = modelWindowRows.filter((row) => row.model.trim() || row.window.trim()); - setModelWindowRows([...existingRows, ...rows]); + setModelWindowRows(mergeModelWindowRows(modelWindowRows, rows)); }; return (
@@ -4770,40 +4549,6 @@ function FeatureToggle({ ); } -function randomToken(byteLength = 24) { - const bytes = new Uint8Array(byteLength); - crypto.getRandomValues(bytes); - return Array.from(bytes, (byte) => byte.toString(16).padStart(2, "0")).join(""); -} - -function mobileRelayHttpUrl(value: string) { - const trimmed = value.trim(); - if (!trimmed) return ""; - const withScheme = /^[a-z]+:\/\//i.test(trimmed) ? trimmed : `ws://${trimmed}`; - try { - const url = new URL(withScheme); - url.protocol = url.protocol === "wss:" || url.protocol === "https:" ? "https:" : "http:"; - url.pathname = ""; - url.search = ""; - url.hash = ""; - return url.toString().replace(/\/$/, ""); - } catch { - return ""; - } -} - -function mobileRelayShareUrl(settings: Pick) { - const base = mobileRelayHttpUrl(settings.mobileControlRelayUrl); - const room = settings.mobileControlRoom.trim(); - const key = settings.mobileControlKey.trim(); - if (!base || !room || !key) return ""; - const url = new URL(`${base}/mobile`); - url.searchParams.set("room", room); - url.searchParams.set("key", key); - url.searchParams.set("auto", "1"); - return url.toString(); -} - function formatBytes(bytes: number) { if (!Number.isFinite(bytes) || bytes <= 0) return "0 B"; const units = ["B", "KB", "MB", "GB"]; @@ -4889,6 +4634,40 @@ function ConfirmDialog({ ); } +function CloseConfirmDialog({ + onExit, + onHide, + onCancel, +}: { + onExit: () => void; + onHide: () => void; + onCancel: () => void; +}) { + return ( +
+
+
+
+

关闭确认

+

要退出 Codex++ 管理工具,还是最小化到系统托盘?

+
+ +
+ + + + +
+
+ ); +} + function PluginMarketplacePromptDialog({ status, progress, @@ -5120,7 +4899,6 @@ function routeSubtitle(route: Route) { const subtitles: Record = { overview: "检查问题、启动与快速修复", relay: "管理 API 供应商、协议、Key 与配置文件", - mobileControl: "配置手机控制 relay、房间密钥和服务器状态", sessions: "查看、删除和修复 Codex 本地会话", context: "独立管理 MCP、Skills、Plugins", enhance: "会话删除、导出、项目移动和脚本能力", diff --git a/apps/codex-plus-manager/src/model-windows.test.ts b/apps/codex-plus-manager/src/model-windows.test.ts index 9fc5b5ba2..9f995cea7 100644 --- a/apps/codex-plus-manager/src/model-windows.test.ts +++ b/apps/codex-plus-manager/src/model-windows.test.ts @@ -7,6 +7,7 @@ import { modelWindowsMapToText, modelWindowsTextToMap, serializeModelWindowRows, + mergeModelWindowRows, } from "./model-windows.ts"; // 类型检查:确保 RelayProfile 包含 modelWindows 字段 @@ -102,4 +103,24 @@ describe("model-windows helpers", () => { }, ); }); + + it("mergeModelWindowRows 追加上游模型时跳过已有模型并保留窗口", () => { + assert.deepStrictEqual( + mergeModelWindowRows( + [ + { model: "deepseek-v4-flash", window: "1M" }, + { model: " ", window: "" }, + ], + [ + { model: "deepseek-v4-flash", window: "" }, + { model: "deepseek-v4-pro", window: "" }, + { model: " deepseek-v4-pro ", window: "200K" }, + ], + ), + [ + { model: "deepseek-v4-flash", window: "1M" }, + { model: "deepseek-v4-pro", window: "" }, + ], + ); + }); }); diff --git a/apps/codex-plus-manager/src/model-windows.ts b/apps/codex-plus-manager/src/model-windows.ts index eea27319a..3dd46a7cc 100644 --- a/apps/codex-plus-manager/src/model-windows.ts +++ b/apps/codex-plus-manager/src/model-windows.ts @@ -29,6 +29,23 @@ export type ModelWindowRow = { window: string; }; +export function mergeModelWindowRows( + currentRows: ModelWindowRow[], + incomingRows: ModelWindowRow[], +): ModelWindowRow[] { + const rows: ModelWindowRow[] = []; + const seen = new Set(); + const append = (row: ModelWindowRow) => { + const model = row.model.trim(); + if (!model || seen.has(model)) return; + seen.add(model); + rows.push({ model, window: row.window.trim() }); + }; + currentRows.forEach(append); + incomingRows.forEach(append); + return rows.length ? rows : [{ model: "", window: "" }]; +} + export function modelWindowRowsFromProfile(modelList: string, modelWindows: string): ModelWindowRow[] { let map: Record = {}; try { @@ -47,7 +64,7 @@ export function modelWindowRowsFromProfile(modelList: string, modelWindows: stri export function serializeModelWindowRows(rows: ModelWindowRow[]): { modelList: string; modelWindows: string } { const modelList: string[] = []; const modelWindows: Record = {}; - rows.forEach((row) => { + mergeModelWindowRows(rows, []).forEach((row) => { const model = row.model.trim(); if (!model) return; modelList.push(model); diff --git a/assets/inject/renderer-inject.js b/assets/inject/renderer-inject.js index ea77378b0..3d8bf5a72 100644 --- a/assets/inject/renderer-inject.js +++ b/assets/inject/renderer-inject.js @@ -1,4 +1,95 @@ (() => { + function installCodexPlusFastStartup() { + const config = window.__CODEX_PLUS_FAST_STARTUP__; + if (!config || config.enabled !== true) return; + if (window.__codexPlusFastStartupInstalled === "1") return; + window.__codexPlusFastStartupInstalled = "1"; + const timeoutMs = Math.max(100, Math.min(Number(config.statsigTimeoutMs) || 800, 3000)); + const statsigHosts = new Set([ + "ab.chatgpt.com", + "featureassets.org", + "prodregistryv2.org", + "api.statsigcdn.com", + "statsigapi.net", + "cloudflare-dns.com", + ]); + + const isStatsigUrl = (input) => { + try { + const url = new URL(typeof input === "string" ? input : input?.url ?? "", window.location.href); + return statsigHosts.has(url.hostname); + } catch { + return false; + } + }; + + const timeoutSignal = (signal) => { + const controller = new AbortController(); + const timer = window.setTimeout(() => controller.abort(), timeoutMs); + const clear = () => window.clearTimeout(timer); + if (signal) { + if (signal.aborted) controller.abort(); + else signal.addEventListener("abort", () => controller.abort(), { once: true }); + } + return { signal: controller.signal, clear }; + }; + + const patchFetch = () => { + if (typeof window.fetch !== "function" || window.fetch.__codexPlusFastStartupPatched) return; + const originalFetch = window.fetch.bind(window); + const patchedFetch = (input, init = undefined) => { + if (!isStatsigUrl(input)) return originalFetch(input, init); + const { signal, clear } = timeoutSignal(init?.signal); + const nextInit = { ...(init || {}), signal }; + return originalFetch(input, nextInit).finally(clear); + }; + patchedFetch.__codexPlusFastStartupPatched = true; + window.fetch = patchedFetch; + }; + + const markStatsigReady = (client) => { + if (!client || typeof client !== "object" || client.__codexPlusFastStartupReadyPatched) return; + client.__codexPlusFastStartupReadyPatched = true; + const markReady = () => { + try { + if (client.loadingStatus && client.loadingStatus !== "Ready") client.loadingStatus = "Ready"; + } catch { + } + try { + if (typeof client.$emt === "function") client.$emt({ name: "values_updated" }); + } catch { + } + }; + if (typeof client.initializeAsync === "function") { + const originalInitializeAsync = client.initializeAsync.bind(client); + client.initializeAsync = (...args) => Promise.race([ + originalInitializeAsync(...args).catch(() => null), + new Promise((resolve) => window.setTimeout(() => resolve(null), timeoutMs)), + ]).finally(markReady); + } + markReady(); + }; + + const statsigClients = () => { + const root = window.__STATSIG__ || globalThis.__STATSIG__; + if (!root || typeof root !== "object") return []; + const clients = [root.firstInstance, typeof root.instance === "function" ? root.instance() : null]; + if (root.instances && typeof root.instances === "object") clients.push(...Object.values(root.instances)); + return clients.filter((client, index, array) => client && typeof client === "object" && array.indexOf(client) === index); + }; + + const patchStatsigRoot = () => statsigClients().forEach(markStatsigReady); + + patchFetch(); + patchStatsigRoot(); + const startedAt = Date.now(); + const timer = window.setInterval(() => { + patchFetch(); + patchStatsigRoot(); + if (Date.now() - startedAt > 5000) window.clearInterval(timer); + }, 50); + } + function installCodexPlusForceChineseLocale() { const config = window.__CODEX_PLUS_FORCE_CHINESE_LOCALE__; if (!config || config.enabled !== true) return; @@ -138,6 +229,7 @@ }, 50); } + installCodexPlusFastStartup(); installCodexPlusForceChineseLocale(); const helperBase = window.__CODEX_SESSION_DELETE_HELPER__ || "http://127.0.0.1:57321"; @@ -2766,9 +2858,14 @@ } const next = { ...params }; const hadMarketplaceKinds = Object.prototype.hasOwnProperty.call(next, "marketplaceKinds"); - if (hadMarketplaceKinds) delete next.marketplaceKinds; + const nextKinds = Array.isArray(next.marketplaceKinds) + ? next.marketplaceKinds.map((kind) => restorePluginMarketplaceName(kind)) + : ["local"]; + if (!nextKinds.includes("vertical")) nextKinds.push("vertical"); + next.marketplaceKinds = Array.from(new Set(nextKinds)); sendCodexPlusDiagnostic("plugin_marketplace_request_expanded", { hadMarketplaceKinds, + marketplaceKinds: next.marketplaceKinds, cwdCount: Array.isArray(next.cwds) ? next.cwds.length : 0, }); return next; @@ -2778,6 +2875,8 @@ if (name === "openai-bundled") return "OpenAI插件1(Codex++)"; if (name === "openai-curated") return "OpenAI插件2(Codex++)"; if (name === "openai-primary-runtime") return "OpenAI插件3(Codex++)"; + if (name === "openai-api-curated") return "OpenAI插件4(Codex++)"; + if (name === "openai-curated-remote") return "OpenAI插件5(Codex++)"; return fallback; } @@ -2891,12 +2990,14 @@ if (name === "codex-plus-openai-bundled") return "openai-bundled"; if (name === "codex-plus-openai-curated") return "openai-curated"; if (name === "codex-plus-openai-primary-runtime") return "openai-primary-runtime"; + if (name === "codex-plus-openai-api-curated") return "openai-api-curated"; + if (name === "codex-plus-openai-curated-remote") return "openai-curated-remote"; return name; } function codexPluginOfficialMarketplaceName(name) { const restored = restorePluginMarketplaceName(name); - return restored === "openai-bundled" || restored === "openai-curated" || restored === "openai-primary-runtime"; + return restored === "openai-bundled" || restored === "openai-curated" || restored === "openai-primary-runtime" || restored === "openai-api-curated" || restored === "openai-curated-remote"; } function isCodexPluginBuildFlavorFilter(callback, sample) { diff --git a/crates/codex-plus-core/Cargo.toml b/crates/codex-plus-core/Cargo.toml index 1fe7bc534..2e5609e20 100644 --- a/crates/codex-plus-core/Cargo.toml +++ b/crates/codex-plus-core/Cargo.toml @@ -29,13 +29,16 @@ zip.workspace = true [target.'cfg(windows)'.dependencies] windows = { version = "0.58", features = [ "Win32_Foundation", + "Win32_Storage_EnhancedStorage", "Win32_Storage_FileSystem", "Win32_System_Com", + "Win32_System_Com_StructuredStorage", "Win32_System_Diagnostics_ToolHelp", "Win32_System_Registry", "Win32_System_Threading", "Win32_UI_Shell", "Win32_UI_Shell_Common", + "Win32_UI_Shell_PropertiesSystem", "Win32_UI_WindowsAndMessaging", ] } diff --git a/crates/codex-plus-core/src/assets.rs b/crates/codex-plus-core/src/assets.rs index 68ffe9e5b..bf7085253 100644 --- a/crates/codex-plus-core/src/assets.rs +++ b/crates/codex-plus-core/src/assets.rs @@ -32,8 +32,9 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin let plugin_marketplaces = local_plugin_marketplaces(); let paste_fix = paste_fix_enabled_config(settings); let force_chinese_locale = force_chinese_locale_config(settings); + let fast_startup = fast_startup_config(settings); format!( - "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\nwindow.__CODEX_PLUS_FORCE_CHINESE_LOCALE__ = {};\n{}", + "window.__CODEX_SESSION_DELETE_HELPER__ = {};\nwindow.__CODEX_PLUS_SPONSOR_IMAGES__ = {};\nwindow.__CODEX_PLUS_VERSION__ = {};\nwindow.__CODEX_PLUS_BUILD__ = {};\nwindow.__CODEX_PLUS_IMAGE_OVERLAY__ = {};\nwindow.__CODEX_PLUS_PLUGIN_MARKETPLACES__ = {};\nwindow.__CODEX_PLUS_PASTE_FIX__ = {};\nwindow.__CODEX_PLUS_FORCE_CHINESE_LOCALE__ = {};\nwindow.__CODEX_PLUS_FAST_STARTUP__ = {};\n{}", serde_json::to_string(&helper_url).expect("helper URL should serialize"), serde_json::to_string(&sponsor_images).expect("sponsor images should serialize"), serde_json::to_string(crate::version::VERSION).expect("version should serialize"), @@ -43,19 +44,27 @@ pub fn injection_script_with_settings(helper_port: u16, settings: &BackendSettin serde_json::to_string(&paste_fix).expect("paste fix config should serialize"), serde_json::to_string(&force_chinese_locale) .expect("force Chinese locale config should serialize"), + serde_json::to_string(&fast_startup).expect("fast startup config should serialize"), renderer_script(), ) } fn local_plugin_marketplaces() -> Value { let home = crate::codex_home::default_codex_home_dir(); + local_plugin_marketplaces_from_home(&home) +} + +fn local_plugin_marketplaces_from_home(home: &Path) -> Value { let installed_plugins = installed_plugins_from_config(&home); - let candidates = [home + let marketplace_dir = home .join(".tmp") .join("plugins") .join(".agents") - .join("plugins") - .join("marketplace.json")]; + .join("plugins"); + let candidates = [ + marketplace_dir.join("marketplace.json"), + marketplace_dir.join("api_marketplace.json"), + ]; let marketplaces = candidates .iter() .filter_map(|path| { @@ -239,6 +248,10 @@ pub fn force_chinese_locale_config(settings: &BackendSettings) -> Value { json!({ "enabled": settings.codex_app_force_chinese_locale, "locale": "zh-CN" }) } +pub fn fast_startup_config(settings: &BackendSettings) -> Value { + json!({ "enabled": settings.codex_app_fast_startup, "statsigTimeoutMs": 800 }) +} + fn image_data_uri(mime_type: &str, bytes: &[u8]) -> String { format!( "data:{mime_type};base64,{}", @@ -267,3 +280,52 @@ fn image_content_type(path: &Path) -> Option<&'static str> { _ => None, } } + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn local_plugin_marketplaces_includes_api_marketplace_snapshot() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path(); + let marketplace_dir = home + .join(".tmp") + .join("plugins") + .join(".agents") + .join("plugins"); + let api_plugin_dir = home + .join(".tmp") + .join("plugins") + .join("plugins") + .join("build-web-apps"); + std::fs::create_dir_all(&marketplace_dir).unwrap(); + std::fs::create_dir_all(api_plugin_dir.join(".codex-plugin")).unwrap(); + std::fs::write( + marketplace_dir.join("marketplace.json"), + r#"{"name":"openai-curated","plugins":[{"name":"gmail"}]}"#, + ) + .unwrap(); + std::fs::write( + marketplace_dir.join("api_marketplace.json"), + r#"{"name":"openai-api-curated","plugins":[{"name":"build-web-apps"}]}"#, + ) + .unwrap(); + std::fs::write( + api_plugin_dir.join(".codex-plugin").join("plugin.json"), + r#"{"interface":{"displayName":"Build Web Apps"}}"#, + ) + .unwrap(); + + let marketplaces = local_plugin_marketplaces_from_home(home); + let array = marketplaces.as_array().unwrap(); + + assert_eq!(array.len(), 2); + assert_eq!(array[0]["name"].as_str(), Some("openai-curated")); + assert_eq!(array[1]["name"].as_str(), Some("openai-api-curated")); + assert_eq!( + array[1]["plugins"][0]["interface"]["displayName"].as_str(), + Some("Build Web Apps") + ); + } +} diff --git a/crates/codex-plus-core/src/launcher.rs b/crates/codex-plus-core/src/launcher.rs index 8dde1b4f5..fcdeb0467 100644 --- a/crates/codex-plus-core/src/launcher.rs +++ b/crates/codex-plus-core/src/launcher.rs @@ -1,271 +1,258 @@ -use std::net::SocketAddr; -use std::path::{Path, PathBuf}; -use std::process::Stdio; -use std::sync::Arc; -use std::sync::OnceLock; -use std::time::{SystemTime, UNIX_EPOCH}; - -use aes_gcm::aead::{Aead, KeyInit}; -use aes_gcm::{Aes256Gcm, Nonce}; -use anyhow::Context; -use async_trait::async_trait; -use base64::Engine; -use base64::engine::general_purpose::URL_SAFE_NO_PAD; -use futures_util::{SinkExt, StreamExt}; -use serde_json::Value; -use sha2::{Digest, Sha256}; -use tokio::io::{AsyncReadExt, AsyncWriteExt}; -use tokio::process::{Child, Command}; -use tokio::sync::{Mutex, mpsc}; -use tokio_tungstenite::tungstenite::Message; - -use crate::settings::{BackendSettings, SettingsStore, normalize_codex_extra_args}; -use crate::status::{LaunchStatus, StatusStore}; - -#[cfg(windows)] -const POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS: &[u64] = &[0, 5, 15, 30, 60, 120, 180, 240, 300]; -#[cfg_attr(not(windows), allow(dead_code))] -const POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS: usize = 3; - -#[derive(Debug, Clone, PartialEq, Eq)] -pub enum CodexLaunch { - Process { - command: Vec, - wait_strategy: ProcessWaitStrategy, - macos_cleanup_policy: Option, - }, - PackagedActivation { - app_user_model_id: String, - arguments: String, - process_id: Option, - }, -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum ProcessWaitStrategy { - TrackedChild, - ExternalWaitCommand, -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum MacosCleanupPolicy { - QuitIfNotPreviouslyRunning, - SkipQuitBecauseAlreadyRunning, -} - -#[derive(Debug, Clone, Copy, PartialEq, Eq)] -pub enum WindowsProcessControlStrategy { - NativeWindowsApi, -} - -#[cfg(windows)] -pub fn windows_process_control_strategy() -> WindowsProcessControlStrategy { - WindowsProcessControlStrategy::NativeWindowsApi -} - -impl CodexLaunch { - pub fn process_id(&self) -> Option { - match self { - Self::PackagedActivation { process_id, .. } => *process_id, - Self::Process { .. } => None, - } - } -} - -#[derive(Debug, Clone)] -pub struct LaunchOptions { - pub app_dir: Option, - pub debug_port: u16, - pub helper_port: u16, - pub status_store: StatusStore, -} - -impl Default for LaunchOptions { - fn default() -> Self { - Self { - app_dir: None, - debug_port: 9229, - helper_port: 57321, - status_store: StatusStore::default(), - } - } -} - -#[derive(Clone)] -pub struct LaunchHandle { - pub debug_port: u16, - pub helper_port: u16, - pub app_dir: PathBuf, - pub launch: CodexLaunch, - pub status_store: StatusStore, - helper_started: bool, - hooks: Arc, -} - -impl std::fmt::Debug for LaunchHandle { - fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { - formatter - .debug_struct("LaunchHandle") - .field("debug_port", &self.debug_port) - .field("helper_port", &self.helper_port) - .field("app_dir", &self.app_dir) - .field("launch", &self.launch) - .field("status_store", &self.status_store) - .finish_non_exhaustive() - } -} - -impl LaunchHandle { - pub async fn wait_for_codex_exit(&self) -> anyhow::Result<()> { - let result = self.hooks.wait_for_codex_exit(&self.launch).await; - if self.helper_started { - self.hooks.shutdown_helper(self.helper_port).await; - } - result - } -} - -#[async_trait(?Send)] -pub trait LaunchHooks: Send + Sync { - fn resolve_app_dir( - &self, - app_dir: Option<&Path>, - settings: &BackendSettings, - ) -> anyhow::Result; - fn select_debug_port(&self, requested: u16) -> u16; - fn select_helper_port(&self, requested: u16) -> u16; - async fn load_settings(&self) -> anyhow::Result; - async fn run_provider_sync(&self) -> anyhow::Result<()>; - async fn apply_active_relay_profile(&self, _settings: &BackendSettings) -> anyhow::Result<()> { - Ok(()) - } - async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { - Ok(()) - } - async fn ensure_plugin_marketplace_config( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - Ok(()) - } - async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()>; - async fn launch_codex( - &self, - app_dir: &Path, - debug_port: u16, - settings: &BackendSettings, - extra_args: &[String], - ) -> anyhow::Result; - async fn bridge_context( - &self, - _debug_port: u16, - _app_dir: &Path, - ) -> anyhow::Result> { - Ok(None) - } - async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()>; - async fn inject_bridge( - &self, - debug_port: u16, - helper_port: u16, - _ctx: crate::routes::BridgeContext, - ) -> anyhow::Result<()> { - self.inject(debug_port, helper_port).await - } - async fn ensure_injection(&self, debug_port: u16, helper_port: u16, app_dir: &Path) -> bool { - for attempt in 1..=120 { - let result = match self.bridge_context(debug_port, app_dir).await { - Ok(Some(ctx)) => self.inject_bridge(debug_port, helper_port, ctx).await, - Ok(None) => self.inject(debug_port, helper_port).await, - Err(error) => Err(error), - }; - match result { - Ok(()) => return true, - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.ensure_injection_retry_failed", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port, - "attempt": attempt, - "message": error.to_string() - }), - ); - tokio::time::sleep(std::time::Duration::from_secs(1)).await; - } - } - } - false - } - async fn start_bridge_watchdog( - &self, - _debug_port: u16, - _helper_port: u16, - ) -> anyhow::Result<()> { - Ok(()) - } - async fn start_computer_use_guard_watchdog( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - Ok(()) - } - async fn write_status(&self, status: &str); - async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()>; - async fn shutdown_helper(&self, helper_port: u16); - async fn terminate_codex(&self, launch: &CodexLaunch); -} - -#[derive(Default)] -pub struct DefaultLaunchHooks { - child: Mutex>, - helper: Mutex>, - mobile_relay_host: Mutex>, - bridge_watchdog: Mutex>, - computer_use_guard_watchdog: Mutex>, - computer_use_guard_artifacts: Mutex>, -} - -struct HelperRuntime { - shutdown: tokio::sync::oneshot::Sender<()>, - task: tokio::task::JoinHandle<()>, -} - -struct MobileRelayHostRuntime { - shutdown: tokio::sync::oneshot::Sender<()>, - task: tokio::task::JoinHandle<()>, -} - -struct BridgeWatchdogRuntime { - shutdown: tokio::sync::oneshot::Sender<()>, - task: tokio::task::JoinHandle<()>, -} - -struct ComputerUseGuardWatchdogRuntime { - shutdown: tokio::sync::oneshot::Sender<()>, - task: tokio::task::JoinHandle<()>, -} - -pub async fn launch_and_inject(options: LaunchOptions) -> anyhow::Result { - launch_and_inject_with_hooks(options, DefaultLaunchHooks::shared()).await -} - -pub async fn launch_and_inject_with_hooks( - options: LaunchOptions, - hooks: H, -) -> anyhow::Result -where - H: IntoLaunchHooks, -{ - let hooks = hooks.into_launch_hooks(); - let debug_port = hooks.select_debug_port(options.debug_port); - let mut helper_port = hooks.select_helper_port(options.helper_port); - let settings = hooks.load_settings().await?; - let app_dir = hooks.resolve_app_dir(options.app_dir.as_deref(), &settings)?; - let status_store = options.status_store.clone(); - let mut helper_started = false; - let mut launched = None; - let mut keep_launched_on_error = false; +use std::net::SocketAddr; +use std::path::{Path, PathBuf}; +use std::process::Stdio; +use std::sync::Arc; +use std::time::{SystemTime, UNIX_EPOCH}; + +use anyhow::Context; +use async_trait::async_trait; +use futures_util::StreamExt; +use serde_json::Value; +use tokio::io::{AsyncReadExt, AsyncWriteExt}; +use tokio::process::{Child, Command}; +use tokio::sync::Mutex; + +use crate::settings::{BackendSettings, SettingsStore, normalize_codex_extra_args}; +use crate::status::{LaunchStatus, StatusStore}; + +#[cfg(windows)] +const POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS: &[u64] = &[0, 5, 15, 30, 60, 120, 180, 240, 300]; +#[cfg_attr(not(windows), allow(dead_code))] +const POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS: usize = 3; + +#[derive(Debug, Clone, PartialEq, Eq)] +pub enum CodexLaunch { + Process { + command: Vec, + wait_strategy: ProcessWaitStrategy, + macos_cleanup_policy: Option, + }, + PackagedActivation { + app_user_model_id: String, + arguments: String, + process_id: Option, + }, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum ProcessWaitStrategy { + TrackedChild, + ExternalWaitCommand, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum MacosCleanupPolicy { + QuitIfNotPreviouslyRunning, + SkipQuitBecauseAlreadyRunning, +} + +#[derive(Debug, Clone, Copy, PartialEq, Eq)] +pub enum WindowsProcessControlStrategy { + NativeWindowsApi, +} + +#[cfg(windows)] +pub fn windows_process_control_strategy() -> WindowsProcessControlStrategy { + WindowsProcessControlStrategy::NativeWindowsApi +} + +impl CodexLaunch { + pub fn process_id(&self) -> Option { + match self { + Self::PackagedActivation { process_id, .. } => *process_id, + Self::Process { .. } => None, + } + } +} + +#[derive(Debug, Clone)] +pub struct LaunchOptions { + pub app_dir: Option, + pub debug_port: u16, + pub helper_port: u16, + pub status_store: StatusStore, +} + +impl Default for LaunchOptions { + fn default() -> Self { + Self { + app_dir: None, + debug_port: 9229, + helper_port: 57321, + status_store: StatusStore::default(), + } + } +} + +#[derive(Clone)] +pub struct LaunchHandle { + pub debug_port: u16, + pub helper_port: u16, + pub app_dir: PathBuf, + pub launch: CodexLaunch, + pub status_store: StatusStore, + helper_started: bool, + hooks: Arc, +} + +impl std::fmt::Debug for LaunchHandle { + fn fmt(&self, formatter: &mut std::fmt::Formatter<'_>) -> std::fmt::Result { + formatter + .debug_struct("LaunchHandle") + .field("debug_port", &self.debug_port) + .field("helper_port", &self.helper_port) + .field("app_dir", &self.app_dir) + .field("launch", &self.launch) + .field("status_store", &self.status_store) + .finish_non_exhaustive() + } +} + +impl LaunchHandle { + pub async fn wait_for_codex_exit(&self) -> anyhow::Result<()> { + let result = self.hooks.wait_for_codex_exit(&self.launch).await; + if self.helper_started { + self.hooks.shutdown_helper(self.helper_port).await; + } + result + } +} + +#[async_trait(?Send)] +pub trait LaunchHooks: Send + Sync { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + settings: &BackendSettings, + ) -> anyhow::Result; + fn select_debug_port(&self, requested: u16) -> u16; + fn select_helper_port(&self, requested: u16) -> u16; + async fn load_settings(&self) -> anyhow::Result; + async fn run_provider_sync(&self) -> anyhow::Result<()>; + async fn apply_active_relay_profile(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + Ok(()) + } + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + Ok(()) + } + async fn ensure_plugin_marketplace_config( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()>; + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result; + async fn bridge_context( + &self, + _debug_port: u16, + _app_dir: &Path, + ) -> anyhow::Result> { + Ok(None) + } + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()>; + async fn inject_bridge( + &self, + debug_port: u16, + helper_port: u16, + _ctx: crate::routes::BridgeContext, + ) -> anyhow::Result<()> { + self.inject(debug_port, helper_port).await + } + async fn ensure_injection(&self, debug_port: u16, helper_port: u16, app_dir: &Path) -> bool { + for attempt in 1..=120 { + let result = match self.bridge_context(debug_port, app_dir).await { + Ok(Some(ctx)) => self.inject_bridge(debug_port, helper_port, ctx).await, + Ok(None) => self.inject(debug_port, helper_port).await, + Err(error) => Err(error), + }; + match result { + Ok(()) => return true, + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.ensure_injection_retry_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "attempt": attempt, + "message": error.to_string() + }), + ); + tokio::time::sleep(std::time::Duration::from_secs(1)).await; + } + } + } + false + } + async fn start_bridge_watchdog( + &self, + _debug_port: u16, + _helper_port: u16, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + Ok(()) + } + async fn write_status(&self, status: &str); + async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()>; + async fn shutdown_helper(&self, helper_port: u16); + async fn terminate_codex(&self, launch: &CodexLaunch); +} + +#[derive(Default)] +pub struct DefaultLaunchHooks { + child: Mutex>, + helper: Mutex>, + bridge_watchdog: Mutex>, + computer_use_guard_watchdog: Mutex>, + computer_use_guard_artifacts: Mutex>, +} + +struct HelperRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +struct BridgeWatchdogRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +struct ComputerUseGuardWatchdogRuntime { + shutdown: tokio::sync::oneshot::Sender<()>, + task: tokio::task::JoinHandle<()>, +} + +pub async fn launch_and_inject(options: LaunchOptions) -> anyhow::Result { + launch_and_inject_with_hooks(options, DefaultLaunchHooks::shared()).await +} + +pub async fn launch_and_inject_with_hooks( + options: LaunchOptions, + hooks: H, +) -> anyhow::Result +where + H: IntoLaunchHooks, +{ + let hooks = hooks.into_launch_hooks(); + let debug_port = hooks.select_debug_port(options.debug_port); + let mut helper_port = hooks.select_helper_port(options.helper_port); + let settings = hooks.load_settings().await?; + let app_dir = hooks.resolve_app_dir(options.app_dir.as_deref(), &settings)?; + let status_store = options.status_store.clone(); + let mut helper_started = false; + let mut launched = None; + let mut keep_launched_on_error = false; let result: anyhow::Result = async { if settings.provider_sync_enabled { @@ -308,10 +295,10 @@ where helper_port = crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT; } if settings.enhancements_enabled || protocol_proxy_enabled { - hooks.start_helper(helper_port).await?; - helper_started = true; - } - + hooks.start_helper(helper_port).await?; + helper_started = true; + } + let launch = hooks .launch_codex(&app_dir, debug_port, &settings, &settings.codex_extra_args) .await?; @@ -322,3866 +309,1974 @@ where } let mut injection_degraded = false; - if settings.enhancements_enabled { - let injection_ready = hooks - .ensure_injection(debug_port, helper_port, &app_dir) - .await; - if injection_ready { - keep_launched_on_error = false; - // 注入成功后页面已加载,此时可以通过 CDP 清理 Electron Local Storage - // 中残留的带后缀模型名,避免模型选择器继续显示废弃项。 - crate::codex_local_storage::sanitize_local_storage_model_suffixes_nonfatal( - debug_port, - ) - .await; - hooks.start_bridge_watchdog(debug_port, helper_port).await?; - } else { - let degraded = launch_status( - "running_degraded", - "Codex launched; Codex++ enhancements are still waiting for the page bridge.", - debug_port, - helper_port, - &app_dir, - ); - options.status_store.save_latest(°raded)?; - hooks.write_status("running_degraded").await; - injection_degraded = true; - } - } - - if !settings.enhancements_enabled || !injection_degraded { - let status = launch_status( - "running", - "Codex++ launcher ready", - debug_port, - helper_port, - &app_dir, - ); - options.status_store.save_latest(&status)?; - hooks.write_status("running").await; - } - - Ok(LaunchHandle { - debug_port, - helper_port, - app_dir: app_dir.clone(), - launch, - status_store: status_store.clone(), - helper_started, - hooks: Arc::clone(&hooks), - }) - } - .await; - - match result { - Ok(handle) => Ok(handle), - Err(error) => { - if helper_started { - hooks.shutdown_helper(helper_port).await; - } - if let Some(launch) = &launched { - if !keep_launched_on_error { - hooks.terminate_codex(launch).await; - } - } - let message = error.to_string(); - let failure = launch_status("failed", &message, debug_port, helper_port, &app_dir); - let _ = status_store.save_latest(&failure); - hooks.write_status("failed").await; - Err(error) - } - } -} - -fn relay_protocol_proxy_enabled(settings: &BackendSettings) -> bool { - settings.active_relay_uses_protocol_proxy() -} - -fn select_native_menu_inspector_port(debug_port: u16) -> u16 { - let requested = debug_port.saturating_add(100); - crate::ports::select_platform_loopback_port(requested) -} - -fn start_native_menu_localizer(inspector_port: u16) { - if inspector_port == 0 { - return; - } - tokio::spawn(async move { - if let Err(error) = crate::native_menu::install_native_menu_localizer(inspector_port).await - { - let _ = crate::diagnostic_log::append_diagnostic_log( - "native_menu.localization_failed", - serde_json::json!({ - "inspector_port": inspector_port, - "message": error.to_string() - }), - ); - } - }); -} - -pub trait IntoLaunchHooks { - fn into_launch_hooks(self) -> Arc; -} - -impl IntoLaunchHooks for &T -where - T: LaunchHooks + Clone + 'static, -{ - fn into_launch_hooks(self) -> Arc { - Arc::new(self.clone()) - } -} - -impl IntoLaunchHooks for Arc { - fn into_launch_hooks(self) -> Arc { - self - } -} - -impl IntoLaunchHooks for DefaultLaunchHooks { - fn into_launch_hooks(self) -> Arc { - Arc::new(self) - } -} - -impl DefaultLaunchHooks { - pub fn shared() -> Arc { - Arc::new(Self::default()) - } - - async fn start_mobile_relay_host(&self, helper_port: u16) -> anyhow::Result<()> { - let settings = SettingsStore::default().load().unwrap_or_default(); - let Some(config) = MobileRelayHostConfig::from_settings_and_env(&settings) else { - return Ok(()); - }; - let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); - let task = tokio::spawn(async move { - run_mobile_relay_host(helper_port, config, &mut shutdown_rx).await; - }); - if let Some(runtime) = self - .mobile_relay_host - .lock() - .await - .replace(MobileRelayHostRuntime { shutdown, task }) - { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - Ok(()) - } -} - -fn helper_bind_host() -> String { - std::env::var("CODEX_PLUS_HELPER_BIND") - .ok() - .map(|value| value.trim().to_string()) - .filter(|value| !value.is_empty()) - .unwrap_or_else(|| "127.0.0.1".to_string()) -} - -#[async_trait(?Send)] -impl LaunchHooks for DefaultLaunchHooks { - fn resolve_app_dir( - &self, - app_dir: Option<&Path>, - settings: &BackendSettings, - ) -> anyhow::Result { - crate::app_paths::resolve_codex_app_dir_with_saved( - app_dir, - Some(settings.codex_app_path.as_str()), - ) - .ok_or_else(|| anyhow::anyhow!("Codex App directory not found")) - } - - fn select_debug_port(&self, requested: u16) -> u16 { - crate::ports::select_packaged_codex_debug_port(requested) - } - - fn select_helper_port(&self, requested: u16) -> u16 { - crate::ports::select_platform_loopback_port(requested) - } - - async fn load_settings(&self) -> anyhow::Result { - SettingsStore::default().load() - } - - async fn run_provider_sync(&self) -> anyhow::Result<()> { - anyhow::bail!("provider sync requires launcher hooks with codex-plus-data integration") - } - - async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { - if !settings.relay_profiles_enabled { - return Ok(()); - } - let profile = settings.active_relay_profile(); - let home = crate::relay_config::default_codex_home_dir(); - let common_config = crate::relay_config::normalize_config_text( - &[ - settings.relay_common_config_contents.as_str(), - settings.relay_context_config_contents.as_str(), - ] - .into_iter() - .map(str::trim) - .filter(|section| !section.is_empty()) - .collect::>() - .join("\n\n"), - ); - if profile.relay_mode == crate::settings::RelayMode::Official - && !profile.official_mix_api_key - { - let auth_contents = (!profile.auth_contents.trim().is_empty()) - .then_some(profile.auth_contents.as_str()); - crate::relay_config::clear_relay_config_to_home_with_auth_and_computer_use_guard( - &home, - auth_contents, - settings.computer_use_guard_enabled, - )?; - return Ok(()); - } - crate::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( - &home, - &profile, - &common_config, - settings.computer_use_guard_enabled, - )?; - Ok(()) - } - - async fn ensure_computer_use_config(&self, settings: &BackendSettings) -> anyhow::Result<()> { - if !settings.computer_use_guard_enabled { - return Ok(()); - } - let home = crate::relay_config::default_codex_home_dir(); - let artifacts = crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home)?; - crate::computer_use_guard::ensure_computer_use_config_with_artifacts(&home, &artifacts)?; - *self.computer_use_guard_artifacts.lock().await = Some(artifacts); - Ok(()) - } - - async fn ensure_plugin_marketplace_config( - &self, - settings: &BackendSettings, - ) -> anyhow::Result<()> { - if !settings.codex_app_plugin_marketplace_unlock { - return Ok(()); - } - let home = crate::relay_config::default_codex_home_dir(); - match crate::plugin_marketplace::ensure_openai_curated_marketplace_config(&home) { - Ok(configured) => { - if configured { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.openai_curated_marketplace_configured", - serde_json::json!({ - "home": home, - }), - ); - } - } - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "launcher.openai_curated_marketplace_config_failed", - serde_json::json!({ - "home": home, - "message": error.to_string(), - }), - ); - } - } - Ok(()) - } - - async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { - let bind_host = helper_bind_host(); - let listener = tokio::net::TcpListener::bind((bind_host.as_str(), helper_port)) - .await - .with_context(|| { - format!("failed to bind helper runtime on {bind_host}:{helper_port}") - })?; - let _ = crate::diagnostic_log::append_diagnostic_log( - "helper.listening", - serde_json::json!({ - "helper_port": helper_port, - "bind_host": bind_host, - "address": format!("http://{bind_host}:{helper_port}") - }), - ); - let (shutdown_tx, mut shutdown_rx) = tokio::sync::oneshot::channel(); - let task = tokio::spawn(async move { - loop { - tokio::select! { - _ = &mut shutdown_rx => break, - accepted = listener.accept() => { - if let Ok((stream, addr)) = accepted { - tokio::spawn(async move { - let _ = handle_helper_connection(stream, Some(addr)).await; - }); - } - } - } - } - }); - *self.helper.lock().await = Some(HelperRuntime { - shutdown: shutdown_tx, - task, - }); - self.start_mobile_relay_host(helper_port).await?; - Ok(()) - } - - async fn launch_codex( - &self, - app_dir: &Path, - debug_port: u16, - settings: &BackendSettings, - extra_args: &[String], - ) -> anyhow::Result { - let native_menu_localization_enabled = settings.codex_app_native_menu_localization; - let native_menu_inspector_port = - native_menu_localization_enabled.then(|| select_native_menu_inspector_port(debug_port)); - if cfg!(windows) { - let activation = if let Some(inspector_port) = native_menu_inspector_port { - build_packaged_activation_with_native_menu_inspector( - app_dir, - debug_port, - inspector_port, - extra_args, - ) - } else { - build_packaged_activation(app_dir, debug_port, extra_args) - }; - if let Some(activation) = activation { - let CodexLaunch::PackagedActivation { - app_user_model_id, - arguments, - .. - } = &activation - else { - unreachable!(); - }; - let process_id = activate_packaged_app(app_user_model_id, arguments).await?; - if let Some(inspector_port) = native_menu_inspector_port { - start_native_menu_localizer(inspector_port); - } - return Ok(match activation { - CodexLaunch::PackagedActivation { - app_user_model_id, - arguments, - .. - } => CodexLaunch::PackagedActivation { - app_user_model_id, - arguments, - process_id: Some(process_id), - }, - CodexLaunch::Process { .. } => unreachable!(), - }); - } - } - - if app_dir.extension().and_then(|value| value.to_str()) == Some("app") { - let cleanup_policy = if is_macos_app_running(app_dir).await { - MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning - } else { - MacosCleanupPolicy::QuitIfNotPreviouslyRunning - }; - let command = if let Some(inspector_port) = native_menu_inspector_port { - build_macos_open_command_with_native_menu_inspector( - app_dir, - debug_port, - inspector_port, - extra_args, - ) - } else { - build_macos_open_command(app_dir, debug_port, extra_args) - }; - let executable = command - .first() - .ok_or_else(|| anyhow::anyhow!("macOS open command is empty"))?; - let child = Command::new(executable) - .args(&command[1..]) - .stdout(Stdio::null()) - .stderr(Stdio::null()) - .spawn() - .context("failed to launch macOS Codex app")?; - *self.child.lock().await = Some(child); - if let Some(inspector_port) = native_menu_inspector_port { - start_native_menu_localizer(inspector_port); - } - return Ok(CodexLaunch::Process { - command, - wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, - macos_cleanup_policy: Some(cleanup_policy), - }); - } - - let command = if let Some(inspector_port) = native_menu_inspector_port { - build_codex_command_with_native_menu_inspector( - app_dir, - debug_port, - inspector_port, - extra_args, - ) - } else { - build_codex_command(app_dir, debug_port, extra_args) - }; - let executable = command - .first() - .ok_or_else(|| anyhow::anyhow!("Codex command is empty"))?; - let mut child_command = Command::new(executable); - child_command - .args(&command[1..]) - .stdout(Stdio::null()) - .stderr(Stdio::null()); - #[cfg(windows)] - child_command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); - let child = child_command - .spawn() - .with_context(|| format!("failed to launch Codex executable {executable}"))?; - *self.child.lock().await = Some(child); - if let Some(inspector_port) = native_menu_inspector_port { - start_native_menu_localizer(inspector_port); - } - Ok(CodexLaunch::Process { - command, - wait_strategy: ProcessWaitStrategy::TrackedChild, - macos_cleanup_policy: None, - }) - } - - async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - retry_injection(debug_port, helper_port).await - } - async fn start_bridge_watchdog(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); - let task = tokio::spawn(async move { - let mut interval = tokio::time::interval(std::time::Duration::from_secs(5)); - loop { - tokio::select! { - _ = &mut shutdown_rx => break, - _ = interval.tick() => { - let _ = check_and_reinject_bridge(debug_port, helper_port).await; - } - } - } - }); - if let Some(runtime) = self - .bridge_watchdog - .lock() - .await - .replace(BridgeWatchdogRuntime { shutdown, task }) - { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - Ok(()) - } - - async fn start_computer_use_guard_watchdog( - &self, - settings: &BackendSettings, - ) -> anyhow::Result<()> { - #[cfg(windows)] - { - if !settings.computer_use_guard_enabled { - return Ok(()); - } - let home = crate::relay_config::default_codex_home_dir(); - let artifacts = self.computer_use_guard_artifacts.lock().await.clone(); - let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); - let task = tokio::spawn(async move { - run_post_launch_computer_use_guard(home, artifacts, &mut shutdown_rx).await; - }); - if let Some(runtime) = self - .computer_use_guard_watchdog - .lock() - .await - .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) - { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - } - #[cfg(target_os = "macos")] - { - let _ = &settings; - let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); - let task = tokio::spawn(async move { - loop { - tokio::select! { - _ = &mut shutdown_rx => break, - _ = tokio::time::sleep(std::time::Duration::from_secs(120)) => { - crate::computer_use_guard::kill_orphaned_computer_use_processes(); - } - } - } - }); - if let Some(runtime) = self - .computer_use_guard_watchdog - .lock() - .await - .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) - { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - } - Ok(()) - } - - async fn write_status(&self, _status: &str) {} - - async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()> { - match launch { - CodexLaunch::Process { .. } => { - if let Some(mut child) = self.child.lock().await.take() { - let _ = child.wait().await; - } - } - CodexLaunch::PackagedActivation { process_id, .. } => { - if let Some(process_id) = process_id { - wait_for_windows_process_id(*process_id).await?; - } - } - } - let mut empty_streak = 0u32; - loop { - if crate::watcher::find_codex_processes().is_empty() { - empty_streak = empty_streak.saturating_add(1); - if empty_streak >= 3 { - break; - } - } else { - empty_streak = 0; - } - tokio::time::sleep(std::time::Duration::from_secs(2)).await; - } - Ok(()) - } - - async fn shutdown_helper(&self, _helper_port: u16) { - if let Some(runtime) = self.mobile_relay_host.lock().await.take() { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - if let Some(runtime) = self.computer_use_guard_watchdog.lock().await.take() { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - if let Some(runtime) = self.bridge_watchdog.lock().await.take() { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - if let Some(runtime) = self.helper.lock().await.take() { - let _ = runtime.shutdown.send(()); - let _ = runtime.task.await; - } - } - - async fn terminate_codex(&self, launch: &CodexLaunch) { - match launch { - CodexLaunch::Process { - wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, - command, - macos_cleanup_policy, - } => { - if let Some(mut child) = self.child.lock().await.take() { - let _ = child.kill().await; - } - if let (Some(app_dir), Some(cleanup_policy)) = ( - macos_app_dir_from_open_command(command), - *macos_cleanup_policy, - ) { - let _ = run_macos_cleanup_command(&app_dir, cleanup_policy).await; - } - } - CodexLaunch::Process { .. } => { - if let Some(mut child) = self.child.lock().await.take() { - let _ = child.kill().await; - } - } - CodexLaunch::PackagedActivation { - process_id: Some(process_id), - .. - } => { - let _ = terminate_windows_process_id(*process_id).await; - } - CodexLaunch::PackagedActivation { - process_id: None, .. - } => {} - } - } -} - -struct AppServerRuntime { - port: u16, - source: &'static str, - child: Option>, -} - -impl AppServerRuntime { - async fn process_id(&self) -> Option { - self.child.as_ref()?.lock().await.id() - } -} - -static APP_SERVER_RUNTIME: OnceLock>>> = OnceLock::new(); - -async fn handle_helper_connection( - mut stream: tokio::net::TcpStream, - remote_addr: Option, -) -> anyhow::Result<()> { - let request_bytes = read_http_request(&mut stream).await?; - let request = String::from_utf8_lossy(&request_bytes); - let request_line = request.lines().next().unwrap_or_default(); - let mut parts = request_line.split_whitespace(); - let method = parts.next().unwrap_or_default(); - let raw_path = parts.next().unwrap_or_default(); - let path = raw_path.split('?').next().unwrap_or(raw_path); - let request_body = http_request_body(&request); - let request_user_agent = header_value_from_request(&request, "user-agent"); - let remote_addr_text = remote_addr.map(|addr| addr.to_string()); - - let _ = crate::diagnostic_log::append_diagnostic_log( - "helper.request", - serde_json::json!({ - "method": method, - "path": path, - "request_line": request_line, - "remote_addr": remote_addr_text, - "body_bytes": request_body.len() - }), - ); - - if path == "/mobile" && matches!(method, "GET" | "OPTIONS") { - return handle_mobile_page_connection(&mut stream, method).await; - } - if path == "/app-server/ws" && matches!(method, "GET" | "OPTIONS") { - return handle_app_server_websocket_proxy_connection(&mut stream, &request, method).await; - } - if path == "/app-server/rpc" && matches!(method, "POST" | "OPTIONS") { - return handle_app_server_rpc_connection(&mut stream, method, request_body).await; - } - if path == "/app-server/status" && matches!(method, "GET" | "OPTIONS") { - return handle_app_server_status_connection(&mut stream, method).await; - } - - if crate::protocol_proxy::is_responses_proxy_path(path) && method == "POST" { - return handle_protocol_proxy_connection( - &mut stream, - request_body, - request_user_agent.as_deref(), - method, - path, - remote_addr_text, - ) - .await; - } - if crate::protocol_proxy::is_chat_completions_proxy_path(path) && method == "POST" { - return handle_chat_completions_proxy_connection( - &mut stream, - request_body, - request_user_agent.as_deref(), - method, - path, - remote_addr_text, - ) - .await; - } - if crate::protocol_proxy::is_models_proxy_path(path) && matches!(method, "GET" | "OPTIONS") { - return handle_models_proxy_connection( - &mut stream, - request_user_agent.as_deref(), - method, - path, - remote_addr_text, - ) - .await; - } - - let (status, body, content_type, log_event) = - if matches!(path, "/backend/status" | "/backend/repair") - && matches!(method, "GET" | "POST" | "OPTIONS") - { - ( - "200 OK".to_string(), - serde_json::to_vec(&serde_json::json!({ - "status": "ok", - "message": "后端已连接", - "version": crate::version::VERSION, - "transport": "http-helper" - }))?, - "application/json; charset=utf-8".to_string(), - if path == "/backend/status" { - "helper.backend_status_ok" - } else { - "helper.backend_repair_ok" - }, - ) - } else if path == "/diagnostics/log" && matches!(method, "POST" | "OPTIONS") { - if method == "POST" { - let detail = serde_json::from_str::(request_body) - .unwrap_or_else(|error| { - serde_json::json!({ - "parse_error": error.to_string(), - "raw": request_body - }) - }); - let event = detail - .get("event") - .and_then(serde_json::Value::as_str) - .map(sanitize_diagnostic_event) - .unwrap_or_else(|| "event".to_string()); - let _ = crate::diagnostic_log::append_diagnostic_log( - &format!("renderer.{event}"), - detail, - ); - } - ( - "200 OK".to_string(), - serde_json::to_vec(&serde_json::json!({ - "status": "ok", - "message": "日志已记录" - }))?, - "application/json; charset=utf-8".to_string(), - "helper.diagnostics_log_ok", - ) - } else if path == "/overlay/image" && matches!(method, "GET" | "OPTIONS") { - if method == "OPTIONS" { - ( - "200 OK".to_string(), - Vec::new(), - "application/octet-stream".to_string(), - "helper.overlay_image_options", - ) - } else { - overlay_image_response() - } - } else { - ( - "404 Not Found".to_string(), - serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": "未知后端路径" - }))?, - "application/json; charset=utf-8".to_string(), - "helper.unknown_path", - ) - }; - let _ = crate::diagnostic_log::append_diagnostic_log( - log_event, - serde_json::json!({ - "method": method, - "path": path, - "status": status, - "remote_addr": remote_addr_text - }), - ); - let response = if method == "OPTIONS" { - format!( - "HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n" - ) - } else { - format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", - body.len() - ) - }; - stream.write_all(response.as_bytes()).await?; - if method != "OPTIONS" { - stream.write_all(&body).await?; - } - stream.shutdown().await?; - Ok(()) -} - -#[derive(Debug, Clone)] -struct MobileRelayHostConfig { - relay_url: String, - room: String, - token: String, - encryption_key: String, -} - -struct MobileRelayAppServerSession { - sender: mpsc::UnboundedSender, -} - -impl MobileRelayHostConfig { - fn from_settings_and_env(settings: &BackendSettings) -> Option { - if !settings.mobile_control_enabled && std::env::var("CODEX_PLUS_MOBILE_RELAY_URL").is_err() - { - return None; - } - let relay_url = env_or_setting( - "CODEX_PLUS_MOBILE_RELAY_URL", - &settings.mobile_control_relay_url, - )?; - let room = env_or_setting( - "CODEX_PLUS_MOBILE_RELAY_ROOM", - &settings.mobile_control_room, - )?; - let token = std::env::var("CODEX_PLUS_MOBILE_RELAY_TOKEN") - .ok() - .map(|value| value.trim().to_string()) - .filter(|value| !value.is_empty()) - .unwrap_or_else(|| room.clone()); - let encryption_key = - env_or_setting("CODEX_PLUS_MOBILE_RELAY_KEY", &settings.mobile_control_key)?; - Some(Self { - relay_url, - room, - token, - encryption_key, - }) - } - - fn cipher(&self) -> Aes256Gcm { - mobile_relay_cipher(&self.encryption_key) - } - - fn host_url(&self) -> String { - let separator = if self.relay_url.contains('?') { - '&' - } else { - '?' - }; - let role_path_url = - if self.relay_url.ends_with("/host") || self.relay_url.contains("/host?") { - self.relay_url.clone() - } else { - format!("{}/host", self.relay_url.trim_end_matches('/')) - }; - format!( - "{role_path_url}{separator}room={}&token={}", - percent_encode_query(&self.room), - percent_encode_query(&self.token) - ) - } -} - -fn env_or_setting(env_name: &str, setting: &str) -> Option { - std::env::var(env_name) - .ok() - .map(|value| value.trim().to_string()) - .filter(|value| !value.is_empty()) - .or_else(|| { - let value = setting.trim(); - (!value.is_empty()).then(|| value.to_string()) - }) -} - -async fn run_mobile_relay_host( - helper_port: u16, - config: MobileRelayHostConfig, - shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, -) { - let mut retry_delay = std::time::Duration::from_secs(1); - loop { - tokio::select! { - _ = &mut *shutdown_rx => break, - result = run_mobile_relay_host_once(helper_port, &config) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "mobile_relay.host_disconnected", - serde_json::json!({ - "helper_port": helper_port, - "relay_url": config.relay_url, - "room": config.room, - "message": result.err().map(|error| error.to_string()) - }), - ); - } - } - tokio::select! { - _ = &mut *shutdown_rx => break, - _ = tokio::time::sleep(retry_delay) => {} - } - retry_delay = (retry_delay * 2).min(std::time::Duration::from_secs(30)); - } -} - -async fn run_mobile_relay_host_once( - helper_port: u16, - config: &MobileRelayHostConfig, -) -> anyhow::Result<()> { - let host_url = config.host_url(); - let (mut socket, _) = tokio_tungstenite::connect_async(&host_url) - .await - .with_context(|| format!("failed to connect mobile relay host {host_url}"))?; - let _ = crate::diagnostic_log::append_diagnostic_log( - "mobile_relay.host_connected", - serde_json::json!({ - "helper_port": helper_port, - "relay_url": config.relay_url, - "room": config.room - }), - ); - let cipher = config.cipher(); - let (relay_tx, mut relay_rx) = mpsc::unbounded_channel::(); - let mut sessions: std::collections::HashMap = - std::collections::HashMap::new(); - loop { - tokio::select! { - relay_message = relay_rx.recv() => { - let Some(relay_message) = relay_message else { - break; - }; - socket - .send(relay_message) - .await - .context("failed to send mobile relay async message")?; - continue; - } - inbound = socket.next() => { - let Some(inbound) = inbound else { - break; - }; - let message = inbound.context("failed to read mobile relay message")?; - if message.is_close() { - break; - } - let Some(response) = handle_mobile_relay_host_message( - helper_port, - &cipher, - message, - relay_tx.clone(), - &mut sessions, - ).await - else { - continue; - }; - socket - .send(Message::Text(response.to_string().into())) - .await - .context("failed to send mobile relay response")?; - } - } - } - for (_, sender) in sessions { - let _ = sender.sender.send(Message::Close(None)); - } - Ok(()) -} - -async fn handle_mobile_relay_host_message( - helper_port: u16, - cipher: &Aes256Gcm, - message: Message, - relay_tx: mpsc::UnboundedSender, - app_server_sessions: &mut std::collections::HashMap, -) -> Option { - let text = match message { - Message::Text(text) => text.to_string(), - Message::Binary(bytes) => String::from_utf8(bytes.to_vec()).ok()?, - _ => return None, - }; - let envelope = serde_json::from_str::(&text).ok()?; - let plaintext_mode = envelope.get("type").and_then(Value::as_str) == Some("plaintext"); - let request = decrypt_mobile_relay_request(cipher, &envelope).ok()?; - if request.get("type").and_then(Value::as_str) == Some("appServerConnect") { - return handle_mobile_relay_app_server_connect( - helper_port, - cipher, - &request, - plaintext_mode, - relay_tx, - app_server_sessions, - ) - .await; - } - if request.get("type").and_then(Value::as_str) == Some("appServerMessage") { - return handle_mobile_relay_app_server_message(&request, app_server_sessions).await; - } - if request.get("type").and_then(Value::as_str) == Some("appServerClose") { - return handle_mobile_relay_app_server_close(&request, app_server_sessions).await; - } - if request.get("type").and_then(Value::as_str) != Some("httpRequest") { - return None; - } - let id = request.get("id").cloned().unwrap_or(Value::Null); - let response = match proxy_mobile_relay_http_request(helper_port, &request).await { - Ok(response) => serde_json::json!({ - "type": "httpResponse", - "id": id, - "status": response.status, - "headers": response.headers, - "body": response.body - }), - Err(error) => serde_json::json!({ - "type": "httpResponse", - "id": id, - "status": 502, - "headers": {"content-type": "application/json; charset=utf-8"}, - "body": serde_json::json!({ - "status": "failed", - "message": error.to_string() - }).to_string() - }), - }; - encode_mobile_relay_payload(cipher, plaintext_mode, &response).ok() -} - -async fn handle_mobile_relay_app_server_connect( - _helper_port: u16, - cipher: &Aes256Gcm, - request: &Value, - plaintext_mode: bool, - relay_tx: mpsc::UnboundedSender, - app_server_sessions: &mut std::collections::HashMap, -) -> Option { - let id = request.get("id").cloned().unwrap_or(Value::Null); - let session_id = request - .get("sessionId") - .and_then(Value::as_str) - .map(str::to_string) - .filter(|value| !value.is_empty()) - .unwrap_or_else(|| uuid::Uuid::new_v4().to_string()); - if let Some(previous) = app_server_sessions.remove(&session_id) { - let _ = previous.sender.send(Message::Close(None)); - } - let (app_tx, app_rx) = mpsc::unbounded_channel::(); - app_server_sessions.insert( - session_id.clone(), - MobileRelayAppServerSession { sender: app_tx }, - ); - let session_cipher = cipher.clone(); - tokio::spawn(run_mobile_relay_app_server_session( - session_cipher, - plaintext_mode, - relay_tx, - session_id.clone(), - app_rx, - )); - encode_mobile_relay_payload( - &cipher, - plaintext_mode, - &serde_json::json!({ - "type": "appServerConnected", - "id": id, - "sessionId": session_id - }), - ) - .ok() -} - -async fn handle_mobile_relay_app_server_message( - request: &Value, - app_server_sessions: &mut std::collections::HashMap, -) -> Option { - let session_id = request.get("sessionId").and_then(Value::as_str)?; - let text = request.get("message").and_then(Value::as_str)?; - let session = app_server_sessions.get(session_id)?; - let _ = session.sender.send(Message::Text(text.to_string().into())); - None -} - -async fn handle_mobile_relay_app_server_close( - request: &Value, - app_server_sessions: &mut std::collections::HashMap, -) -> Option { - let session_id = request.get("sessionId").and_then(Value::as_str)?; - if let Some(sender) = app_server_sessions.remove(session_id) { - let _ = sender.sender.send(Message::Close(None)); - } - None -} - -async fn run_mobile_relay_app_server_session( - cipher: Aes256Gcm, - plaintext_mode: bool, - relay_tx: mpsc::UnboundedSender, - session_id: String, - mut app_rx: mpsc::UnboundedReceiver, -) { - let result = async { - let runtime = ensure_app_server_runtime().await?; - let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); - let (mut upstream, _) = tokio_tungstenite::connect_async(&url) - .await - .with_context(|| format!("failed to connect Codex app-server {url}"))?; - loop { - tokio::select! { - outbound = app_rx.recv() => { - let Some(outbound) = outbound else { - break; - }; - if outbound.is_close() { - break; - } - upstream - .send(outbound) - .await - .context("failed to send app-server message")?; - } - inbound = upstream.next() => { - let Some(inbound) = inbound else { - break; - }; - let inbound = inbound.context("failed to read app-server message")?; - if inbound.is_close() { - break; - } - let message = match inbound { - Message::Text(text) => text.to_string(), - Message::Binary(bytes) => String::from_utf8(bytes.to_vec()) - .context("app-server returned non-utf8 binary")?, - Message::Ping(_) | Message::Pong(_) => continue, - Message::Close(_) => break, - Message::Frame(_) => continue, - }; - if let Ok(value) = serde_json::from_str::(&message) { - let _ = crate::diagnostic_log::append_diagnostic_log( - "mobile_relay.app_server_message", - serde_json::json!({ - "sessionId": session_id, - "id": value.get("id").cloned().unwrap_or(Value::Null), - "method": value.get("method").and_then(Value::as_str), - "hasError": value.get("error").is_some() - }), - ); - } - let envelope = encode_mobile_relay_payload( - &cipher, - plaintext_mode, - &serde_json::json!({ - "type": "appServerMessage", - "sessionId": session_id, - "message": message - }), - )?; - let _ = relay_tx.send(Message::Text(envelope.to_string().into())); - } - } - } - anyhow::Ok(()) - } - .await; - let detail = match result { - Ok(()) => serde_json::json!({ - "type": "appServerClosed", - "sessionId": session_id - }), - Err(error) => serde_json::json!({ - "type": "appServerClosed", - "sessionId": session_id, - "error": error.to_string() - }), - }; - if let Ok(envelope) = encrypt_mobile_relay_payload(&cipher, &detail) { - let _ = relay_tx.send(Message::Text(envelope.to_string().into())); - } -} - -struct MobileRelayHttpResponse { - status: u16, - headers: serde_json::Map, - body: String, -} - -async fn proxy_mobile_relay_http_request( - helper_port: u16, - request: &serde_json::Value, -) -> anyhow::Result { - let method = request - .get("method") - .and_then(Value::as_str) - .unwrap_or("GET") - .to_ascii_uppercase(); - let path = request - .get("path") - .and_then(Value::as_str) - .filter(|path| path.starts_with('/')) - .unwrap_or("/"); - let body = request.get("body").and_then(Value::as_str).unwrap_or(""); - let mut stream = tokio::net::TcpStream::connect(("127.0.0.1", helper_port)) - .await - .with_context(|| format!("failed to connect helper on 127.0.0.1:{helper_port}"))?; - let content_type = request - .get("headers") - .and_then(Value::as_object) - .and_then(|headers| { - headers - .get("content-type") - .or_else(|| headers.get("Content-Type")) - .and_then(Value::as_str) - }) - .unwrap_or("application/json; charset=utf-8"); - let wire = format!( - "{method} {path} HTTP/1.1\r\nHost: 127.0.0.1:{helper_port}\r\nContent-Type: {content_type}\r\nContent-Length: {}\r\nConnection: close\r\n\r\n{body}", - body.as_bytes().len() - ); - stream.write_all(wire.as_bytes()).await?; - stream.shutdown().await?; - let mut response_bytes = Vec::new(); - stream.read_to_end(&mut response_bytes).await?; - parse_mobile_relay_http_response(&response_bytes) -} - -fn parse_mobile_relay_http_response(bytes: &[u8]) -> anyhow::Result { - let text = String::from_utf8_lossy(bytes); - let (header_text, body) = text - .split_once("\r\n\r\n") - .ok_or_else(|| anyhow::anyhow!("helper returned an invalid HTTP response"))?; - let mut lines = header_text.lines(); - let status_line = lines.next().unwrap_or_default(); - let status = status_line - .split_whitespace() - .nth(1) - .and_then(|value| value.parse::().ok()) - .unwrap_or(502); - let mut headers = serde_json::Map::new(); - for line in lines { - let Some((name, value)) = line.split_once(':') else { - continue; - }; - headers.insert( - name.trim().to_ascii_lowercase(), - Value::String(value.trim().to_string()), - ); - } - Ok(MobileRelayHttpResponse { - status, - headers, - body: body.to_string(), - }) -} - -fn percent_encode_query(value: &str) -> String { - let mut encoded = String::new(); - for byte in value.bytes() { - match byte { - b'A'..=b'Z' | b'a'..=b'z' | b'0'..=b'9' | b'-' | b'.' | b'_' | b'~' => { - encoded.push(byte as char) - } - _ => encoded.push_str(&format!("%{byte:02X}")), - } - } - encoded -} - -fn mobile_relay_cipher(key_text: &str) -> Aes256Gcm { - let digest = Sha256::digest(key_text.as_bytes()); - Aes256Gcm::new_from_slice(&digest).expect("sha256 always returns 32 bytes") -} - -fn mobile_relay_nonce() -> [u8; 12] { - let now = now_ms(); - let mut nonce = [0_u8; 12]; - nonce[..8].copy_from_slice(&now.to_le_bytes()); - let random = uuid::Uuid::new_v4(); - nonce[8..].copy_from_slice(&random.as_bytes()[..4]); - nonce -} - -fn encrypt_mobile_relay_payload(cipher: &Aes256Gcm, payload: &Value) -> anyhow::Result { - let nonce = mobile_relay_nonce(); - let plaintext = serde_json::to_vec(payload)?; - let ciphertext = cipher - .encrypt(Nonce::from_slice(&nonce), plaintext.as_slice()) - .map_err(|_| anyhow::anyhow!("手机控制数据加密失败"))?; - Ok(serde_json::json!({ - "type": "encrypted", - "nonce": URL_SAFE_NO_PAD.encode(nonce), - "payload": URL_SAFE_NO_PAD.encode(ciphertext) - })) -} - -fn encode_mobile_relay_payload( - cipher: &Aes256Gcm, - plaintext_mode: bool, - payload: &Value, -) -> anyhow::Result { - if plaintext_mode { - return Ok(serde_json::json!({ - "type": "plaintext", - "payload": payload - })); - } - encrypt_mobile_relay_payload(cipher, payload) -} - -fn decrypt_mobile_relay_request(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { - if envelope.get("type").and_then(Value::as_str) == Some("plaintext") { - return envelope - .get("payload") - .cloned() - .ok_or_else(|| anyhow::anyhow!("手机控制明文数据包缺少 payload")); - } - decrypt_mobile_relay_envelope(cipher, envelope) -} - -fn decrypt_mobile_relay_envelope(cipher: &Aes256Gcm, envelope: &Value) -> anyhow::Result { - if envelope.get("type").and_then(Value::as_str) != Some("encrypted") { - anyhow::bail!("手机控制数据包未加密"); - } - let nonce_text = envelope - .get("nonce") - .and_then(Value::as_str) - .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 nonce"))?; - let payload_text = envelope - .get("payload") - .and_then(Value::as_str) - .ok_or_else(|| anyhow::anyhow!("手机控制数据包缺少 payload"))?; - let nonce = URL_SAFE_NO_PAD.decode(nonce_text)?; - if nonce.len() != 12 { - anyhow::bail!("手机控制 nonce 长度无效"); - } - let ciphertext = URL_SAFE_NO_PAD.decode(payload_text)?; - let plaintext = cipher - .decrypt(Nonce::from_slice(&nonce), ciphertext.as_slice()) - .map_err(|_| anyhow::anyhow!("手机控制数据解密失败"))?; - Ok(serde_json::from_slice(&plaintext)?) -} - -fn overlay_image_response() -> (String, Vec, String, &'static str) { - let not_found = || { - ( - "404 Not Found".to_string(), - serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": "图片覆盖层未启用或图片不可用" - })) - .unwrap_or_default(), - "application/json; charset=utf-8".to_string(), - "helper.overlay_image_not_found", - ) - }; - let settings = SettingsStore::default().load().unwrap_or_default(); - if !settings.codex_app_image_overlay_enabled { - return not_found(); - } - let image_path = PathBuf::from(settings.codex_app_image_overlay_path.trim()); - if image_path.as_os_str().is_empty() || !image_path.is_file() { - return not_found(); - } - let Some(content_type) = overlay_image_content_type(&image_path) else { - return not_found(); - }; - match std::fs::read(&image_path) { - Ok(bytes) => ( - "200 OK".to_string(), - bytes, - content_type.to_string(), - "helper.overlay_image_ok", - ), - Err(_) => not_found(), - } -} - -fn overlay_image_content_type(path: &Path) -> Option<&'static str> { - match path - .extension() - .and_then(|extension| extension.to_str()) - .map(str::to_ascii_lowercase) - .as_deref() - { - Some("png") => Some("image/png"), - Some("jpg") | Some("jpeg") => Some("image/jpeg"), - Some("webp") => Some("image/webp"), - Some("gif") => Some("image/gif"), - Some("bmp") => Some("image/bmp"), - _ => None, - } -} - -async fn handle_mobile_page_connection( - stream: &mut tokio::net::TcpStream, - method: &str, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_options_response(stream).await?; - stream.shutdown().await?; - return Ok(()); - } - write_http_no_store_response( - stream, - "200 OK", - "text/html; charset=utf-8", - mobile_page_html(&serde_json::to_string(&mobile_model_catalog_value())?).as_bytes(), - ) - .await?; - stream.shutdown().await?; - Ok(()) -} - -async fn handle_app_server_status_connection( - stream: &mut tokio::net::TcpStream, - method: &str, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_options_response(stream).await?; - stream.shutdown().await?; - return Ok(()); - } - let body = serde_json::to_vec(&app_server_status_response().await)?; - write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; - stream.shutdown().await?; - Ok(()) -} - -async fn handle_app_server_rpc_connection( - stream: &mut tokio::net::TcpStream, - method: &str, - request_body: &str, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_options_response(stream).await?; - stream.shutdown().await?; - return Ok(()); - } - let payload = serde_json::from_str::(request_body).unwrap_or_else(|error| { - serde_json::json!({ - "jsonrpc": "2.0", - "id": null, - "error": {"code": -32700, "message": error.to_string()} - }) - }); - let body = match app_server_rpc_once(payload).await { - Ok(response) => serde_json::to_vec(&response)?, - Err(error) => serde_json::to_vec(&serde_json::json!({ - "jsonrpc": "2.0", - "id": null, - "error": {"code": -32000, "message": error.to_string()} - }))?, - }; - write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; - stream.shutdown().await?; - Ok(()) -} - -async fn app_server_rpc_once(payload: Value) -> anyhow::Result { - let runtime = ensure_app_server_runtime().await?; - let url = format!("ws://127.0.0.1:{}/rpc", runtime.port); - let (mut socket, _) = tokio_tungstenite::connect_async(&url) - .await - .with_context(|| format!("failed to connect Codex app-server {url}"))?; - if payload.get("method").and_then(Value::as_str) != Some("initialize") { - let init_id = "__codex_plus_mobile_init__"; - let init_payload = serde_json::json!({ - "jsonrpc": "2.0", - "id": init_id, - "method": "initialize", - "params": { - "clientInfo": {"name": "Codex++ Mobile Relay", "version": "1.0.0"}, - "capabilities": {"experimentalApi": true} - } - }); - socket - .send(Message::Text(init_payload.to_string().into())) - .await - .context("failed to send app-server initialize")?; - let init_response = read_app_server_rpc_response( - &mut socket, - Some(Value::String(init_id.to_string())), - std::time::Duration::from_secs(20), - ) - .await?; - if let Some(error) = init_response.get("error") { - anyhow::bail!("app-server initialize failed: {error}"); - } - } - socket - .send(Message::Text(payload.to_string().into())) - .await - .context("failed to send app-server rpc")?; - let requested_id = payload.get("id").cloned(); - if payload.get("method").and_then(Value::as_str) == Some("turn/start") { - let thread_id = payload - .get("params") - .and_then(|params| params.get("threadId").or_else(|| params.get("thread_id"))) - .and_then(Value::as_str) - .map(str::to_string); - let response = read_app_server_rpc_response( - &mut socket, - requested_id, - std::time::Duration::from_secs(60), - ) - .await?; - if response.get("error").is_none() { - tokio::spawn(async move { - drain_app_server_turn_socket( - socket, - thread_id, - std::time::Duration::from_secs(600), - ) - .await; - }); - } - Ok(response) - } else { - read_app_server_rpc_response( - &mut socket, - requested_id, - std::time::Duration::from_secs(60), - ) - .await - } -} - -async fn read_app_server_rpc_response( - socket: &mut tokio_tungstenite::WebSocketStream< - tokio_tungstenite::MaybeTlsStream, - >, - requested_id: Option, - timeout: std::time::Duration, -) -> anyhow::Result { - let deadline = tokio::time::sleep(timeout); - tokio::pin!(deadline); - loop { - tokio::select! { - _ = &mut deadline => anyhow::bail!("app-server rpc timed out"), - message = socket.next() => { - let Some(message) = message else { - anyhow::bail!("app-server rpc connection closed"); - }; - let message = message.context("failed to read app-server rpc")?; - let response = app_server_message_json(message)?; - if response.get("id") == requested_id.as_ref() { - return Ok(response); - } - } - } - } -} - -async fn drain_app_server_turn_socket( - mut socket: tokio_tungstenite::WebSocketStream< - tokio_tungstenite::MaybeTlsStream, - >, - thread_id: Option, - timeout: std::time::Duration, -) { - let deadline = tokio::time::sleep(timeout); - tokio::pin!(deadline); - loop { - tokio::select! { - _ = &mut deadline => { - break; - } - message = socket.next() => { - let Some(message) = message else { - break; - }; - let Ok(message) = message else { - break; - }; - if matches!(message, Message::Ping(_) | Message::Pong(_)) { - continue; - } - let Ok(value) = app_server_message_json(message) else { - continue; - }; - if app_server_turn_finished_for_thread(&value, thread_id.as_deref()) { - break; - } - } - } - } - let _ = socket.close(None).await; -} - -fn app_server_message_json(message: Message) -> anyhow::Result { - let text = match message { - Message::Text(text) => text.to_string(), - Message::Binary(bytes) => { - String::from_utf8(bytes.to_vec()).context("app-server rpc returned non-utf8 binary")? - } - Message::Close(_) => anyhow::bail!("app-server rpc connection closed"), - _ => anyhow::bail!("app-server rpc returned unsupported websocket frame"), - }; - serde_json::from_str::(&text).context("app-server rpc returned invalid json") -} - -fn app_server_turn_finished_for_thread(message: &Value, thread_id: Option<&str>) -> bool { - let method = message - .get("method") - .and_then(Value::as_str) - .unwrap_or_default(); - if !matches!( - method, - "turn/completed" | "turn/failed" | "turn/cancelled" | "thread/status/changed" - ) { - return false; - } - if method == "thread/status/changed" - && !matches!( - message - .get("params") - .and_then(|params| params.get("status")) - .and_then(Value::as_str), - Some("idle" | "completed" | "failed" | "cancelled") - ) - { - return false; - } - let Some(expected) = thread_id else { - return true; - }; - app_server_event_thread_id(message) - .as_deref() - .map(|actual| actual == expected) - .unwrap_or_else(|| message.to_string().contains(expected)) -} - -fn app_server_event_thread_id(message: &Value) -> Option { - let params = message.get("params")?; - params - .get("threadId") - .or_else(|| params.get("thread_id")) - .or_else(|| params.get("thread").and_then(|thread| thread.get("id"))) - .or_else(|| params.get("turn").and_then(|turn| turn.get("threadId"))) - .or_else(|| params.get("turn").and_then(|turn| turn.get("thread_id"))) - .or_else(|| params.get("item").and_then(|item| item.get("threadId"))) - .or_else(|| params.get("item").and_then(|item| item.get("thread_id"))) - .and_then(Value::as_str) - .map(str::to_string) -} - -async fn handle_app_server_websocket_proxy_connection( - stream: &mut tokio::net::TcpStream, - request: &str, - method: &str, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_options_response(stream).await?; - stream.shutdown().await?; - return Ok(()); - } - let runtime = match ensure_app_server_runtime().await { - Ok(runtime) => runtime, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - stream.shutdown().await?; - return Ok(()); - } - }; - let upstream_request = rewrite_app_server_ws_request(request, runtime.port); - let mut upstream = tokio::net::TcpStream::connect(("127.0.0.1", runtime.port)).await?; - upstream.write_all(upstream_request.as_bytes()).await?; - let _ = tokio::io::copy_bidirectional(stream, &mut upstream).await?; - stream.shutdown().await?; - Ok(()) -} - -fn rewrite_app_server_ws_request(request: &str, app_server_port: u16) -> String { - let mut out = format!("GET /rpc HTTP/1.1\r\nHost: 127.0.0.1:{app_server_port}\r\n"); - for line in request.lines().skip(1) { - if line.is_empty() { - break; - } - let Some((name, _)) = line.split_once(':') else { - continue; - }; - let name = name.trim(); - if name.eq_ignore_ascii_case("host") - || name.eq_ignore_ascii_case("origin") - || name.eq_ignore_ascii_case("sec-websocket-protocol") - { - continue; - } - out.push_str(line); - out.push_str("\r\n"); - } - out.push_str("\r\n"); - out -} - -async fn app_server_status_response() -> Value { - match ensure_app_server_runtime().await { - Ok(runtime) => serde_json::json!({ - "status": "ok", - "port": runtime.port, - "pid": runtime.process_id().await, - "source": runtime.source, - "rpcUrl": format!("ws://127.0.0.1:{}/rpc", runtime.port), - "transport": "codex-app-server" - }), - Err(error) => serde_json::json!({ - "status": "failed", - "message": error.to_string() - }), - } -} - -async fn ensure_app_server_runtime() -> anyhow::Result> { - let runtime_slot = APP_SERVER_RUNTIME.get_or_init(|| Mutex::new(None)); - let mut guard = runtime_slot.lock().await; - if let Some(runtime) = guard.as_ref() { - if app_server_ready(runtime.port).await { - return Ok(runtime.clone()); - } - } - if let Some(runtime) = existing_app_server_runtime().await { - *guard = Some(runtime.clone()); - return Ok(runtime); - } - let runtime = Arc::new(start_app_server_runtime().await?); - *guard = Some(runtime.clone()); - Ok(runtime) -} - -async fn existing_app_server_runtime() -> Option> { - for key in ["CODEX_PLUS_APP_SERVER_URL", "CODEX_APP_SERVER_URL"] { - let Ok(value) = std::env::var(key) else { - continue; - }; - let Some(port) = app_server_port_from_url(&value) else { - continue; - }; - if app_server_ready(port).await { - return Some(Arc::new(AppServerRuntime { - port, - source: "external", - child: None, - })); - } - } - None -} - -fn app_server_port_from_url(value: &str) -> Option { - let trimmed = value.trim(); - let without_scheme = trimmed - .strip_prefix("ws://") - .or_else(|| trimmed.strip_prefix("http://"))?; - let authority = without_scheme.split('/').next().unwrap_or(without_scheme); - let (host, port) = authority.rsplit_once(':')?; - matches!(host, "127.0.0.1" | "localhost").then(|| port.parse().ok())? -} - -async fn start_app_server_runtime() -> anyhow::Result { - let port = reserve_app_server_port()?; - let codex = resolve_codex_cli_path(); - let mut command = Command::new(&codex); - command - .arg("app-server") - .arg("--listen") - .arg(format!("ws://127.0.0.1:{port}")) - .kill_on_drop(true) - .stdin(Stdio::null()) - .stdout(Stdio::null()) - .stderr(Stdio::null()); - #[cfg(windows)] - command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); - let child = command - .spawn() - .with_context(|| format!("无法启动 Codex app-server:{codex}"))?; - wait_for_app_server_ready(port).await?; - Ok(AppServerRuntime { - port, - source: "managed", - child: Some(Mutex::new(child)), - }) -} - -fn resolve_codex_cli_path() -> String { - std::env::var("CODEX_CLI_PATH") - .ok() - .filter(|path| !path.trim().is_empty()) - .filter(|path| Path::new(path).is_file()) - .or_else(|| { - crate::cli_wrapper::resolve_real_codex().map(|path| path.to_string_lossy().to_string()) - }) - .unwrap_or_else(|| "codex".to_string()) -} - -fn reserve_app_server_port() -> anyhow::Result { - for _ in 0..20 { - let listener = std::net::TcpListener::bind(("127.0.0.1", 0))?; - let port = listener.local_addr()?.port(); - if port != crate::protocol_proxy::DEFAULT_PROTOCOL_PROXY_PORT { - return Ok(port); - } - } - anyhow::bail!("无法为 Codex app-server 预留端口") -} - -async fn wait_for_app_server_ready(port: u16) -> anyhow::Result<()> { - for _ in 0..80 { - if app_server_ready(port).await { - return Ok(()); - } - tokio::time::sleep(std::time::Duration::from_millis(100)).await; - } - anyhow::bail!("Codex app-server 启动超时") -} - -async fn app_server_ready(port: u16) -> bool { - let Ok(mut stream) = tokio::net::TcpStream::connect(("127.0.0.1", port)).await else { - return false; - }; - let request = "GET /readyz HTTP/1.1\r\nHost: 127.0.0.1\r\nConnection: close\r\n\r\n"; - if stream.write_all(request.as_bytes()).await.is_err() { - return false; - } - let Ok(response) = read_http_request(&mut stream).await else { - return false; - }; - response.starts_with(b"HTTP/1.1 200") || response.starts_with(b"HTTP/1.0 200") -} - -fn mobile_model_catalog_value() -> Value { - let settings = SettingsStore::default().load().unwrap_or_default(); - let profile = settings.active_relay_profile(); - let mut models = Vec::new(); - for value in profile - .model_list - .split(['\r', '\n', ',']) - .chain(std::iter::once(profile.model.as_str())) - .map(str::trim) - .filter(|value| !value.is_empty()) - { - if !models.iter().any(|existing| existing == value) { - models.push(value.to_string()); - } - } - let default_model = if models.iter().any(|model| model == &profile.model) { - profile.model.trim().to_string() - } else { - models.first().cloned().unwrap_or_default() - }; - serde_json::json!({ - "status": if models.is_empty() { "not_configured" } else { "ok" }, - "model": profile.model.trim(), - "model_provider": profile.id.trim(), - "provider_name": if profile.name.trim().is_empty() { profile.id.trim() } else { profile.name.trim() }, - "default_model": default_model, - "models": models - }) -} - -fn mobile_page_html(model_catalog_json: &str) -> String { - let html = r#" - - - - - Codex++ Mobile - - - -
-
- Codex++ - 正在连接 WebSocket... -
-
-
- -
-
- -
-
- - -"#; - html.replace( - "__MODEL_CATALOG_JSON__", - &script_safe_json(model_catalog_json), - ) -} - -fn script_safe_json(json: &str) -> String { - json.replace('<', "\\u003c") - .replace('>', "\\u003e") - .replace('&', "\\u0026") - .replace('\u{2028}', "\\u2028") - .replace('\u{2029}', "\\u2029") -} - -async fn handle_models_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - if method == "OPTIONS" { - write_http_response( - stream, - "204 No Content", - "application/json; charset=utf-8", - &[], - ) - .await?; - stream.shutdown().await?; - return Ok(()); - } - - let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.models_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - let status = upstream.status(); - let is_success = upstream.is_success(); - let content_type = if upstream.content_type.is_empty() { - "application/json; charset=utf-8".to_string() - } else { - upstream.content_type.clone() - }; - let body = upstream.response.bytes().await?.to_vec(); - write_http_response(stream, &status, &content_type, &body).await?; - log_helper_response( - if is_success { - "helper.models_proxy_ok" - } else { - "helper.models_proxy_upstream_error" - }, - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn handle_protocol_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_body: &str, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - let request_json = serde_json::from_str::(request_body).ok(); - let upstream = - match crate::protocol_proxy::open_responses_proxy_request(request_body, request_user_agent) - .await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.protocol_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - if !upstream.is_success() { - let status = upstream.status(); - let upstream_content_type = upstream.content_type.clone(); - let upstream_body = upstream.response.bytes().await?.to_vec(); - let error = crate::protocol_proxy::responses_error_from_upstream( - upstream.status_code, - &upstream_content_type, - &upstream_body, - ); - let body = serde_json::to_vec(&error)?; - write_http_response(stream, &status, "application/json; charset=utf-8", &body).await?; - log_helper_response( - "helper.protocol_proxy_upstream_error", - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - if upstream.is_stream { - write_http_stream_headers(stream, "200 OK", "text/event-stream; charset=utf-8").await?; - if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { - let mut bytes_stream = upstream.response.bytes_stream(); - while let Some(chunk) = bytes_stream.next().await { - if let Ok(bytes) = chunk { - stream.write_all(&bytes).await?; - } else { - break; - } - } - log_helper_response( - "helper.protocol_proxy_stream_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let mut converter = request_json - .as_ref() - .map(crate::protocol_proxy::ChatSseToResponsesConverter::with_request) - .unwrap_or_default(); - let mut bytes_stream = upstream.response.bytes_stream(); - let mut stream_failed = false; - - while let Some(chunk) = bytes_stream.next().await { - match chunk { - Ok(bytes) => { - let converted = converter.push_bytes(&bytes); - if !converted.is_empty() { - stream.write_all(&converted).await?; - } - } - Err(error) => { - let failed = converter.fail( - format!("Stream error: {error}"), - Some("stream_error".to_string()), - ); - if !failed.is_empty() { - stream.write_all(&failed).await?; - } - stream_failed = true; - break; - } - } - } - - if !stream_failed { - let tail = converter.finish(); - if !tail.is_empty() { - stream.write_all(&tail).await?; - } - } - log_helper_response( - "helper.protocol_proxy_stream_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let upstream_body = upstream.response.bytes().await?; - if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { - write_http_response( - stream, - "200 OK", - if upstream.content_type.is_empty() { - "application/json; charset=utf-8" - } else { - &upstream.content_type - }, - &upstream_body, - ) - .await?; - log_helper_response( - "helper.protocol_proxy_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let chat_json: serde_json::Value = serde_json::from_slice(&upstream_body)?; - let response_json = if let Some(request_json) = request_json.as_ref() { - crate::protocol_proxy::chat_completion_to_response_with_request(chat_json, request_json)? - } else { - crate::protocol_proxy::chat_completion_to_response(chat_json)? - }; - let body = serde_json::to_vec(&response_json)?; - write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; - log_helper_response( - "helper.protocol_proxy_ok", - method, - path, - "200 OK", - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn handle_chat_completions_proxy_connection( - stream: &mut tokio::net::TcpStream, - request_body: &str, - request_user_agent: Option<&str>, - method: &str, - path: &str, - remote_addr_text: Option, -) -> anyhow::Result<()> { - let upstream = match crate::protocol_proxy::open_chat_completions_proxy_request( - request_body, - request_user_agent, - ) - .await - { - Ok(upstream) => upstream, - Err(error) => { - let body = serde_json::to_vec(&serde_json::json!({ - "status": "failed", - "message": error.to_string() - }))?; - write_http_response( - stream, - "502 Bad Gateway", - "application/json; charset=utf-8", - &body, - ) - .await?; - log_helper_response( - "helper.chat_completions_proxy_failed", - method, - path, - "502 Bad Gateway", - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - }; - - let status = upstream.status(); - let is_success = upstream.is_success(); - let content_type = if upstream.content_type.is_empty() { - "application/json; charset=utf-8".to_string() - } else { - upstream.content_type.clone() - }; - - if upstream.is_stream && is_success { - write_http_stream_headers(stream, &status, &content_type).await?; - let mut bytes_stream = upstream.response.bytes_stream(); - while let Some(chunk) = bytes_stream.next().await { - stream.write_all(&chunk?).await?; - } - log_helper_response( - "helper.chat_completions_proxy_stream_ok", - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - return Ok(()); - } - - let body = upstream.response.bytes().await?.to_vec(); - write_http_response(stream, &status, &content_type, &body).await?; - log_helper_response( - if is_success { - "helper.chat_completions_proxy_ok" - } else { - "helper.chat_completions_proxy_upstream_error" - }, - method, - path, - &status, - remote_addr_text, - ); - stream.shutdown().await?; - Ok(()) -} - -async fn write_http_response( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, - body: &[u8], -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", - body.len() - ); - stream.write_all(response.as_bytes()).await?; - stream.write_all(body).await?; - Ok(()) -} - -async fn write_http_no_store_response( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, - body: &[u8], -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-store\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", - body.len() - ); - stream.write_all(response.as_bytes()).await?; - stream.write_all(body).await?; - Ok(()) -} - -async fn write_options_response(stream: &mut tokio::net::TcpStream) -> anyhow::Result<()> { - stream - .write_all( - b"HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n", - ) - .await?; - Ok(()) -} - -async fn write_http_stream_headers( - stream: &mut tokio::net::TcpStream, - status: &str, - content_type: &str, -) -> anyhow::Result<()> { - let response = format!( - "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-cache\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nConnection: close\r\n\r\n" - ); - stream.write_all(response.as_bytes()).await?; - Ok(()) -} - -fn log_helper_response( - event: &str, - method: &str, - path: &str, - status: &str, - remote_addr_text: Option, -) { - let _ = crate::diagnostic_log::append_diagnostic_log( - event, - serde_json::json!({ - "method": method, - "path": path, - "status": status, - "remote_addr": remote_addr_text - }), - ); -} - -#[cfg(test)] -mod computer_use_tests { - use super::{ - MobileRelayHostConfig, header_value_from_request, overlay_image_content_type, - percent_encode_query, - }; - use std::path::Path; - - #[test] - fn overlay_image_content_type_accepts_common_images_only() { - assert_eq!( - overlay_image_content_type(Path::new("overlay.PNG")), - Some("image/png") - ); - assert_eq!( - overlay_image_content_type(Path::new("overlay.jpeg")), - Some("image/jpeg") - ); - assert_eq!( - overlay_image_content_type(Path::new("overlay.webp")), - Some("image/webp") - ); - assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); - } - - #[test] - fn header_value_from_request_reads_user_agent_case_insensitively() { - let request = "POST /v1/chat/completions HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: Codex/26.614\r\nContent-Length: 2\r\n\r\n{}"; - - assert_eq!( - header_value_from_request(request, "user-agent").as_deref(), - Some("Codex/26.614") - ); - } - - #[test] - fn mobile_relay_host_url_appends_host_path_and_credentials() { - let config = MobileRelayHostConfig { - relay_url: "ws://example.test:57323".to_string(), - room: "项目 A".to_string(), - token: "a+b&c".to_string(), - encryption_key: "test-key".to_string(), - }; - assert_eq!( - config.host_url(), - "ws://example.test:57323/host?room=%E9%A1%B9%E7%9B%AE%20A&token=a%2Bb%26c" - ); - } - - #[test] - fn mobile_relay_percent_encode_keeps_url_safe_bytes() { - assert_eq!(percent_encode_query("abc-._~ 1+2"), "abc-._~%201%2B2"); - } -} - -async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { - let mut buffer = Vec::new(); - let mut chunk = vec![0_u8; 4096]; - let mut header_end = None; - let mut content_length = 0_usize; - - loop { - let read = stream.read(&mut chunk).await?; - if read == 0 { - break; - } - buffer.extend_from_slice(&chunk[..read]); - if header_end.is_none() { - header_end = find_header_end(&buffer); - if let Some(end) = header_end { - content_length = content_length_from_headers(&buffer[..end]).unwrap_or(0); - } - } - if let Some(end) = header_end { - if buffer.len() >= end + 4 + content_length { - break; - } - } - if buffer.len() > 32 * 1024 * 1024 { - anyhow::bail!("HTTP 请求过大"); - } - } - - Ok(buffer) -} - -fn find_header_end(buffer: &[u8]) -> Option { - buffer.windows(4).position(|window| window == b"\r\n\r\n") -} - -fn content_length_from_headers(headers: &[u8]) -> Option { - let text = String::from_utf8_lossy(headers); - text.lines().find_map(|line| { - let (name, value) = line.split_once(':')?; - if name.trim().eq_ignore_ascii_case("content-length") { - value.trim().parse().ok() - } else { - None - } - }) -} - -fn http_request_body(request: &str) -> &str { - request - .split_once("\r\n\r\n") - .map(|(_, body)| body) - .unwrap_or_default() -} - -fn header_value_from_request(request: &str, header_name: &str) -> Option { - request - .split_once("\r\n\r\n") - .map(|(headers, _)| headers) - .unwrap_or(request) - .lines() - .skip(1) - .find_map(|line| { - let (name, value) = line.split_once(':')?; - name.trim() - .eq_ignore_ascii_case(header_name) - .then(|| value.trim().to_string()) - }) - .filter(|value| !value.is_empty()) -} - -fn sanitize_diagnostic_event(event: &str) -> String { - let sanitized = event - .chars() - .map(|ch| { - if ch.is_ascii_alphanumeric() || matches!(ch, '_' | '-' | '.') { - ch - } else { - '_' - } - }) - .collect::(); - if sanitized.is_empty() { - "event".to_string() - } else { - sanitized - } -} - -pub fn build_codex_arguments(debug_port: u16, extra_args: &[String]) -> Vec { - let mut args = vec![ - format!("--remote-debugging-port={debug_port}"), - format!("--remote-allow-origins=http://127.0.0.1:{debug_port}"), - ]; - args.extend(normalize_codex_extra_args(extra_args)); - args -} - -pub fn build_codex_arguments_with_native_menu_inspector( - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut args = build_codex_arguments(debug_port, &[]); - if inspector_port != 0 { - args.push(format!("--inspect=127.0.0.1:{inspector_port}")); - } - args.extend(normalize_codex_extra_args(extra_args)); - args -} - -pub fn build_codex_command(app_dir: &Path, debug_port: u16, extra_args: &[String]) -> Vec { - let mut command = vec![ - crate::app_paths::build_codex_executable(app_dir) - .to_string_lossy() - .to_string(), - ]; - command.extend(build_codex_arguments(debug_port, extra_args)); - command -} - -pub fn build_codex_command_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - crate::app_paths::build_codex_executable(app_dir) - .to_string_lossy() - .to_string(), - ]; - command.extend(build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )); - command -} - -pub fn build_packaged_activation( - app_dir: &Path, - debug_port: u16, - extra_args: &[String], -) -> Option { - Some(CodexLaunch::PackagedActivation { - app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, - arguments: command_line_arguments(&build_codex_arguments(debug_port, extra_args)), - process_id: None, - }) -} - -pub fn build_packaged_activation_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Option { - Some(CodexLaunch::PackagedActivation { - app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, - arguments: command_line_arguments(&build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )), - process_id: None, - }) -} - -async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - let mut last_error = None; - for _ in 0..20 { - match try_inject(debug_port, helper_port).await { - Ok(()) => return Ok(()), - Err(error) => { - last_error = Some(error); - tokio::time::sleep(std::time::Duration::from_millis(500)).await; - } - } - } - Err(last_error.unwrap_or_else(|| anyhow::anyhow!("Codex injection failed"))) -} - -pub async fn check_and_reinject_bridge(debug_port: u16, helper_port: u16) -> bool { - let healthy = match bridge_health_ok(debug_port).await { - Ok(healthy) => healthy, - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.health_check_failed", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port, - "message": error.to_string() - }), - ); - false - } - }; - if healthy { - return false; - } - - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_start", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port - }), - ); - match retry_injection(debug_port, helper_port).await { - Ok(()) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_ok", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port - }), - ); - true - } - Err(error) => { - let _ = crate::diagnostic_log::append_diagnostic_log( - "bridge.reinject_failed", - serde_json::json!({ - "debug_port": debug_port, - "helper_port": helper_port, - "message": error.to_string() - }), - ); - false - } - } -} - -async fn bridge_health_ok(debug_port: u16) -> anyhow::Result { - let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; - let websocket_url = target - .web_socket_debugger_url - .as_deref() - .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; - let result = crate::bridge::evaluate_script_with_await_promise( - websocket_url, - crate::bridge::bridge_health_check_script(), - true, - ) - .await?; - Ok(runtime_evaluate_result_is_true(&result)) -} - -fn runtime_evaluate_result_is_true(result: &Value) -> bool { - result - .get("result") - .and_then(|result| result.get("result")) - .and_then(|result| result.get("value")) - .and_then(Value::as_bool) - .unwrap_or(false) -} - -async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - let targets = crate::cdp::list_targets(debug_port).await?; - let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; - let websocket_url = target - .web_socket_debugger_url - .as_deref() - .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; - let settings = SettingsStore::default().load().unwrap_or_default(); - let script = crate::assets::injection_script_with_settings(helper_port, &settings); - let ctx = crate::routes::BridgeContext::core(Arc::new(crate::routes::CoreRuntimeService::new( - debug_port, - StatusStore::default(), - ))); - crate::bridge::install_bridge( - websocket_url, - crate::bridge::BRIDGE_BINDING_NAME, - Arc::new(move |path, payload| { - let ctx = ctx.clone(); - Box::pin( - async move { Ok(crate::routes::handle_bridge_request(ctx, &path, payload).await) }, - ) - }), - &[script], - ) - .await -} - -pub fn build_macos_open_command( - app_dir: &Path, - debug_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - "open".to_string(), - "-W".to_string(), - "-a".to_string(), - app_dir.to_string_lossy().to_string(), - "--args".to_string(), - ]; - command.extend(build_codex_arguments(debug_port, extra_args)); - command -} - -pub fn build_macos_open_command_with_native_menu_inspector( - app_dir: &Path, - debug_port: u16, - inspector_port: u16, - extra_args: &[String], -) -> Vec { - let mut command = vec![ - "open".to_string(), - "-W".to_string(), - "-a".to_string(), - app_dir.to_string_lossy().to_string(), - "--args".to_string(), - ]; - command.extend(build_codex_arguments_with_native_menu_inspector( - debug_port, - inspector_port, - extra_args, - )); - command -} - -pub fn build_macos_cleanup_command( - app_dir: &Path, - policy: MacosCleanupPolicy, -) -> Option> { - if policy == MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning { - return None; - } - let app_name = app_dir - .file_stem() - .and_then(|value| value.to_str()) - .unwrap_or("Codex"); - Some(vec![ - "osascript".to_string(), - "-e".to_string(), - format!( - r#"tell application "{}" to quit"#, - app_name.replace('"', "\\\"") - ), - ]) -} - -async fn run_macos_cleanup_command( - app_dir: &Path, - policy: MacosCleanupPolicy, -) -> anyhow::Result<()> { - let Some(command) = build_macos_cleanup_command(app_dir, policy) else { - return Ok(()); - }; - let Some(executable) = command.first() else { - return Ok(()); - }; - let _ = Command::new(executable) - .args(&command[1..]) - .stdout(Stdio::null()) - .stderr(Stdio::null()) - .status() - .await - .with_context(|| format!("failed to request macOS app quit for {}", app_dir.display()))?; - Ok(()) -} - -fn macos_app_dir_from_open_command(command: &[String]) -> Option { - let app_index = command.iter().position(|part| part == "-a")?; - command.get(app_index + 1).map(PathBuf::from) -} - -async fn is_macos_app_running(app_dir: &Path) -> bool { - if !cfg!(target_os = "macos") { - return false; - } - let app_name = app_dir - .file_stem() - .and_then(|value| value.to_str()) - .unwrap_or("Codex"); - let script = format!( - r#"application "{}" is running"#, - app_name.replace('"', "\\\"") - ); - let Ok(output) = Command::new("osascript") - .arg("-e") - .arg(script) - .stdout(Stdio::piped()) - .stderr(Stdio::null()) - .output() - .await - else { - return false; - }; - output.status.success() - && String::from_utf8_lossy(&output.stdout) - .trim() - .eq_ignore_ascii_case("true") -} - -#[cfg_attr(not(windows), allow(dead_code))] -fn post_launch_guard_artifacts_ready( - artifacts: &crate::computer_use_guard::GuardArtifacts, -) -> bool { - artifacts.notify_exe.is_some() - && artifacts.marketplace_path.is_some() - && (!artifacts.runtime_exports_needed || artifacts.sky_package_json.is_some()) -} - -#[cfg_attr(not(windows), allow(dead_code))] -fn should_stop_post_launch_computer_use_guard( - stable_unchanged_attempts: usize, - artifacts: &crate::computer_use_guard::GuardArtifacts, -) -> bool { - stable_unchanged_attempts >= POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS - && post_launch_guard_artifacts_ready(artifacts) -} - -#[cfg(windows)] -async fn run_post_launch_computer_use_guard( - home: PathBuf, - mut artifacts: Option, - shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, -) { - let mut previous_delay = 0_u64; - let mut stable_unchanged_attempts = 0_usize; - for (index, delay) in POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS - .iter() - .copied() - .enumerate() - { - let wait_seconds = delay.saturating_sub(previous_delay); - previous_delay = delay; - if wait_seconds > 0 { - tokio::select! { - _ = &mut *shutdown_rx => return, - _ = tokio::time::sleep(std::time::Duration::from_secs(wait_seconds)) => {} - } - } - let attempt = index + 1; - let resolved_artifacts = match artifacts.take() { - Some(artifacts) => artifacts, - None => match crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home) { - Ok(resolved) => resolved, - Err(error) => { - stable_unchanged_attempts = 0; - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_failed", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "phase": "resolve_artifacts", - "message": error.to_string() - }), - ); - continue; - } - }, - }; - let artifacts_ready = post_launch_guard_artifacts_ready(&resolved_artifacts); - artifacts = artifacts_ready.then_some(resolved_artifacts.clone()); - match crate::computer_use_guard::ensure_computer_use_config_with_artifacts( - &home, - &resolved_artifacts, - ) { - Ok(result) => { - if !result.changed && artifacts_ready { - stable_unchanged_attempts += 1; - } else { - stable_unchanged_attempts = 0; - } - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_ok", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "changed": result.changed, - "stable_unchanged_attempts": stable_unchanged_attempts, - "notify_exe": result - .notify_exe - .map(|path| path.to_string_lossy().to_string()) - }), - ); - if should_stop_post_launch_computer_use_guard( - stable_unchanged_attempts, - &resolved_artifacts, - ) { - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_stable_stop", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "stable_unchanged_attempts": stable_unchanged_attempts - }), - ); - return; - } - } - Err(error) => { - stable_unchanged_attempts = 0; - let _ = crate::diagnostic_log::append_diagnostic_log( - "computer_use_guard.post_launch_failed", - serde_json::json!({ - "attempt": attempt, - "delay_seconds": delay, - "message": error.to_string() - }), - ); - } - } - } -} - -#[cfg(windows)] -async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { - tokio::task::spawn_blocking(move || wait_for_windows_process_id_blocking(process_id)) - .await - .context("Windows process wait task failed")? -} - -#[cfg(windows)] -async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { - tokio::task::spawn_blocking(move || terminate_windows_process_id_blocking(process_id)) - .await - .context("Windows process termination task failed")? -} - -#[cfg(windows)] -fn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { - use windows::Win32::Foundation::{CloseHandle, WAIT_FAILED}; - use windows::Win32::System::Threading::{ - INFINITE, OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_SYNCHRONIZE, - WaitForSingleObject, - }; - - unsafe { - let handle = OpenProcess( - PROCESS_SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION, - false, - process_id, - ) - .with_context(|| format!("failed to open Windows process id {process_id}"))?; - let wait_result = WaitForSingleObject(handle, INFINITE); - let _ = CloseHandle(handle); - if wait_result == WAIT_FAILED { - anyhow::bail!("failed to wait for Windows process id {process_id}"); - } - } - Ok(()) -} - -#[cfg(windows)] -fn terminate_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { - use windows::Win32::Foundation::CloseHandle; - use windows::Win32::System::Threading::{ - OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_TERMINATE, TerminateProcess, - }; - - unsafe { - let handle = OpenProcess( - PROCESS_TERMINATE | PROCESS_QUERY_LIMITED_INFORMATION, - false, - process_id, - ) - .with_context(|| format!("failed to open Windows process id {process_id}"))?; - let terminate_result = TerminateProcess(handle, 1); - let _ = CloseHandle(handle); - terminate_result - .with_context(|| format!("failed to terminate Windows process id {process_id}"))?; - } - Ok(()) -} - -#[cfg(not(windows))] -async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { - anyhow::bail!("cannot wait for Windows process id {process_id} on this platform") -} - -#[cfg(not(windows))] -async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { - anyhow::bail!("cannot terminate Windows process id {process_id} on this platform") -} - -fn launch_status( - status: &str, - message: &str, - debug_port: u16, - helper_port: u16, - app_dir: &Path, -) -> LaunchStatus { - LaunchStatus { - status: status.to_string(), - message: message.to_string(), - started_at_ms: now_ms(), - debug_port: Some(debug_port), - helper_port: Some(helper_port), - codex_app: Some(app_dir.to_string_lossy().to_string()), - } -} - -fn now_ms() -> u64 { - SystemTime::now() - .duration_since(UNIX_EPOCH) - .unwrap_or_default() - .as_millis() as u64 -} - -fn command_line_arguments(args: &[String]) -> String { - args.iter() - .map(|arg| quote_windows_argument(arg)) - .collect::>() - .join(" ") -} - -fn quote_windows_argument(arg: &str) -> String { - if !arg.is_empty() && !arg.bytes().any(|byte| matches!(byte, b' ' | b'\t' | b'"')) { - return arg.to_string(); - } - let mut output = String::from("\""); - let mut backslashes = 0; - for ch in arg.chars() { - match ch { - '\\' => backslashes += 1, - '"' => { - output.push_str(&"\\".repeat(backslashes * 2 + 1)); - output.push('"'); - backslashes = 0; - } - _ => { - output.push_str(&"\\".repeat(backslashes)); - output.push(ch); - backslashes = 0; - } - } - } - output.push_str(&"\\".repeat(backslashes * 2)); - output.push('"'); - output -} - -#[cfg(not(windows))] -pub async fn activate_packaged_app( - _app_user_model_id: &str, - _arguments: &str, -) -> anyhow::Result { - anyhow::bail!("Packaged app activation is only supported on Windows") -} - -#[cfg(windows)] -pub async fn activate_packaged_app( - app_user_model_id: &str, - arguments: &str, -) -> anyhow::Result { - let app_user_model_id = app_user_model_id.to_string(); - let arguments = arguments.to_string(); - tokio::task::spawn_blocking(move || { - activate_packaged_app_blocking(&app_user_model_id, &arguments) - }) - .await - .context("packaged app activation task failed")? -} - -#[cfg(windows)] -fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> anyhow::Result { - use windows::Win32::System::Com::{ - CLSCTX_LOCAL_SERVER, COINIT_APARTMENTTHREADED, CoCreateInstance, CoInitializeEx, - CoUninitialize, - }; - use windows::Win32::UI::Shell::{ApplicationActivationManager, IApplicationActivationManager}; - use windows::core::HSTRING; - - unsafe { - let coinit = CoInitializeEx(None, COINIT_APARTMENTTHREADED); - let should_uninitialize = coinit.is_ok(); - coinit.ok().or_else(|error| { - const RPC_E_CHANGED_MODE: i32 = -2147417850; - if error.code().0 == RPC_E_CHANGED_MODE { - Ok(()) - } else { - Err(error) - } - })?; - - let result: windows::core::Result = (|| { - let manager: IApplicationActivationManager = - CoCreateInstance(&ApplicationActivationManager, None, CLSCTX_LOCAL_SERVER)?; - let process_id = manager.ActivateApplication( - &HSTRING::from(app_user_model_id), - &HSTRING::from(arguments), - windows::Win32::UI::Shell::ACTIVATEOPTIONS(0), - )?; - Ok(process_id) - })(); - - if should_uninitialize { - CoUninitialize(); - } - result.map_err(Into::into) - } -} - -#[cfg(test)] -mod tests { - use super::*; - - #[test] - fn post_launch_guard_stops_after_stable_ready_artifacts() { - let artifacts = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: false, - }; - - assert!(!should_stop_post_launch_computer_use_guard(2, &artifacts)); - assert!(should_stop_post_launch_computer_use_guard(3, &artifacts)); - } - - #[test] - fn post_launch_guard_keeps_retrying_until_artifacts_are_ready() { - let missing_notify = crate::computer_use_guard::GuardArtifacts { - notify_exe: None, - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: false, - }; - let missing_marketplace = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: None, - sky_package_json: None, - runtime_exports_needed: false, - }; - let missing_runtime_package = crate::computer_use_guard::GuardArtifacts { - notify_exe: Some(PathBuf::from("codex-computer-use.exe")), - marketplace_path: Some(PathBuf::from("openai-bundled")), - sky_package_json: None, - runtime_exports_needed: true, - }; - - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_notify - )); - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_marketplace - )); - assert!(!should_stop_post_launch_computer_use_guard( - 3, - &missing_runtime_package - )); - } -} + if settings.enhancements_enabled { + let injection_ready = hooks + .ensure_injection(debug_port, helper_port, &app_dir) + .await; + if injection_ready { + keep_launched_on_error = false; + // 注入成功后页面已加载,此时可以通过 CDP 清理 Electron Local Storage + // 中残留的带后缀模型名,避免模型选择器继续显示废弃项。 + crate::codex_local_storage::sanitize_local_storage_model_suffixes_nonfatal( + debug_port, + ) + .await; + hooks.start_bridge_watchdog(debug_port, helper_port).await?; + } else { + let degraded = launch_status( + "running_degraded", + "Codex launched; Codex++ enhancements are still waiting for the page bridge.", + debug_port, + helper_port, + &app_dir, + ); + options.status_store.save_latest(°raded)?; + hooks.write_status("running_degraded").await; + injection_degraded = true; + } + } + + if !settings.enhancements_enabled || !injection_degraded { + let status = launch_status( + "running", + "Codex++ launcher ready", + debug_port, + helper_port, + &app_dir, + ); + options.status_store.save_latest(&status)?; + hooks.write_status("running").await; + } + + Ok(LaunchHandle { + debug_port, + helper_port, + app_dir: app_dir.clone(), + launch, + status_store: status_store.clone(), + helper_started, + hooks: Arc::clone(&hooks), + }) + } + .await; + + match result { + Ok(handle) => Ok(handle), + Err(error) => { + if helper_started { + hooks.shutdown_helper(helper_port).await; + } + if let Some(launch) = &launched { + if !keep_launched_on_error { + hooks.terminate_codex(launch).await; + } + } + let message = error.to_string(); + let failure = launch_status("failed", &message, debug_port, helper_port, &app_dir); + let _ = status_store.save_latest(&failure); + hooks.write_status("failed").await; + Err(error) + } + } +} + +fn relay_protocol_proxy_enabled(settings: &BackendSettings) -> bool { + settings.active_relay_uses_protocol_proxy() +} + +fn select_native_menu_inspector_port(debug_port: u16) -> u16 { + let requested = debug_port.saturating_add(100); + crate::ports::select_platform_loopback_port(requested) +} + +fn start_native_menu_localizer(inspector_port: u16) { + if inspector_port == 0 { + return; + } + tokio::spawn(async move { + if let Err(error) = crate::native_menu::install_native_menu_localizer(inspector_port).await + { + let _ = crate::diagnostic_log::append_diagnostic_log( + "native_menu.localization_failed", + serde_json::json!({ + "inspector_port": inspector_port, + "message": error.to_string() + }), + ); + } + }); +} + +#[cfg(windows)] +fn apply_codexplusplus_window_icon_after_launch(process_id: u32) { + let icon_resource_path = + std::env::current_exe().unwrap_or_else(|_| PathBuf::from("codex-plus-plus.exe")); + tokio::spawn(async move { + for attempt in 1..=30 { + if crate::windows_apply_codexplusplus_icon_to_process_window( + process_id, + icon_resource_path.clone(), + ) { + return; + } + tokio::time::sleep(std::time::Duration::from_millis(500)).await; + if attempt == 30 { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.window_icon.apply_failed", + serde_json::json!({ + "process_id": process_id, + "icon_resource_path": icon_resource_path.to_string_lossy() + }), + ); + } + } + }); +} + +#[cfg(not(windows))] +fn apply_codexplusplus_window_icon_after_launch(_process_id: u32) {} + +pub trait IntoLaunchHooks { + fn into_launch_hooks(self) -> Arc; +} + +impl IntoLaunchHooks for &T +where + T: LaunchHooks + Clone + 'static, +{ + fn into_launch_hooks(self) -> Arc { + Arc::new(self.clone()) + } +} + +impl IntoLaunchHooks for Arc { + fn into_launch_hooks(self) -> Arc { + self + } +} + +impl IntoLaunchHooks for DefaultLaunchHooks { + fn into_launch_hooks(self) -> Arc { + Arc::new(self) + } +} + +impl DefaultLaunchHooks { + pub fn shared() -> Arc { + Arc::new(Self::default()) + } +} + +fn helper_bind_host() -> String { + std::env::var("CODEX_PLUS_HELPER_BIND") + .ok() + .map(|value| value.trim().to_string()) + .filter(|value| !value.is_empty()) + .unwrap_or_else(|| "127.0.0.1".to_string()) +} + +#[async_trait(?Send)] +impl LaunchHooks for DefaultLaunchHooks { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + settings: &BackendSettings, + ) -> anyhow::Result { + crate::app_paths::resolve_codex_app_dir_with_saved( + app_dir, + Some(settings.codex_app_path.as_str()), + ) + .ok_or_else(|| anyhow::anyhow!("Codex App directory not found")) + } + + fn select_debug_port(&self, requested: u16) -> u16 { + crate::ports::select_packaged_codex_debug_port(requested) + } + + fn select_helper_port(&self, requested: u16) -> u16 { + crate::ports::select_platform_loopback_port(requested) + } + + async fn load_settings(&self) -> anyhow::Result { + SettingsStore::default().load() + } + + async fn run_provider_sync(&self) -> anyhow::Result<()> { + anyhow::bail!("provider sync requires launcher hooks with codex-plus-data integration") + } + + async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.relay_profiles_enabled { + return Ok(()); + } + let profile = settings.active_relay_profile(); + let home = crate::relay_config::default_codex_home_dir(); + let common_config = crate::relay_config::normalize_config_text( + &[ + settings.relay_common_config_contents.as_str(), + settings.relay_context_config_contents.as_str(), + ] + .into_iter() + .map(str::trim) + .filter(|section| !section.is_empty()) + .collect::>() + .join("\n\n"), + ); + if profile.relay_mode == crate::settings::RelayMode::Official + && !profile.official_mix_api_key + { + let auth_contents = (!profile.auth_contents.trim().is_empty()) + .then_some(profile.auth_contents.as_str()); + crate::relay_config::clear_relay_config_to_home_with_auth_and_computer_use_guard( + &home, + auth_contents, + settings.computer_use_guard_enabled, + )?; + return Ok(()); + } + crate::relay_config::apply_relay_profile_to_home_with_switch_rules_and_computer_use_guard( + &home, + &profile, + &common_config, + settings.computer_use_guard_enabled, + )?; + Ok(()) + } + + async fn ensure_computer_use_config(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home)?; + crate::computer_use_guard::ensure_computer_use_config_with_artifacts(&home, &artifacts)?; + *self.computer_use_guard_artifacts.lock().await = Some(artifacts); + Ok(()) + } + + async fn ensure_plugin_marketplace_config( + &self, + settings: &BackendSettings, + ) -> anyhow::Result<()> { + if !settings.codex_app_plugin_marketplace_unlock { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + match crate::plugin_marketplace::ensure_openai_curated_marketplace_config(&home) { + Ok(configured) => { + if configured { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.openai_curated_marketplace_configured", + serde_json::json!({ + "home": home, + }), + ); + } + } + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "launcher.openai_curated_marketplace_config_failed", + serde_json::json!({ + "home": home, + "message": error.to_string(), + }), + ); + } + } + Ok(()) + } + + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { + let bind_host = helper_bind_host(); + let listener = tokio::net::TcpListener::bind((bind_host.as_str(), helper_port)) + .await + .with_context(|| { + format!("failed to bind helper runtime on {bind_host}:{helper_port}") + })?; + let _ = crate::diagnostic_log::append_diagnostic_log( + "helper.listening", + serde_json::json!({ + "helper_port": helper_port, + "bind_host": bind_host, + "address": format!("http://{bind_host}:{helper_port}") + }), + ); + let (shutdown_tx, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + accepted = listener.accept() => { + if let Ok((stream, addr)) = accepted { + tokio::spawn(async move { + let _ = handle_helper_connection(stream, Some(addr)).await; + }); + } + } + } + } + }); + *self.helper.lock().await = Some(HelperRuntime { + shutdown: shutdown_tx, + task, + }); + Ok(()) + } + + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result { + let native_menu_localization_enabled = settings.codex_app_native_menu_localization; + let native_menu_inspector_port = + native_menu_localization_enabled.then(|| select_native_menu_inspector_port(debug_port)); + let launch_extra_args = codex_extra_args_for_launch(settings, extra_args); + if cfg!(windows) { + let activation = if let Some(inspector_port) = native_menu_inspector_port { + build_packaged_activation_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + &launch_extra_args, + ) + } else { + build_packaged_activation(app_dir, debug_port, &launch_extra_args) + }; + if let Some(activation) = activation { + let CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + .. + } = &activation + else { + unreachable!(); + }; + let process_id = activate_packaged_app(app_user_model_id, arguments).await?; + apply_codexplusplus_window_icon_after_launch(process_id); + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + return Ok(match activation { + CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + .. + } => CodexLaunch::PackagedActivation { + app_user_model_id, + arguments, + process_id: Some(process_id), + }, + CodexLaunch::Process { .. } => unreachable!(), + }); + } + } + + if app_dir.extension().and_then(|value| value.to_str()) == Some("app") { + let cleanup_policy = if is_macos_app_running(app_dir).await { + MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning + } else { + MacosCleanupPolicy::QuitIfNotPreviouslyRunning + }; + let command = if let Some(inspector_port) = native_menu_inspector_port { + build_macos_open_command_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + &launch_extra_args, + ) + } else { + build_macos_open_command(app_dir, debug_port, &launch_extra_args) + }; + let executable = command + .first() + .ok_or_else(|| anyhow::anyhow!("macOS open command is empty"))?; + let child = Command::new(executable) + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .spawn() + .context("failed to launch macOS Codex app")?; + *self.child.lock().await = Some(child); + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + return Ok(CodexLaunch::Process { + command, + wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, + macos_cleanup_policy: Some(cleanup_policy), + }); + } + + let command = if let Some(inspector_port) = native_menu_inspector_port { + build_codex_command_with_native_menu_inspector( + app_dir, + debug_port, + inspector_port, + &launch_extra_args, + ) + } else { + build_codex_command(app_dir, debug_port, &launch_extra_args) + }; + let executable = command + .first() + .ok_or_else(|| anyhow::anyhow!("Codex command is empty"))?; + let mut child_command = Command::new(executable); + child_command + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()); + #[cfg(windows)] + child_command.creation_flags(crate::windows_integration::CREATE_NO_WINDOW); + let child = child_command + .spawn() + .with_context(|| format!("failed to launch Codex executable {executable}"))?; + *self.child.lock().await = Some(child); + if let Some(inspector_port) = native_menu_inspector_port { + start_native_menu_localizer(inspector_port); + } + Ok(CodexLaunch::Process { + command, + wait_strategy: ProcessWaitStrategy::TrackedChild, + macos_cleanup_policy: None, + }) + } + + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + retry_injection(debug_port, helper_port).await + } + async fn start_bridge_watchdog(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + let mut interval = tokio::time::interval(std::time::Duration::from_secs(5)); + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + _ = interval.tick() => { + let _ = check_and_reinject_bridge(debug_port, helper_port).await; + } + } + } + }); + if let Some(runtime) = self + .bridge_watchdog + .lock() + .await + .replace(BridgeWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + Ok(()) + } + + async fn start_computer_use_guard_watchdog( + &self, + settings: &BackendSettings, + ) -> anyhow::Result<()> { + #[cfg(windows)] + { + if !settings.computer_use_guard_enabled { + return Ok(()); + } + let home = crate::relay_config::default_codex_home_dir(); + let artifacts = self.computer_use_guard_artifacts.lock().await.clone(); + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + run_post_launch_computer_use_guard(home, artifacts, &mut shutdown_rx).await; + }); + if let Some(runtime) = self + .computer_use_guard_watchdog + .lock() + .await + .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + #[cfg(target_os = "macos")] + { + let _ = &settings; + let (shutdown, mut shutdown_rx) = tokio::sync::oneshot::channel(); + let task = tokio::spawn(async move { + loop { + tokio::select! { + _ = &mut shutdown_rx => break, + _ = tokio::time::sleep(std::time::Duration::from_secs(120)) => { + crate::computer_use_guard::kill_orphaned_computer_use_processes(); + } + } + } + }); + if let Some(runtime) = self + .computer_use_guard_watchdog + .lock() + .await + .replace(ComputerUseGuardWatchdogRuntime { shutdown, task }) + { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + Ok(()) + } + + async fn write_status(&self, _status: &str) {} + + async fn wait_for_codex_exit(&self, launch: &CodexLaunch) -> anyhow::Result<()> { + match launch { + CodexLaunch::Process { .. } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.wait().await; + } + } + CodexLaunch::PackagedActivation { process_id, .. } => { + if let Some(process_id) = process_id { + wait_for_windows_process_id(*process_id).await?; + } + } + } + let mut empty_streak = 0u32; + loop { + if crate::watcher::find_codex_processes().is_empty() { + empty_streak = empty_streak.saturating_add(1); + if empty_streak >= 3 { + break; + } + } else { + empty_streak = 0; + } + tokio::time::sleep(std::time::Duration::from_secs(2)).await; + } + Ok(()) + } + + async fn shutdown_helper(&self, _helper_port: u16) { + if let Some(runtime) = self.computer_use_guard_watchdog.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + if let Some(runtime) = self.bridge_watchdog.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + if let Some(runtime) = self.helper.lock().await.take() { + let _ = runtime.shutdown.send(()); + let _ = runtime.task.await; + } + } + + async fn terminate_codex(&self, launch: &CodexLaunch) { + match launch { + CodexLaunch::Process { + wait_strategy: ProcessWaitStrategy::ExternalWaitCommand, + command, + macos_cleanup_policy, + } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.kill().await; + } + if let (Some(app_dir), Some(cleanup_policy)) = ( + macos_app_dir_from_open_command(command), + *macos_cleanup_policy, + ) { + let _ = run_macos_cleanup_command(&app_dir, cleanup_policy).await; + } + } + CodexLaunch::Process { .. } => { + if let Some(mut child) = self.child.lock().await.take() { + let _ = child.kill().await; + } + } + CodexLaunch::PackagedActivation { + process_id: Some(process_id), + .. + } => { + let _ = terminate_windows_process_id(*process_id).await; + } + CodexLaunch::PackagedActivation { + process_id: None, .. + } => {} + } + } +} + +async fn handle_helper_connection( + mut stream: tokio::net::TcpStream, + remote_addr: Option, +) -> anyhow::Result<()> { + let request_bytes = read_http_request(&mut stream).await?; + let request = String::from_utf8_lossy(&request_bytes); + let request_line = request.lines().next().unwrap_or_default(); + let mut parts = request_line.split_whitespace(); + let method = parts.next().unwrap_or_default(); + let raw_path = parts.next().unwrap_or_default(); + let path = raw_path.split('?').next().unwrap_or(raw_path); + let request_body = http_request_body(&request); + let request_user_agent = header_value_from_request(&request, "user-agent"); + let remote_addr_text = remote_addr.map(|addr| addr.to_string()); + + let _ = crate::diagnostic_log::append_diagnostic_log( + "helper.request", + serde_json::json!({ + "method": method, + "path": path, + "request_line": request_line, + "remote_addr": remote_addr_text, + "body_bytes": request_body.len() + }), + ); + + if crate::protocol_proxy::is_responses_proxy_path(path) && method == "POST" { + return handle_protocol_proxy_connection( + &mut stream, + request_body, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + if crate::protocol_proxy::is_chat_completions_proxy_path(path) && method == "POST" { + return handle_chat_completions_proxy_connection( + &mut stream, + request_body, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + if crate::protocol_proxy::is_models_proxy_path(path) && matches!(method, "GET" | "OPTIONS") { + return handle_models_proxy_connection( + &mut stream, + request_user_agent.as_deref(), + method, + path, + remote_addr_text, + ) + .await; + } + + let (status, body, content_type, log_event) = + if matches!(path, "/backend/status" | "/backend/repair") + && matches!(method, "GET" | "POST" | "OPTIONS") + { + ( + "200 OK".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "ok", + "message": "后端已连接", + "version": crate::version::VERSION, + "transport": "http-helper" + }))?, + "application/json; charset=utf-8".to_string(), + if path == "/backend/status" { + "helper.backend_status_ok" + } else { + "helper.backend_repair_ok" + }, + ) + } else if path == "/diagnostics/log" && matches!(method, "POST" | "OPTIONS") { + if method == "POST" { + let detail = serde_json::from_str::(request_body) + .unwrap_or_else(|error| { + serde_json::json!({ + "parse_error": error.to_string(), + "raw": request_body + }) + }); + let event = detail + .get("event") + .and_then(serde_json::Value::as_str) + .map(sanitize_diagnostic_event) + .unwrap_or_else(|| "event".to_string()); + let _ = crate::diagnostic_log::append_diagnostic_log( + &format!("renderer.{event}"), + detail, + ); + } + ( + "200 OK".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "ok", + "message": "日志已记录" + }))?, + "application/json; charset=utf-8".to_string(), + "helper.diagnostics_log_ok", + ) + } else if path == "/overlay/image" && matches!(method, "GET" | "OPTIONS") { + if method == "OPTIONS" { + ( + "200 OK".to_string(), + Vec::new(), + "application/octet-stream".to_string(), + "helper.overlay_image_options", + ) + } else { + overlay_image_response() + } + } else { + ( + "404 Not Found".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": "未知后端路径" + }))?, + "application/json; charset=utf-8".to_string(), + "helper.unknown_path", + ) + }; + let _ = crate::diagnostic_log::append_diagnostic_log( + log_event, + serde_json::json!({ + "method": method, + "path": path, + "status": status, + "remote_addr": remote_addr_text + }), + ); + let response = if method == "OPTIONS" { + format!( + "HTTP/1.1 204 No Content\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: 0\r\nConnection: close\r\n\r\n" + ) + } else { + format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ) + }; + stream.write_all(response.as_bytes()).await?; + if method != "OPTIONS" { + stream.write_all(&body).await?; + } + stream.shutdown().await?; + Ok(()) +} + +fn overlay_image_response() -> (String, Vec, String, &'static str) { + let not_found = || { + ( + "404 Not Found".to_string(), + serde_json::to_vec(&serde_json::json!({ + "status": "failed", + "message": "图片覆盖层未启用或图片不可用" + })) + .unwrap_or_default(), + "application/json; charset=utf-8".to_string(), + "helper.overlay_image_not_found", + ) + }; + let settings = SettingsStore::default().load().unwrap_or_default(); + if !settings.codex_app_image_overlay_enabled { + return not_found(); + } + let image_path = PathBuf::from(settings.codex_app_image_overlay_path.trim()); + if image_path.as_os_str().is_empty() || !image_path.is_file() { + return not_found(); + } + let Some(content_type) = overlay_image_content_type(&image_path) else { + return not_found(); + }; + match std::fs::read(&image_path) { + Ok(bytes) => ( + "200 OK".to_string(), + bytes, + content_type.to_string(), + "helper.overlay_image_ok", + ), + Err(_) => not_found(), + } +} + +fn overlay_image_content_type(path: &Path) -> Option<&'static str> { + match path + .extension() + .and_then(|extension| extension.to_str()) + .map(str::to_ascii_lowercase) + .as_deref() + { + Some("png") => Some("image/png"), + Some("jpg") | Some("jpeg") => Some("image/jpeg"), + Some("webp") => Some("image/webp"), + Some("gif") => Some("image/gif"), + Some("bmp") => Some("image/bmp"), + _ => None, + } +} + +async fn handle_models_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + if method == "OPTIONS" { + write_http_response( + stream, + "204 No Content", + "application/json; charset=utf-8", + &[], + ) + .await?; + stream.shutdown().await?; + return Ok(()); + } + let upstream = match crate::protocol_proxy::open_models_proxy_request(request_user_agent).await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec( + &serde_json::json!({ "status": "failed", "message": error.to_string() }), + )?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.models_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + let status = upstream.status(); + let is_success = upstream.is_success(); + let content_type = if upstream.content_type.is_empty() { + "application/json; charset=utf-8".to_string() + } else { + upstream.content_type.clone() + }; + let body = upstream.response.bytes().await?.to_vec(); + write_http_response(stream, &status, &content_type, &body).await?; + log_helper_response( + if is_success { + "helper.models_proxy_ok" + } else { + "helper.models_proxy_upstream_error" + }, + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} +async fn handle_protocol_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_body: &str, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + let request_json = serde_json::from_str::(request_body).ok(); + let upstream = match crate::protocol_proxy::open_responses_proxy_request( + request_body, + request_user_agent, + ) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec( + &serde_json::json!({ "status": "failed", "message": error.to_string() }), + )?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + if !upstream.is_success() { + let status = upstream.status(); + let upstream_content_type = upstream.content_type.clone(); + let upstream_body = upstream.response.bytes().await?.to_vec(); + let error = crate::protocol_proxy::responses_error_from_upstream( + upstream.status_code, + &upstream_content_type, + &upstream_body, + ); + let body = serde_json::to_vec(&error)?; + write_http_response(stream, &status, "application/json; charset=utf-8", &body).await?; + log_helper_response( + "helper.protocol_proxy_upstream_error", + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + if upstream.is_stream { + write_http_stream_headers(stream, "200 OK", "text/event-stream; charset=utf-8").await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + let mut bytes_stream = upstream.response.bytes_stream(); + while let Some(chunk) = bytes_stream.next().await { + if let Ok(bytes) = chunk { + stream.write_all(&bytes).await?; + } else { + break; + } + } + log_helper_response( + "helper.protocol_proxy_stream_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let mut converter = request_json + .as_ref() + .map(crate::protocol_proxy::ChatSseToResponsesConverter::with_request) + .unwrap_or_default(); + let mut bytes_stream = upstream.response.bytes_stream(); + let mut stream_failed = false; + while let Some(chunk) = bytes_stream.next().await { + match chunk { + Ok(bytes) => { + let converted = converter.push_bytes(&bytes); + if !converted.is_empty() { + stream.write_all(&converted).await?; + } + } + Err(error) => { + let failed = converter.fail( + format!("Stream error: {error}"), + Some("stream_error".to_string()), + ); + if !failed.is_empty() { + stream.write_all(&failed).await?; + } + stream_failed = true; + break; + } + } + } + if !stream_failed { + let tail = converter.finish(); + if !tail.is_empty() { + stream.write_all(&tail).await?; + } + } + log_helper_response( + "helper.protocol_proxy_stream_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let upstream_body = upstream.response.bytes().await?; + if upstream.wire_api == crate::protocol_proxy::UpstreamWireApi::Responses { + write_http_response( + stream, + "200 OK", + if upstream.content_type.is_empty() { + "application/json; charset=utf-8" + } else { + &upstream.content_type + }, + &upstream_body, + ) + .await?; + log_helper_response( + "helper.protocol_proxy_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let chat_json: serde_json::Value = serde_json::from_slice(&upstream_body)?; + let response_json = if let Some(request_json) = request_json.as_ref() { + crate::protocol_proxy::chat_completion_to_response_with_request(chat_json, request_json)? + } else { + crate::protocol_proxy::chat_completion_to_response(chat_json)? + }; + let body = serde_json::to_vec(&response_json)?; + write_http_response(stream, "200 OK", "application/json; charset=utf-8", &body).await?; + log_helper_response( + "helper.protocol_proxy_ok", + method, + path, + "200 OK", + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} +async fn handle_chat_completions_proxy_connection( + stream: &mut tokio::net::TcpStream, + request_body: &str, + request_user_agent: Option<&str>, + method: &str, + path: &str, + remote_addr_text: Option, +) -> anyhow::Result<()> { + let upstream = match crate::protocol_proxy::open_chat_completions_proxy_request( + request_body, + request_user_agent, + ) + .await + { + Ok(upstream) => upstream, + Err(error) => { + let body = serde_json::to_vec( + &serde_json::json!({ "status": "failed", "message": error.to_string() }), + )?; + write_http_response( + stream, + "502 Bad Gateway", + "application/json; charset=utf-8", + &body, + ) + .await?; + log_helper_response( + "helper.chat_completions_proxy_failed", + method, + path, + "502 Bad Gateway", + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + }; + let status = upstream.status(); + let is_success = upstream.is_success(); + let content_type = if upstream.content_type.is_empty() { + "application/json; charset=utf-8".to_string() + } else { + upstream.content_type.clone() + }; + if upstream.is_stream && is_success { + write_http_stream_headers(stream, &status, &content_type).await?; + let mut bytes_stream = upstream.response.bytes_stream(); + while let Some(chunk) = bytes_stream.next().await { + stream.write_all(&chunk?).await?; + } + log_helper_response( + "helper.chat_completions_proxy_stream_ok", + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + return Ok(()); + } + let body = upstream.response.bytes().await?.to_vec(); + write_http_response(stream, &status, &content_type, &body).await?; + log_helper_response( + if is_success { + "helper.chat_completions_proxy_ok" + } else { + "helper.chat_completions_proxy_upstream_error" + }, + method, + path, + &status, + remote_addr_text, + ); + stream.shutdown().await?; + Ok(()) +} + +async fn write_http_response( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, + body: &[u8], +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nContent-Length: {}\r\nConnection: close\r\n\r\n", + body.len() + ); + stream.write_all(response.as_bytes()).await?; + stream.write_all(body).await?; + Ok(()) +} + +async fn write_http_stream_headers( + stream: &mut tokio::net::TcpStream, + status: &str, + content_type: &str, +) -> anyhow::Result<()> { + let response = format!( + "HTTP/1.1 {status}\r\nContent-Type: {content_type}\r\nCache-Control: no-cache\r\nAccess-Control-Allow-Origin: *\r\nAccess-Control-Allow-Methods: GET, POST, OPTIONS\r\nAccess-Control-Allow-Headers: Content-Type, Authorization\r\nConnection: close\r\n\r\n" + ); + stream.write_all(response.as_bytes()).await?; + Ok(()) +} + +fn log_helper_response( + event: &str, + method: &str, + path: &str, + status: &str, + remote_addr_text: Option, +) { + let _ = crate::diagnostic_log::append_diagnostic_log( + event, + serde_json::json!({ + "method": method, + "path": path, + "status": status, + "remote_addr": remote_addr_text + }), + ); +} + +#[cfg(test)] +mod computer_use_tests { + use super::{header_value_from_request, overlay_image_content_type}; + use std::path::Path; + + #[test] + fn overlay_image_content_type_accepts_common_images_only() { + assert_eq!( + overlay_image_content_type(Path::new("overlay.PNG")), + Some("image/png") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.jpeg")), + Some("image/jpeg") + ); + assert_eq!( + overlay_image_content_type(Path::new("overlay.webp")), + Some("image/webp") + ); + assert_eq!(overlay_image_content_type(Path::new("overlay.txt")), None); + } + + #[test] + fn header_value_from_request_reads_user_agent_case_insensitively() { + let request = "POST /v1/chat/completions HTTP/1.1\r\nHost: 127.0.0.1\r\nUser-Agent: Codex/26.614\r\nContent-Length: 2\r\n\r\n{}"; + + assert_eq!( + header_value_from_request(request, "user-agent").as_deref(), + Some("Codex/26.614") + ); + } +} + +async fn read_http_request(stream: &mut tokio::net::TcpStream) -> anyhow::Result> { + let mut buffer = Vec::new(); + let mut chunk = vec![0_u8; 4096]; + let mut header_end = None; + let mut content_length = 0_usize; + + loop { + let read = stream.read(&mut chunk).await?; + if read == 0 { + break; + } + buffer.extend_from_slice(&chunk[..read]); + if header_end.is_none() { + header_end = find_header_end(&buffer); + if let Some(end) = header_end { + content_length = content_length_from_headers(&buffer[..end]).unwrap_or(0); + } + } + if let Some(end) = header_end { + if buffer.len() >= end + 4 + content_length { + break; + } + } + if buffer.len() > 32 * 1024 * 1024 { + anyhow::bail!("HTTP 请求过大"); + } + } + + Ok(buffer) +} + +fn find_header_end(buffer: &[u8]) -> Option { + buffer.windows(4).position(|window| window == b"\r\n\r\n") +} + +fn content_length_from_headers(headers: &[u8]) -> Option { + let text = String::from_utf8_lossy(headers); + text.lines().find_map(|line| { + let (name, value) = line.split_once(':')?; + if name.trim().eq_ignore_ascii_case("content-length") { + value.trim().parse().ok() + } else { + None + } + }) +} + +fn http_request_body(request: &str) -> &str { + request + .split_once("\r\n\r\n") + .map(|(_, body)| body) + .unwrap_or_default() +} + +fn header_value_from_request(request: &str, header_name: &str) -> Option { + request + .split_once("\r\n\r\n") + .map(|(headers, _)| headers) + .unwrap_or(request) + .lines() + .skip(1) + .find_map(|line| { + let (name, value) = line.split_once(':')?; + name.trim() + .eq_ignore_ascii_case(header_name) + .then(|| value.trim().to_string()) + }) + .filter(|value| !value.is_empty()) +} + +fn sanitize_diagnostic_event(event: &str) -> String { + let sanitized = event + .chars() + .map(|ch| { + if ch.is_ascii_alphanumeric() || matches!(ch, '_' | '-' | '.') { + ch + } else { + '_' + } + }) + .collect::(); + if sanitized.is_empty() { + "event".to_string() + } else { + sanitized + } +} + +pub fn build_codex_arguments(debug_port: u16, extra_args: &[String]) -> Vec { + let mut args = vec![ + format!("--remote-debugging-port={debug_port}"), + format!("--remote-allow-origins=http://127.0.0.1:{debug_port}"), + ]; + args.extend(normalize_codex_extra_args(extra_args)); + args +} + +pub fn build_codex_arguments_for_settings( + debug_port: u16, + settings: &BackendSettings, +) -> Vec { + build_codex_arguments( + debug_port, + &codex_extra_args_for_launch(settings, &settings.codex_extra_args), + ) +} + +fn codex_extra_args_for_launch(settings: &BackendSettings, extra_args: &[String]) -> Vec { + let mut args = Vec::new(); + if settings.codex_app_fast_startup && !has_host_resolver_rules(extra_args) { + args.push(statsig_fast_fail_host_resolver_rule()); + } + args.extend(normalize_codex_extra_args(extra_args)); + args +} + +fn has_host_resolver_rules(args: &[String]) -> bool { + args.iter() + .any(|arg| arg.trim().starts_with("--host-resolver-rules")) +} + +fn statsig_fast_fail_host_resolver_rule() -> String { + [ + "--host-resolver-rules=MAP ab.chatgpt.com 127.0.0.1", + "MAP featureassets.org 127.0.0.1", + "MAP prodregistryv2.org 127.0.0.1", + "MAP api.statsigcdn.com 127.0.0.1", + "MAP statsigapi.net 127.0.0.1", + "MAP cloudflare-dns.com 127.0.0.1", + ] + .join(",") +} + +pub fn build_codex_arguments_with_native_menu_inspector( + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut args = build_codex_arguments(debug_port, &[]); + if inspector_port != 0 { + args.push(format!("--inspect=127.0.0.1:{inspector_port}")); + } + args.extend(normalize_codex_extra_args(extra_args)); + args +} + +pub fn build_codex_command(app_dir: &Path, debug_port: u16, extra_args: &[String]) -> Vec { + let mut command = vec![ + crate::app_paths::build_codex_executable(app_dir) + .to_string_lossy() + .to_string(), + ]; + command.extend(build_codex_arguments(debug_port, extra_args)); + command +} + +pub fn build_codex_command_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + crate::app_paths::build_codex_executable(app_dir) + .to_string_lossy() + .to_string(), + ]; + command.extend(build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )); + command +} + +pub fn build_packaged_activation( + app_dir: &Path, + debug_port: u16, + extra_args: &[String], +) -> Option { + Some(CodexLaunch::PackagedActivation { + app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, + arguments: command_line_arguments(&build_codex_arguments(debug_port, extra_args)), + process_id: None, + }) +} + +pub fn build_packaged_activation_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Option { + Some(CodexLaunch::PackagedActivation { + app_user_model_id: crate::app_paths::packaged_app_user_model_id(app_dir)?, + arguments: command_line_arguments(&build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )), + process_id: None, + }) +} + +async fn retry_injection(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let mut last_error = None; + for _ in 0..20 { + match try_inject(debug_port, helper_port).await { + Ok(()) => return Ok(()), + Err(error) => { + last_error = Some(error); + tokio::time::sleep(std::time::Duration::from_millis(500)).await; + } + } + } + Err(last_error.unwrap_or_else(|| anyhow::anyhow!("Codex injection failed"))) +} + +pub async fn check_and_reinject_bridge(debug_port: u16, helper_port: u16) -> bool { + let healthy = match bridge_health_ok(debug_port).await { + Ok(healthy) => healthy, + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.health_check_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "message": error.to_string() + }), + ); + false + } + }; + if healthy { + return false; + } + + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_start", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port + }), + ); + match retry_injection(debug_port, helper_port).await { + Ok(()) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_ok", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port + }), + ); + true + } + Err(error) => { + let _ = crate::diagnostic_log::append_diagnostic_log( + "bridge.reinject_failed", + serde_json::json!({ + "debug_port": debug_port, + "helper_port": helper_port, + "message": error.to_string() + }), + ); + false + } + } +} + +async fn bridge_health_ok(debug_port: u16) -> anyhow::Result { + let targets = crate::cdp::list_targets(debug_port).await?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; + let websocket_url = target + .web_socket_debugger_url + .as_deref() + .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; + let result = crate::bridge::evaluate_script_with_await_promise( + websocket_url, + crate::bridge::bridge_health_check_script(), + true, + ) + .await?; + Ok(runtime_evaluate_result_is_true(&result)) +} + +fn runtime_evaluate_result_is_true(result: &Value) -> bool { + result + .get("result") + .and_then(|result| result.get("result")) + .and_then(|result| result.get("value")) + .and_then(Value::as_bool) + .unwrap_or(false) +} + +async fn try_inject(debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + let targets = crate::cdp::list_targets(debug_port).await?; + let target = crate::cdp::pick_injectable_codex_page_target(&targets)?; + let websocket_url = target + .web_socket_debugger_url + .as_deref() + .ok_or_else(|| anyhow::anyhow!("selected CDP target has no websocket URL"))?; + let settings = SettingsStore::default().load().unwrap_or_default(); + let script = crate::assets::injection_script_with_settings(helper_port, &settings); + let ctx = crate::routes::BridgeContext::core(Arc::new(crate::routes::CoreRuntimeService::new( + debug_port, + StatusStore::default(), + ))); + crate::bridge::install_bridge( + websocket_url, + crate::bridge::BRIDGE_BINDING_NAME, + Arc::new(move |path, payload| { + let ctx = ctx.clone(); + Box::pin( + async move { Ok(crate::routes::handle_bridge_request(ctx, &path, payload).await) }, + ) + }), + &[script], + ) + .await +} + +pub fn build_macos_open_command( + app_dir: &Path, + debug_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + "open".to_string(), + "-W".to_string(), + "-a".to_string(), + app_dir.to_string_lossy().to_string(), + "--args".to_string(), + ]; + command.extend(build_codex_arguments(debug_port, extra_args)); + command +} + +pub fn build_macos_open_command_with_native_menu_inspector( + app_dir: &Path, + debug_port: u16, + inspector_port: u16, + extra_args: &[String], +) -> Vec { + let mut command = vec![ + "open".to_string(), + "-W".to_string(), + "-a".to_string(), + app_dir.to_string_lossy().to_string(), + "--args".to_string(), + ]; + command.extend(build_codex_arguments_with_native_menu_inspector( + debug_port, + inspector_port, + extra_args, + )); + command +} + +pub fn build_macos_cleanup_command( + app_dir: &Path, + policy: MacosCleanupPolicy, +) -> Option> { + if policy == MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning { + return None; + } + let app_name = app_dir + .file_stem() + .and_then(|value| value.to_str()) + .unwrap_or("Codex"); + Some(vec![ + "osascript".to_string(), + "-e".to_string(), + format!( + r#"tell application "{}" to quit"#, + app_name.replace('"', "\\\"") + ), + ]) +} + +async fn run_macos_cleanup_command( + app_dir: &Path, + policy: MacosCleanupPolicy, +) -> anyhow::Result<()> { + let Some(command) = build_macos_cleanup_command(app_dir, policy) else { + return Ok(()); + }; + let Some(executable) = command.first() else { + return Ok(()); + }; + let _ = Command::new(executable) + .args(&command[1..]) + .stdout(Stdio::null()) + .stderr(Stdio::null()) + .status() + .await + .with_context(|| format!("failed to request macOS app quit for {}", app_dir.display()))?; + Ok(()) +} + +fn macos_app_dir_from_open_command(command: &[String]) -> Option { + let app_index = command.iter().position(|part| part == "-a")?; + command.get(app_index + 1).map(PathBuf::from) +} + +async fn is_macos_app_running(app_dir: &Path) -> bool { + if !cfg!(target_os = "macos") { + return false; + } + let app_name = app_dir + .file_stem() + .and_then(|value| value.to_str()) + .unwrap_or("Codex"); + let script = format!( + r#"application "{}" is running"#, + app_name.replace('"', "\\\"") + ); + let Ok(output) = Command::new("osascript") + .arg("-e") + .arg(script) + .stdout(Stdio::piped()) + .stderr(Stdio::null()) + .output() + .await + else { + return false; + }; + output.status.success() + && String::from_utf8_lossy(&output.stdout) + .trim() + .eq_ignore_ascii_case("true") +} + +#[cfg_attr(not(windows), allow(dead_code))] +fn post_launch_guard_artifacts_ready( + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + artifacts.notify_exe.is_some() + && artifacts.marketplace_path.is_some() + && (!artifacts.runtime_exports_needed || artifacts.sky_package_json.is_some()) +} + +#[cfg_attr(not(windows), allow(dead_code))] +fn should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts: usize, + artifacts: &crate::computer_use_guard::GuardArtifacts, +) -> bool { + stable_unchanged_attempts >= POST_LAUNCH_COMPUTER_USE_GUARD_STABLE_ATTEMPTS + && post_launch_guard_artifacts_ready(artifacts) +} + +#[cfg(windows)] +async fn run_post_launch_computer_use_guard( + home: PathBuf, + mut artifacts: Option, + shutdown_rx: &mut tokio::sync::oneshot::Receiver<()>, +) { + let mut previous_delay = 0_u64; + let mut stable_unchanged_attempts = 0_usize; + for (index, delay) in POST_LAUNCH_COMPUTER_USE_GUARD_SECONDS + .iter() + .copied() + .enumerate() + { + let wait_seconds = delay.saturating_sub(previous_delay); + previous_delay = delay; + if wait_seconds > 0 { + tokio::select! { + _ = &mut *shutdown_rx => return, + _ = tokio::time::sleep(std::time::Duration::from_secs(wait_seconds)) => {} + } + } + let attempt = index + 1; + let resolved_artifacts = match artifacts.take() { + Some(artifacts) => artifacts, + None => match crate::computer_use_guard::resolve_computer_use_guard_artifacts(&home) { + Ok(resolved) => resolved, + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "phase": "resolve_artifacts", + "message": error.to_string() + }), + ); + continue; + } + }, + }; + let artifacts_ready = post_launch_guard_artifacts_ready(&resolved_artifacts); + artifacts = artifacts_ready.then_some(resolved_artifacts.clone()); + match crate::computer_use_guard::ensure_computer_use_config_with_artifacts( + &home, + &resolved_artifacts, + ) { + Ok(result) => { + if !result.changed && artifacts_ready { + stable_unchanged_attempts += 1; + } else { + stable_unchanged_attempts = 0; + } + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_ok", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "changed": result.changed, + "stable_unchanged_attempts": stable_unchanged_attempts, + "notify_exe": result + .notify_exe + .map(|path| path.to_string_lossy().to_string()) + }), + ); + if should_stop_post_launch_computer_use_guard( + stable_unchanged_attempts, + &resolved_artifacts, + ) { + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_stable_stop", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "stable_unchanged_attempts": stable_unchanged_attempts + }), + ); + return; + } + } + Err(error) => { + stable_unchanged_attempts = 0; + let _ = crate::diagnostic_log::append_diagnostic_log( + "computer_use_guard.post_launch_failed", + serde_json::json!({ + "attempt": attempt, + "delay_seconds": delay, + "message": error.to_string() + }), + ); + } + } + } +} + +#[cfg(windows)] +async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { + tokio::task::spawn_blocking(move || wait_for_windows_process_id_blocking(process_id)) + .await + .context("Windows process wait task failed")? +} + +#[cfg(windows)] +async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { + tokio::task::spawn_blocking(move || terminate_windows_process_id_blocking(process_id)) + .await + .context("Windows process termination task failed")? +} + +#[cfg(windows)] +fn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { + use windows::Win32::Foundation::{CloseHandle, WAIT_FAILED}; + use windows::Win32::System::Threading::{ + INFINITE, OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_SYNCHRONIZE, + WaitForSingleObject, + }; + + unsafe { + let handle = OpenProcess( + PROCESS_SYNCHRONIZE | PROCESS_QUERY_LIMITED_INFORMATION, + false, + process_id, + ) + .with_context(|| format!("failed to open Windows process id {process_id}"))?; + let wait_result = WaitForSingleObject(handle, INFINITE); + let _ = CloseHandle(handle); + if wait_result == WAIT_FAILED { + anyhow::bail!("failed to wait for Windows process id {process_id}"); + } + } + Ok(()) +} + +#[cfg(windows)] +fn terminate_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()> { + use windows::Win32::Foundation::CloseHandle; + use windows::Win32::System::Threading::{ + OpenProcess, PROCESS_QUERY_LIMITED_INFORMATION, PROCESS_TERMINATE, TerminateProcess, + }; + + unsafe { + let handle = OpenProcess( + PROCESS_TERMINATE | PROCESS_QUERY_LIMITED_INFORMATION, + false, + process_id, + ) + .with_context(|| format!("failed to open Windows process id {process_id}"))?; + let terminate_result = TerminateProcess(handle, 1); + let _ = CloseHandle(handle); + terminate_result + .with_context(|| format!("failed to terminate Windows process id {process_id}"))?; + } + Ok(()) +} + +#[cfg(not(windows))] +async fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()> { + anyhow::bail!("cannot wait for Windows process id {process_id} on this platform") +} + +#[cfg(not(windows))] +async fn terminate_windows_process_id(process_id: u32) -> anyhow::Result<()> { + anyhow::bail!("cannot terminate Windows process id {process_id} on this platform") +} + +fn launch_status( + status: &str, + message: &str, + debug_port: u16, + helper_port: u16, + app_dir: &Path, +) -> LaunchStatus { + LaunchStatus { + status: status.to_string(), + message: message.to_string(), + started_at_ms: now_ms(), + debug_port: Some(debug_port), + helper_port: Some(helper_port), + codex_app: Some(app_dir.to_string_lossy().to_string()), + } +} + +fn now_ms() -> u64 { + SystemTime::now() + .duration_since(UNIX_EPOCH) + .unwrap_or_default() + .as_millis() as u64 +} + +fn command_line_arguments(args: &[String]) -> String { + args.iter() + .map(|arg| quote_windows_argument(arg)) + .collect::>() + .join(" ") +} + +fn quote_windows_argument(arg: &str) -> String { + if !arg.is_empty() && !arg.bytes().any(|byte| matches!(byte, b' ' | b'\t' | b'"')) { + return arg.to_string(); + } + let mut output = String::from("\""); + let mut backslashes = 0; + for ch in arg.chars() { + match ch { + '\\' => backslashes += 1, + '"' => { + output.push_str(&"\\".repeat(backslashes * 2 + 1)); + output.push('"'); + backslashes = 0; + } + _ => { + output.push_str(&"\\".repeat(backslashes)); + output.push(ch); + backslashes = 0; + } + } + } + output.push_str(&"\\".repeat(backslashes * 2)); + output.push('"'); + output +} + +#[cfg(not(windows))] +pub async fn activate_packaged_app( + _app_user_model_id: &str, + _arguments: &str, +) -> anyhow::Result { + anyhow::bail!("Packaged app activation is only supported on Windows") +} + +#[cfg(windows)] +pub async fn activate_packaged_app( + app_user_model_id: &str, + arguments: &str, +) -> anyhow::Result { + let app_user_model_id = app_user_model_id.to_string(); + let arguments = arguments.to_string(); + tokio::task::spawn_blocking(move || { + activate_packaged_app_blocking(&app_user_model_id, &arguments) + }) + .await + .context("packaged app activation task failed")? +} + +#[cfg(windows)] +fn activate_packaged_app_blocking(app_user_model_id: &str, arguments: &str) -> anyhow::Result { + use windows::Win32::System::Com::{ + CLSCTX_LOCAL_SERVER, COINIT_APARTMENTTHREADED, CoCreateInstance, CoInitializeEx, + CoUninitialize, + }; + use windows::Win32::UI::Shell::{ApplicationActivationManager, IApplicationActivationManager}; + use windows::core::HSTRING; + + unsafe { + let coinit = CoInitializeEx(None, COINIT_APARTMENTTHREADED); + let should_uninitialize = coinit.is_ok(); + coinit.ok().or_else(|error| { + const RPC_E_CHANGED_MODE: i32 = -2147417850; + if error.code().0 == RPC_E_CHANGED_MODE { + Ok(()) + } else { + Err(error) + } + })?; + + let result: windows::core::Result = (|| { + let manager: IApplicationActivationManager = + CoCreateInstance(&ApplicationActivationManager, None, CLSCTX_LOCAL_SERVER)?; + let process_id = manager.ActivateApplication( + &HSTRING::from(app_user_model_id), + &HSTRING::from(arguments), + windows::Win32::UI::Shell::ACTIVATEOPTIONS(0), + )?; + Ok(process_id) + })(); + + if should_uninitialize { + CoUninitialize(); + } + result.map_err(Into::into) + } +} + +#[cfg(test)] +mod tests { + use super::*; + + #[test] + fn post_launch_guard_stops_after_stable_ready_artifacts() { + let artifacts = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + + assert!(!should_stop_post_launch_computer_use_guard(2, &artifacts)); + assert!(should_stop_post_launch_computer_use_guard(3, &artifacts)); + } + + #[test] + fn post_launch_guard_keeps_retrying_until_artifacts_are_ready() { + let missing_notify = crate::computer_use_guard::GuardArtifacts { + notify_exe: None, + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_marketplace = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: None, + sky_package_json: None, + runtime_exports_needed: false, + }; + let missing_runtime_package = crate::computer_use_guard::GuardArtifacts { + notify_exe: Some(PathBuf::from("codex-computer-use.exe")), + marketplace_path: Some(PathBuf::from("openai-bundled")), + sky_package_json: None, + runtime_exports_needed: true, + }; + + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_notify + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_marketplace + )); + assert!(!should_stop_post_launch_computer_use_guard( + 3, + &missing_runtime_package + )); + } +} diff --git a/crates/codex-plus-core/src/lib.rs b/crates/codex-plus-core/src/lib.rs index 626898906..69d560da7 100644 --- a/crates/codex-plus-core/src/lib.rs +++ b/crates/codex-plus-core/src/lib.rs @@ -55,6 +55,14 @@ pub fn windows_activate_process_window(process_id: u32) -> bool { windows_integration::activate_process_window(process_id) } +#[cfg(windows)] +pub fn windows_apply_codexplusplus_icon_to_process_window( + process_id: u32, + icon_resource_path: std::path::PathBuf, +) -> bool { + windows_integration::apply_codexplusplus_icon_to_process_window(process_id, icon_resource_path) +} + #[cfg(windows)] pub fn windows_enumerate_processes() -> Vec { windows_integration::enumerate_processes() diff --git a/crates/codex-plus-core/src/plugin_marketplace.rs b/crates/codex-plus-core/src/plugin_marketplace.rs index dc3d6e503..47a07eed6 100644 --- a/crates/codex-plus-core/src/plugin_marketplace.rs +++ b/crates/codex-plus-core/src/plugin_marketplace.rs @@ -5,6 +5,7 @@ use anyhow::Context; use toml_edit::{DocumentMut, Item, Table}; const OPENAI_CURATED_MARKETPLACE: &str = "openai-curated"; +const OPENAI_API_CURATED_MARKETPLACE: &str = "openai-api-curated"; const OPENAI_PLUGINS_ZIP_URL: &str = "https://codeload.github.com/openai/plugins/zip/refs/heads/main"; const OPENAI_PLUGINS_DOWNLOAD_LIMIT_BYTES: usize = 128 * 1024 * 1024; @@ -13,14 +14,21 @@ pub fn ensure_openai_curated_marketplace_config(home: &Path) -> anyhow::Result MarketplaceStatus { let marketplace_root = local_openai_curated_marketplace_root(home).ok().flatten(); let config_registered = marketplace_root .as_deref() - .map(|root| marketplace_config_points_to_root(home, OPENAI_CURATED_MARKETPLACE, root)) + .map(|root| { + marketplace_config_points_to_root(home, OPENAI_CURATED_MARKETPLACE, root) + && marketplace_config_points_to_root(home, OPENAI_API_CURATED_MARKETPLACE, root) + }) .unwrap_or(false); MarketplaceStatus { marketplace_root, @@ -267,9 +275,9 @@ fn replace_directory(source: &Path, destination: &Path) -> anyhow::Result<()> { } } -fn ensure_marketplace_config( +fn ensure_marketplace_configs( home: &Path, - marketplace_name: &str, + marketplace_names: &[&str], marketplace_root: &Path, ) -> anyhow::Result { let config_path = home.join("config.toml"); @@ -284,16 +292,18 @@ fn ensure_marketplace_config( let without_bom = existing.trim_start_matches('\u{feff}'); let mut doc = parse_toml_document(without_bom)?; let marketplaces = table_mut_or_insert(&mut doc, "marketplaces")?; - if marketplaces - .get(marketplace_name) - .and_then(Item::as_table) - .is_none() - { - marketplaces[marketplace_name] = toml_edit::table(); + for marketplace_name in marketplace_names { + if marketplaces + .get(marketplace_name) + .and_then(Item::as_table) + .is_none() + { + marketplaces[marketplace_name] = toml_edit::table(); + } + marketplaces[marketplace_name]["source_type"] = toml_edit::value("local"); + marketplaces[marketplace_name]["source"] = + toml_edit::value(windows_extended_path(marketplace_root)); } - marketplaces[marketplace_name]["source_type"] = toml_edit::value("local"); - marketplaces[marketplace_name]["source"] = - toml_edit::value(windows_extended_path(marketplace_root)); let updated = ensure_trailing_newline(doc.to_string()); if updated.as_bytes() == without_bom.as_bytes() { @@ -407,6 +417,14 @@ mod tests { parsed["marketplaces"]["openai-curated"]["source"].as_str(), Some(format!(r"\\?\{}", home.join(".tmp").join("plugins").display()).as_str()) ); + assert_eq!( + parsed["marketplaces"]["openai-api-curated"]["source_type"].as_str(), + Some("local") + ); + assert_eq!( + parsed["marketplaces"]["openai-api-curated"]["source"].as_str(), + Some(format!(r"\\?\{}", home.join(".tmp").join("plugins").display()).as_str()) + ); } #[test] @@ -431,6 +449,21 @@ mod tests { assert!(status.needs_repair()); } + #[test] + fn openai_curated_marketplace_status_requires_api_marketplace_config() { + let temp = tempfile::tempdir().unwrap(); + let home = temp.path(); + let root = home.join(".tmp").join("plugins"); + write_marketplace(home); + ensure_marketplace_configs(home, &[OPENAI_CURATED_MARKETPLACE], &root).unwrap(); + + let status = openai_curated_marketplace_status(home); + + assert!(status.marketplace_root.is_some()); + assert!(!status.config_registered); + assert!(status.needs_repair()); + } + #[test] fn zip_entry_relative_path_strips_archive_root_and_rejects_escape() { assert_eq!( diff --git a/crates/codex-plus-core/src/settings.rs b/crates/codex-plus-core/src/settings.rs index 3b909c793..b340c5da5 100644 --- a/crates/codex-plus-core/src/settings.rs +++ b/crates/codex-plus-core/src/settings.rs @@ -215,6 +215,8 @@ pub struct BackendSettings { pub codex_app_paste_fix: bool, #[serde(rename = "codexAppForceChineseLocale", default = "default_true")] pub codex_app_force_chinese_locale: bool, + #[serde(rename = "codexAppFastStartup", default = "default_true")] + pub codex_app_fast_startup: bool, #[serde(rename = "codexAppProjectMove", default = "default_true")] pub codex_app_project_move: bool, #[serde(rename = "codexAppThreadIdBadge", default)] @@ -251,14 +253,6 @@ pub struct BackendSettings { pub codex_app_image_overlay_opacity: u8, #[serde(rename = "codexGoalsEnabled", default)] pub codex_goals_enabled: bool, - #[serde(rename = "mobileControlEnabled", default)] - pub mobile_control_enabled: bool, - #[serde(rename = "mobileControlRelayUrl", default)] - pub mobile_control_relay_url: String, - #[serde(rename = "mobileControlRoom", default)] - pub mobile_control_room: String, - #[serde(rename = "mobileControlKey", default)] - pub mobile_control_key: String, #[serde(rename = "launchMode", default)] pub launch_mode: LaunchMode, #[serde(rename = "relayBaseUrl", default = "default_relay_base_url")] @@ -293,10 +287,6 @@ pub struct BackendSettings { pub cli_wrapper_api_key_env: String, } -fn default_mobile_control_relay_url() -> String { - "ws://127.0.0.1:57323".to_string() -} - impl Default for BackendSettings { fn default() -> Self { Self { @@ -317,6 +307,7 @@ impl Default for BackendSettings { codex_app_markdown_export: true, codex_app_paste_fix: false, codex_app_force_chinese_locale: true, + codex_app_fast_startup: true, codex_app_project_move: true, codex_app_thread_id_badge: false, codex_app_conversation_view: false, @@ -333,10 +324,6 @@ impl Default for BackendSettings { codex_app_image_overlay_path: String::new(), codex_app_image_overlay_opacity: default_image_overlay_opacity(), codex_goals_enabled: false, - mobile_control_enabled: false, - mobile_control_relay_url: default_mobile_control_relay_url(), - mobile_control_room: String::new(), - mobile_control_key: String::new(), launch_mode: LaunchMode::Patch, relay_base_url: default_relay_base_url(), relay_api_key: String::new(), @@ -666,6 +653,7 @@ fn merge_known_setting_fields(target: &mut Map, source: &Map, source: &Map output, Err(error) if error.kind() == std::io::ErrorKind::NotFound => return, Err(error) => panic!("sh should parse snapshot script: {error}"), diff --git a/crates/codex-plus-core/src/watcher.rs b/crates/codex-plus-core/src/watcher.rs index b1e87e79a..ffe84f92d 100644 --- a/crates/codex-plus-core/src/watcher.rs +++ b/crates/codex-plus-core/src/watcher.rs @@ -91,14 +91,18 @@ pub fn codex_process_ids<'a>(processes: impl IntoIterator processes .into_iter() .filter_map(|(process_id, executable)| { - let executable = executable.to_ascii_lowercase(); - executable - .contains("\\windowsapps\\openai.codex_") - .then_some(process_id) + is_windowsapps_codex_app_process(executable).then_some(process_id) }) .collect() } +fn is_windowsapps_codex_app_process(executable: &str) -> bool { + let executable = executable.replace('/', "\\").to_ascii_lowercase(); + executable.contains("\\windowsapps\\openai.codex_") + && executable.ends_with("\\app\\codex.exe") + && !executable.contains("\\app\\resources\\") +} + pub fn filter_killable_launcher_processes<'a>( processes: impl IntoIterator, current_process_id: u32, @@ -200,10 +204,10 @@ pub fn find_codex_processes_from_snapshot( .map(|(pid, path)| (*pid, path.as_str())), ); - // Local/portable installs use "Codex.exe" (capital C) as the Electron main process. - // Keep the launcher alive while that process is still running. + // Local/portable installs use Codex.exe as the Electron main process. Do not match + // lowercase codex.exe here; that is commonly the CLI binary. for process in processes { - if process.exe_file.eq_ignore_ascii_case("Codex.exe") { + if process.exe_file == "Codex.exe" { ids.push(process.process_id); } } diff --git a/crates/codex-plus-core/src/windows_integration.rs b/crates/codex-plus-core/src/windows_integration.rs index cc8efed53..ee84c8d95 100644 --- a/crates/codex-plus-core/src/windows_integration.rs +++ b/crates/codex-plus-core/src/windows_integration.rs @@ -6,11 +6,13 @@ use std::iter::once; use std::os::windows::ffi::{OsStrExt, OsStringExt}; #[cfg(windows)] use std::path::PathBuf; +#[cfg(windows)] +use std::sync::OnceLock; #[cfg(windows)] use anyhow::Context; #[cfg(windows)] -use windows::Win32::Foundation::{BOOL, CloseHandle, HANDLE, HWND, LPARAM, MAX_PATH}; +use windows::Win32::Foundation::{BOOL, CloseHandle, HANDLE, HWND, LPARAM, MAX_PATH, WPARAM}; #[cfg(windows)] use windows::Win32::System::Com::{ CLSCTX_INPROC_SERVER, COINIT_APARTMENTTHREADED, CoCreateInstance, CoInitializeEx, @@ -31,8 +33,11 @@ use windows::Win32::System::Threading::{ TerminateProcess, }; #[cfg(windows)] +use windows::Win32::UI::Shell::PropertiesSystem::{IPropertyStore, SHGetPropertyStoreForWindow}; +#[cfg(windows)] use windows::Win32::UI::Shell::{ - FOLDERID_Desktop, IShellLinkW, KF_FLAG_DEFAULT, SHGetKnownFolderPath, ShellExecuteW, ShellLink, + ExtractIconExW, FOLDERID_Desktop, IShellLinkW, KF_FLAG_DEFAULT, SHGetKnownFolderPath, + ShellExecuteW, ShellLink, }; #[cfg(windows)] use windows::Win32::UI::WindowsAndMessaging::SW_SHOWMINNOACTIVE; @@ -42,7 +47,11 @@ use windows::Win32::UI::WindowsAndMessaging::{ SetForegroundWindow, ShowWindow, }; #[cfg(windows)] -use windows::core::{Interface, PCWSTR, PWSTR}; +use windows::Win32::UI::WindowsAndMessaging::{ + HICON, ICON_BIG, ICON_SMALL, SendMessageW, WM_SETICON, +}; +#[cfg(windows)] +use windows::core::{Interface, PCWSTR, PROPVARIANT, PWSTR}; #[cfg(windows)] pub const CREATE_NO_WINDOW: u32 = 0x08000000; @@ -352,6 +361,24 @@ pub fn activate_process_window(process_id: u32) -> bool { } } +#[cfg(windows)] +pub fn apply_codexplusplus_icon_to_process_window( + process_id: u32, + icon_resource_path: PathBuf, +) -> bool { + let Some(hwnd) = visible_window_for_process(process_id) else { + return false; + }; + let mut applied = false; + if apply_window_icons(hwnd, &icon_resource_path) { + applied = true; + } + if apply_taskbar_properties(hwnd, &icon_resource_path).is_ok() { + applied = true; + } + applied +} + #[cfg(windows)] fn query_process_image_path(process_id: u32) -> Option { let handle = unsafe { OpenProcess(PROCESS_QUERY_LIMITED_INFORMATION, false, process_id).ok()? }; @@ -373,6 +400,25 @@ fn query_process_image_path(process_id: u32) -> Option { Some(PathBuf::from(OsString::from_wide(&buffer[..len as usize]))) } +#[cfg(windows)] +fn visible_window_for_process(process_id: u32) -> Option { + let mut state = ActivateWindowState { + process_id, + hwnd: HWND::default(), + }; + unsafe { + let _ = EnumWindows( + Some(find_process_window_proc), + LPARAM((&mut state as *mut ActivateWindowState) as isize), + ); + } + if state.hwnd.is_invalid() { + None + } else { + Some(state.hwnd) + } +} + #[cfg(windows)] struct ActivateWindowState { process_id: u32, @@ -396,6 +442,112 @@ unsafe extern "system" fn find_process_window_proc(hwnd: HWND, lparam: LPARAM) - BOOL(1) } +#[cfg(windows)] +fn apply_window_icons(hwnd: HWND, icon_resource_path: &PathBuf) -> bool { + let Some((large_icon, small_icon)) = load_cached_icons(icon_resource_path) else { + return false; + }; + unsafe { + SendMessageW( + hwnd, + WM_SETICON, + WPARAM(ICON_BIG as usize), + LPARAM(large_icon.0 as isize), + ); + SendMessageW( + hwnd, + WM_SETICON, + WPARAM(ICON_SMALL as usize), + LPARAM(small_icon.0 as isize), + ); + } + true +} + +#[cfg(windows)] +fn load_cached_icons(icon_resource_path: &PathBuf) -> Option<(HICON, HICON)> { + static ICONS: OnceLock<(usize, usize)> = OnceLock::new(); + let icons = ICONS.get_or_init(|| { + let path = wide_null(icon_resource_path.as_os_str()); + let mut large_icon = HICON::default(); + let mut small_icon = HICON::default(); + let loaded = unsafe { + ExtractIconExW( + PCWSTR(path.as_ptr()), + 0, + Some(&mut large_icon), + Some(&mut small_icon), + 1, + ) + }; + if loaded == 0 { + (0, 0) + } else { + (large_icon.0 as usize, small_icon.0 as usize) + } + }); + if icons.0 == 0 || icons.1 == 0 { + None + } else { + Some(( + HICON(icons.0 as *mut core::ffi::c_void), + HICON(icons.1 as *mut core::ffi::c_void), + )) + } +} + +#[cfg(windows)] +fn apply_taskbar_properties(hwnd: HWND, icon_resource_path: &PathBuf) -> anyhow::Result<()> { + use windows::Win32::Storage::EnhancedStorage::{ + PKEY_AppUserModel_ID, PKEY_AppUserModel_RelaunchCommand, + PKEY_AppUserModel_RelaunchDisplayNameResource, PKEY_AppUserModel_RelaunchIconResource, + }; + + let store: IPropertyStore = unsafe { SHGetPropertyStoreForWindow(hwnd)? }; + let icon_resource = format!("{},0", icon_resource_path.to_string_lossy()); + let relaunch_command = std::env::current_exe() + .ok() + .map(|path| path.to_string_lossy().to_string()) + .unwrap_or_else(|| "codex-plus-plus.exe".to_string()); + set_property_string( + &store, + &PKEY_AppUserModel_ID, + "com.bigpizzav3.codexplusplus.codex", + )?; + set_property_string( + &store, + &PKEY_AppUserModel_RelaunchIconResource, + &icon_resource, + )?; + set_property_string( + &store, + &PKEY_AppUserModel_RelaunchDisplayNameResource, + "Codex++", + )?; + set_property_string( + &store, + &PKEY_AppUserModel_RelaunchCommand, + &relaunch_command, + )?; + unsafe { + store.Commit()?; + } + Ok(()) +} + +#[cfg(windows)] +fn set_property_string( + store: &IPropertyStore, + key: &windows::Win32::UI::Shell::PropertiesSystem::PROPERTYKEY, + value: &str, +) -> anyhow::Result<()> { + let variant = PROPVARIANT::from(value); + unsafe { + store.SetValue(key, &variant)?; + } + Ok(()) +} + #[cfg(windows)] fn with_created_current_user_key( subkey: &str, diff --git a/crates/codex-plus-core/tests/cdp_bridge.rs b/crates/codex-plus-core/tests/cdp_bridge.rs index fb172b95f..db180da41 100644 --- a/crates/codex-plus-core/tests/cdp_bridge.rs +++ b/crates/codex-plus-core/tests/cdp_bridge.rs @@ -277,7 +277,9 @@ fn injection_script_expands_api_key_plugin_marketplace_requests() { assert!(script.contains("message.type === \"fetch\"")); assert!(script.contains("data?.type === \"fetch-response\"")); assert!(script.contains("__codexPluginMarketplaceFetchRequestIds")); - assert!(script.contains("delete next.marketplaceKinds")); + assert!(script.contains("const nextKinds = Array.isArray(next.marketplaceKinds)")); + assert!(script.contains("if (!nextKinds.includes(\"vertical\")) nextKinds.push(\"vertical\")")); + assert!(script.contains("next.marketplaceKinds = Array.from(new Set(nextKinds))")); assert!(script.contains("patchPluginMarketplaceResult")); assert!(script.contains("__CODEX_PLUS_PLUGIN_MARKETPLACES__")); assert!(script.contains("mergeLocalPluginMarketplaces(result)")); @@ -291,6 +293,14 @@ fn injection_script_expands_api_key_plugin_marketplace_requests() { assert!( script.contains("if (name === \"openai-primary-runtime\") return \"OpenAI插件3(Codex++)\"") ); + assert!(script.contains("restored === \"openai-api-curated\"")); + assert!(script.contains("restored === \"openai-curated-remote\"")); + assert!( + script.contains("if (name === \"openai-curated-remote\") return \"OpenAI插件5(Codex++)\"") + ); + assert!(script.contains( + "if (name === \"codex-plus-openai-curated-remote\") return \"openai-curated-remote\"" + )); assert!(script.contains("OpenAI插件1(Codex++)")); assert!(script.contains("OpenAI插件2(Codex++)")); assert!(script.contains("OpenAI插件3(Codex++)")); @@ -305,14 +315,14 @@ fn injection_script_expands_api_key_plugin_marketplace_requests() { } #[test] -fn injection_script_deletes_marketplace_kinds_to_request_default_catalog() { +fn injection_script_preserves_vertical_marketplace_kind_for_official_plugins() { let script = assets::injection_script(57321); - assert!(script.contains("delete next.marketplaceKinds")); assert!(script.contains("plugin_marketplace_request_expanded")); + assert!(script.contains("if (!nextKinds.includes(\"vertical\")) nextKinds.push(\"vertical\")")); assert!(!script.contains("codexPluginAllowedMarketplaceKinds")); assert!(!script.contains("codexPluginExpandedMarketplaceKinds")); - assert!(!script.contains("next.marketplaceKinds = Array.from(new Set")); + assert!(!script.contains("delete next.marketplaceKinds")); } #[test] diff --git a/crates/codex-plus-core/tests/force_chinese_locale_settings.rs b/crates/codex-plus-core/tests/force_chinese_locale_settings.rs index 229e992dd..ac7ac2668 100644 --- a/crates/codex-plus-core/tests/force_chinese_locale_settings.rs +++ b/crates/codex-plus-core/tests/force_chinese_locale_settings.rs @@ -5,6 +5,7 @@ use codex_plus_core::settings::BackendSettings; fn force_chinese_locale_defaults_to_true() { let settings = BackendSettings::default(); assert!(settings.codex_app_force_chinese_locale); + assert!(settings.codex_app_fast_startup); let json = serde_json::to_value(&settings).expect("serialize default settings"); assert_eq!( @@ -13,6 +14,11 @@ fn force_chinese_locale_defaults_to_true() { Some(true), "default BackendSettings JSON should include codexAppForceChineseLocale = true" ); + assert_eq!( + json.get("codexAppFastStartup").and_then(|v| v.as_bool()), + Some(true), + "default BackendSettings JSON should include codexAppFastStartup = true" + ); } #[test] @@ -25,6 +31,7 @@ fn force_chinese_locale_missing_from_old_json_defaults_to_true() { let parsed: BackendSettings = serde_json::from_value(json) .expect("old settings JSON without codexAppForceChineseLocale should still load"); assert!(parsed.codex_app_force_chinese_locale); + assert!(parsed.codex_app_fast_startup); } #[test] @@ -63,11 +70,16 @@ fn force_chinese_locale_config_reflects_setting() { fn injection_script_includes_force_chinese_locale_global_and_patch() { let mut settings = BackendSettings::default(); settings.codex_app_force_chinese_locale = true; + settings.codex_app_fast_startup = true; let script = injection_script_with_settings(0, &settings); assert!(script.contains( "window.__CODEX_PLUS_FORCE_CHINESE_LOCALE__ = {\"enabled\":true,\"locale\":\"zh-CN\"};" )); + assert!(script.contains( + "window.__CODEX_PLUS_FAST_STARTUP__ = {\"enabled\":true,\"statsigTimeoutMs\":800};" + )); assert!(script.contains("__codexPlusForceChineseLocaleInstalled")); + assert!(script.contains("__codexPlusFastStartupInstalled")); assert!(script.contains("72216192")); assert!(script.contains("enable_i18n")); assert!(script.contains("locale_source")); diff --git a/crates/codex-plus-core/tests/launcher.rs b/crates/codex-plus-core/tests/launcher.rs index 09d635493..26e2c5718 100644 --- a/crates/codex-plus-core/tests/launcher.rs +++ b/crates/codex-plus-core/tests/launcher.rs @@ -1,526 +1,586 @@ -use std::path::{Path, PathBuf}; -use std::sync::{Arc, Mutex}; - -use codex_plus_core::app_paths::{ - build_codex_executable, codex_app_version, find_latest_codex_app_dir, - find_latest_codex_app_dir_from_roots, find_macos_codex_app, - latest_appx_install_location_from_output, normalize_codex_app_path, packaged_app_user_model_id, - resolve_codex_app_dir_with_saved, user_data_candidates_from, -}; -use codex_plus_core::launcher::{ - CodexLaunch, DefaultLaunchHooks, LaunchHooks, LaunchOptions, MacosCleanupPolicy, - build_codex_arguments, build_codex_arguments_with_native_menu_inspector, build_codex_command, - build_codex_command_with_native_menu_inspector, build_macos_cleanup_command, - build_macos_open_command, build_macos_open_command_with_native_menu_inspector, - build_packaged_activation, build_packaged_activation_with_native_menu_inspector, - launch_and_inject_with_hooks, -}; -#[cfg(windows)] -use codex_plus_core::launcher::{WindowsProcessControlStrategy, windows_process_control_strategy}; -use codex_plus_core::ports::{ - select_packaged_codex_debug_port_with, select_platform_loopback_port_with, -}; -use codex_plus_core::settings::{BackendSettings, RelayProfile, RelayProtocol}; -use codex_plus_core::status::StatusStore; - -#[test] -fn app_paths_find_latest_windows_package_prefers_highest_version_app_dir() { - let temp = tempfile::tempdir().unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_1.2.3.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(temp.path().join("OpenAI.Codex_not-a-version_x64__abc")).unwrap(); - - let latest = find_latest_codex_app_dir(temp.path()).unwrap(); - - assert_eq!( - latest, - temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app") - ); -} - -#[test] -fn app_paths_find_latest_windows_package_detects_beta_package() { - let temp = tempfile::tempdir().unwrap(); - std::fs::create_dir_all( - temp.path() - .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app"), - ) - .unwrap(); - - let latest = find_latest_codex_app_dir(temp.path()).unwrap(); - - assert_eq!( - latest, - temp.path() - .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") - ); - assert_eq!(codex_app_version(&latest).as_deref(), Some("26.527.7698.0")); - assert_eq!( - packaged_app_user_model_id(&latest).as_deref(), - Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") - ); -} - -#[test] -fn app_paths_find_latest_windows_package_returns_package_when_app_dir_missing() { - let temp = tempfile::tempdir().unwrap(); - let package = temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc"); - std::fs::create_dir_all(&package).unwrap(); - - assert_eq!(find_latest_codex_app_dir(temp.path()).unwrap(), package); -} - -#[test] -fn app_paths_find_latest_windows_package_checks_roots_before_fallback() { - let temp = tempfile::tempdir().unwrap(); - let root = temp.path().join("WindowsApps"); - std::fs::create_dir_all(root.join("OpenAI.Codex_1.0.0.0_x64__abc/app")).unwrap(); - std::fs::create_dir_all(root.join("OpenAI.Codex_26.513.3673.0_x64__abc/app")).unwrap(); - - let latest = find_latest_codex_app_dir_from_roots(&[root]).unwrap(); - - assert!(latest.ends_with("OpenAI.Codex_26.513.3673.0_x64__abc/app")); -} - -#[test] -fn app_paths_extracts_codex_version_from_windows_package_app_dir() { - let app_dir = - PathBuf::from(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.513.3673.0_x64__abc\app"); - - assert_eq!( - codex_app_version(&app_dir).as_deref(), - Some("26.513.3673.0") - ); -} - -#[test] -fn app_paths_extracts_codex_version_from_macos_bundle_plist() { - let temp = tempfile::tempdir().unwrap(); - let app = temp.path().join("OpenAI Codex.app"); - let contents = app.join("Contents"); - std::fs::create_dir_all(&contents).unwrap(); - std::fs::write( - contents.join("Info.plist"), - r#" - - - CFBundleVersion - 26.500.0 - CFBundleShortVersionString - 26.513.3673 - - -"#, - ) - .unwrap(); - - assert_eq!(codex_app_version(&app).as_deref(), Some("26.513.3673")); -} - -#[test] -fn app_paths_user_data_candidates_include_local_and_roaming_variants() { - let local = PathBuf::from(r"C:\Users\me\AppData\Local"); - let roaming = PathBuf::from(r"C:\Users\me\AppData\Roaming"); - - let candidates = user_data_candidates_from(Some(&local), Some(&roaming)); - - assert_eq!( - candidates, - vec![ - local.join("OpenAI").join("Codex"), - local.join("OpenAI.Codex"), - local.join("Codex"), - roaming.join("OpenAI").join("Codex"), - roaming.join("OpenAI.Codex"), - roaming.join("Codex"), - ] - ); -} - -#[test] -fn app_paths_find_macos_codex_app_prefers_first_search_root_and_known_names() { - let temp = tempfile::tempdir().unwrap(); - let system_root = temp.path().join("Applications"); - let user_root = temp.path().join("Users/me/Applications"); - let system_app = system_root.join("OpenAI Codex.app"); - let user_app = user_root.join("Codex.app"); - std::fs::create_dir_all(&system_app).unwrap(); - std::fs::create_dir_all(&user_app).unwrap(); - - assert_eq!( - find_macos_codex_app(&[system_root, user_root]).unwrap(), - system_app - ); -} - -#[test] -fn app_paths_build_macos_bundle_executable() { - let app = PathBuf::from("/Applications/OpenAI Codex.app"); - - assert_eq!( - build_codex_executable(&app), - PathBuf::from("/Applications/OpenAI Codex.app/Contents/MacOS/Codex") - ); -} - -#[test] -fn app_paths_normalizes_executable_and_package_paths() { - let temp = tempfile::tempdir().unwrap(); - let portable = temp.path().join("CodexPortable"); - let app = portable.join("app"); - std::fs::create_dir_all(&app).unwrap(); - std::fs::write(app.join("Codex.exe"), "").unwrap(); - - assert_eq!( - normalize_codex_app_path(&app.join("Codex.exe")).as_deref(), - Some(app.as_path()) - ); - assert_eq!( - normalize_codex_app_path(&portable).as_deref(), - Some(app.as_path()) - ); -} - -#[test] -fn app_paths_saved_path_is_used_when_no_explicit_path_is_provided() { - let temp = tempfile::tempdir().unwrap(); - let app = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app).unwrap(); - - assert_eq!( - resolve_codex_app_dir_with_saved(None, Some(&app.to_string_lossy())).as_deref(), - Some(app.as_path()) - ); -} - -#[test] -fn launcher_builds_debug_arguments_and_commands() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - - assert_eq!( - build_codex_arguments(9229, &[]), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - ] - ); - let command = build_codex_command(&app_dir, 9229, &[]); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); -} - -#[test] -fn launcher_does_not_override_codex_app_environment() { - let source = include_str!("../src/launcher.rs"); - - assert!(!source.contains(".envs(codex_process_environment())")); - assert!(!source.contains("activate_packaged_app_with_environment")); - assert!(!source.contains("with_temporary_proxy_environment")); -} - -#[test] -fn launcher_windows_process_wait_uses_platform_cfg_guards() { - let source = include_str!("../src/launcher.rs").replace("\r\n", "\n"); - - assert!(source.contains( - "#[cfg(windows)]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" - )); - assert!(source.contains( - "#[cfg(not(windows))]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" - )); - assert!(source.contains( - "#[cfg(windows)]\nfn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()>" - )); -} - -#[test] -fn launcher_appends_extra_codex_arguments_after_debug_arguments() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - let extra_args = vec![ - "--force_high_performance_gpu".to_string(), - " ".to_string(), - "--enable-features=UseOzonePlatform".to_string(), - ]; - - assert_eq!( - build_codex_arguments(9229, &extra_args), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--force_high_performance_gpu".to_string(), - "--enable-features=UseOzonePlatform".to_string(), - ] - ); - let command = build_codex_command(&app_dir, 9229, &extra_args); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); - assert_eq!(command[3], "--force_high_performance_gpu"); - assert_eq!(command[4], "--enable-features=UseOzonePlatform"); -} - -#[test] -fn launcher_native_menu_inspector_arguments_are_added_before_extra_args() { - let app_dir = PathBuf::from(r"C:\Codex\app"); - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - - assert_eq!( - build_codex_arguments_with_native_menu_inspector(9229, 9329, &extra_args), - vec![ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--inspect=127.0.0.1:9329".to_string(), - "--force_high_performance_gpu".to_string(), - ] - ); - let command = build_codex_command_with_native_menu_inspector(&app_dir, 9229, 9329, &extra_args); - assert_eq!(command[1], "--remote-debugging-port=9229"); - assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); - assert_eq!(command[3], "--inspect=127.0.0.1:9329"); - assert_eq!(command[4], "--force_high_performance_gpu"); -} - -#[test] -fn launcher_constructs_windows_packaged_activation_without_real_app() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - - assert_eq!( - packaged_app_user_model_id(&app_dir).unwrap(), - "OpenAI.Codex_2p2nqsd0c76g0!App" - ); - assert_eq!( - build_packaged_activation(&app_dir, 9229, &[]).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_appends_extra_codex_arguments() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - - assert_eq!( - build_packaged_activation(&app_dir, 9229, &extra_args).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: - "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --force_high_performance_gpu" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_adds_native_menu_inspector_argument() { - let app_dir = PathBuf::from( - r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", - ); - - assert_eq!( - build_packaged_activation_with_native_menu_inspector(&app_dir, 9229, 9329, &[]).unwrap(), - CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: - "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --inspect=127.0.0.1:9329" - .to_string(), - process_id: None, - } - ); -} - -#[test] -fn launcher_packaged_activation_can_preserve_process_id() { - let launch = CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }; - - assert_eq!(launch.process_id(), Some(4242)); -} - -#[test] -fn app_paths_parse_appx_install_location_from_powershell_output() { - let output = - "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; - - assert_eq!( - latest_appx_install_location_from_output(output).as_deref(), - Some(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0") - ); -} - -#[test] -fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { - let source = include_str!("../src/launcher.rs"); - - assert!(!source.contains("launcher.packaged_activation_cdp_unready_direct_fallback")); - assert!(!source.contains("terminate_windows_process_id(process_id).await")); -} - -#[cfg(windows)] -#[test] -fn launcher_windows_packaged_process_management_uses_native_api() { - assert_eq!( - windows_process_control_strategy(), - WindowsProcessControlStrategy::NativeWindowsApi - ); -} - -#[test] -fn launcher_macos_open_command_waits_for_app_exit() { - let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &[]); - - assert_eq!(command[0], "open"); - assert!(command.contains(&"-W".to_string())); - assert!(command.contains(&"-a".to_string())); - assert!(command.contains(&"--args".to_string())); - assert!(command.contains(&"--remote-debugging-port=9229".to_string())); -} - -#[test] -fn launcher_macos_open_command_appends_extra_codex_arguments_after_args() { - let extra_args = vec!["--force_high_performance_gpu".to_string()]; - let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &extra_args); - let args_index = command - .iter() - .position(|part| part == "--args") - .expect("macOS command should contain --args"); - - assert_eq!( - &command[args_index + 1..], - &[ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--force_high_performance_gpu".to_string(), - ] - ); -} - -#[test] -fn launcher_macos_open_command_adds_native_menu_inspector_argument() { - let command = build_macos_open_command_with_native_menu_inspector( - Path::new("/Applications/Codex.app"), - 9229, - 9329, - &[], - ); - let args_index = command - .iter() - .position(|part| part == "--args") - .expect("macOS command should contain --args"); - - assert_eq!( - &command[args_index + 1..], - &[ - "--remote-debugging-port=9229".to_string(), - "--remote-allow-origins=http://127.0.0.1:9229".to_string(), - "--inspect=127.0.0.1:9329".to_string(), - ] - ); -} - -#[test] -fn ports_windows_falls_back_to_ephemeral_when_requested_is_busy() { - let selected = select_platform_loopback_port_with(9229, true, |_| false, || 43001); - - assert_eq!(selected, 43001); -} - -#[test] -fn ports_windows_packaged_debug_falls_back_to_ephemeral_when_requested_is_busy() { - let selected = select_packaged_codex_debug_port_with(9229, true, |_| false, || 43001); - - assert_eq!(selected, 43001); -} - -#[test] -fn ports_non_windows_keeps_requested_even_when_busy() { - let selected = select_platform_loopback_port_with(9229, false, |_| false, || 43001); - - assert_eq!(selected, 9229); -} - -#[tokio::test] -async fn default_helper_serves_backend_status_over_http() { - let hooks = DefaultLaunchHooks::default(); - let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); - let port = listener.local_addr().unwrap().port(); - drop(listener); - - hooks.start_helper(port).await.unwrap(); - let client = reqwest::Client::builder().no_proxy().build().unwrap(); - let response = client - .post(format!("http://127.0.0.1:{port}/backend/status")) - .json(&serde_json::json!({})) - .send() - .await - .unwrap(); - assert!(response.status().is_success()); - let payload: serde_json::Value = response.json().await.unwrap(); - assert_eq!(payload["status"], "ok"); - assert_eq!(payload["transport"], "http-helper"); - - let repair_response = client - .post(format!("http://127.0.0.1:{port}/backend/repair")) - .json(&serde_json::json!({})) - .send() - .await - .unwrap(); - assert!(repair_response.status().is_success()); - let repair_payload: serde_json::Value = repair_response.json().await.unwrap(); - assert_eq!(repair_payload["status"], "ok"); - assert_eq!(repair_payload["transport"], "http-helper"); - - hooks.shutdown_helper(port).await; -} - -#[tokio::test] -async fn default_helper_accepts_diagnostic_log_events_over_http() { - let temp = tempfile::tempdir().unwrap(); - let log_path = temp.path().join("codex-plus.log"); - codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(Some(log_path.clone())); - let hooks = DefaultLaunchHooks::default(); - let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); - let port = listener.local_addr().unwrap().port(); - drop(listener); - - hooks.start_helper(port).await.unwrap(); - let response = reqwest::Client::builder() - .no_proxy() - .build() - .unwrap() - .post(format!("http://127.0.0.1:{port}/diagnostics/log")) - .json(&serde_json::json!({ - "event": "backend_check_failed", - "message": "fetch failed", - "helperBase": format!("http://127.0.0.1:{port}") - })) - .send() - .await - .unwrap(); - - assert!(response.status().is_success()); - let payload: serde_json::Value = response.json().await.unwrap(); - assert_eq!(payload["status"], "ok"); - hooks.shutdown_helper(port).await; - - let contents = std::fs::read_to_string(&log_path).unwrap(); - assert!(contents.contains("renderer.backend_check_failed")); - assert!(contents.contains("fetch failed")); - codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(None); -} - -#[tokio::test] +use std::path::{Path, PathBuf}; +use std::sync::{Arc, Mutex}; + +use codex_plus_core::app_paths::{ + build_codex_executable, codex_app_version, find_latest_codex_app_dir, + find_latest_codex_app_dir_from_roots, find_macos_codex_app, + latest_appx_install_location_from_output, normalize_codex_app_path, packaged_app_user_model_id, + resolve_codex_app_dir_with_saved, user_data_candidates_from, +}; +use codex_plus_core::launcher::{ + CodexLaunch, DefaultLaunchHooks, LaunchHooks, LaunchOptions, MacosCleanupPolicy, + build_codex_arguments, build_codex_arguments_for_settings, + build_codex_arguments_with_native_menu_inspector, build_codex_command, + build_codex_command_with_native_menu_inspector, build_macos_cleanup_command, + build_macos_open_command, build_macos_open_command_with_native_menu_inspector, + build_packaged_activation, build_packaged_activation_with_native_menu_inspector, + launch_and_inject_with_hooks, +}; +#[cfg(windows)] +use codex_plus_core::launcher::{WindowsProcessControlStrategy, windows_process_control_strategy}; +use codex_plus_core::ports::{ + select_packaged_codex_debug_port_with, select_platform_loopback_port_with, +}; +use codex_plus_core::settings::{BackendSettings, RelayProfile, RelayProtocol}; +use codex_plus_core::status::StatusStore; + +#[test] +fn app_paths_find_latest_windows_package_prefers_highest_version_app_dir() { + let temp = tempfile::tempdir().unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_1.2.3.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(temp.path().join("OpenAI.Codex_not-a-version_x64__abc")).unwrap(); + + let latest = find_latest_codex_app_dir(temp.path()).unwrap(); + + assert_eq!( + latest, + temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc/app") + ); +} + +#[test] +fn app_paths_find_latest_windows_package_detects_beta_package() { + let temp = tempfile::tempdir().unwrap(); + std::fs::create_dir_all( + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app"), + ) + .unwrap(); + + let latest = find_latest_codex_app_dir(temp.path()).unwrap(); + + assert_eq!( + latest, + temp.path() + .join("OpenAI.CodexBeta_26.527.7698.0_x64__2p2nqsd0c76g0/app") + ); + assert_eq!(codex_app_version(&latest).as_deref(), Some("26.527.7698.0")); + assert_eq!( + packaged_app_user_model_id(&latest).as_deref(), + Some("OpenAI.CodexBeta_2p2nqsd0c76g0!App") + ); +} + +#[test] +fn app_paths_find_latest_windows_package_returns_package_when_app_dir_missing() { + let temp = tempfile::tempdir().unwrap(); + let package = temp.path().join("OpenAI.Codex_26.429.8261.0_x64__abc"); + std::fs::create_dir_all(&package).unwrap(); + + assert_eq!(find_latest_codex_app_dir(temp.path()).unwrap(), package); +} + +#[test] +fn app_paths_find_latest_windows_package_checks_roots_before_fallback() { + let temp = tempfile::tempdir().unwrap(); + let root = temp.path().join("WindowsApps"); + std::fs::create_dir_all(root.join("OpenAI.Codex_1.0.0.0_x64__abc/app")).unwrap(); + std::fs::create_dir_all(root.join("OpenAI.Codex_26.513.3673.0_x64__abc/app")).unwrap(); + + let latest = find_latest_codex_app_dir_from_roots(&[root]).unwrap(); + + assert!(latest.ends_with("OpenAI.Codex_26.513.3673.0_x64__abc/app")); +} + +#[test] +fn app_paths_extracts_codex_version_from_windows_package_app_dir() { + let app_dir = + PathBuf::from(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.513.3673.0_x64__abc\app"); + + assert_eq!( + codex_app_version(&app_dir).as_deref(), + Some("26.513.3673.0") + ); +} + +#[test] +fn app_paths_extracts_codex_version_from_macos_bundle_plist() { + let temp = tempfile::tempdir().unwrap(); + let app = temp.path().join("OpenAI Codex.app"); + let contents = app.join("Contents"); + std::fs::create_dir_all(&contents).unwrap(); + std::fs::write( + contents.join("Info.plist"), + r#" + + + CFBundleVersion + 26.500.0 + CFBundleShortVersionString + 26.513.3673 + + +"#, + ) + .unwrap(); + + assert_eq!(codex_app_version(&app).as_deref(), Some("26.513.3673")); +} + +#[test] +fn app_paths_user_data_candidates_include_local_and_roaming_variants() { + let local = PathBuf::from(r"C:\Users\me\AppData\Local"); + let roaming = PathBuf::from(r"C:\Users\me\AppData\Roaming"); + + let candidates = user_data_candidates_from(Some(&local), Some(&roaming)); + + assert_eq!( + candidates, + vec![ + local.join("OpenAI").join("Codex"), + local.join("OpenAI.Codex"), + local.join("Codex"), + roaming.join("OpenAI").join("Codex"), + roaming.join("OpenAI.Codex"), + roaming.join("Codex"), + ] + ); +} + +#[test] +fn app_paths_find_macos_codex_app_prefers_first_search_root_and_known_names() { + let temp = tempfile::tempdir().unwrap(); + let system_root = temp.path().join("Applications"); + let user_root = temp.path().join("Users/me/Applications"); + let system_app = system_root.join("OpenAI Codex.app"); + let user_app = user_root.join("Codex.app"); + std::fs::create_dir_all(&system_app).unwrap(); + std::fs::create_dir_all(&user_app).unwrap(); + + assert_eq!( + find_macos_codex_app(&[system_root, user_root]).unwrap(), + system_app + ); +} + +#[test] +fn app_paths_build_macos_bundle_executable() { + let app = PathBuf::from("/Applications/OpenAI Codex.app"); + + assert_eq!( + build_codex_executable(&app), + PathBuf::from("/Applications/OpenAI Codex.app/Contents/MacOS/Codex") + ); +} + +#[test] +fn app_paths_normalizes_executable_and_package_paths() { + let temp = tempfile::tempdir().unwrap(); + let portable = temp.path().join("CodexPortable"); + let app = portable.join("app"); + std::fs::create_dir_all(&app).unwrap(); + std::fs::write(app.join("Codex.exe"), "").unwrap(); + + assert_eq!( + normalize_codex_app_path(&app.join("Codex.exe")).as_deref(), + Some(app.as_path()) + ); + assert_eq!( + normalize_codex_app_path(&portable).as_deref(), + Some(app.as_path()) + ); +} + +#[test] +fn app_paths_saved_path_is_used_when_no_explicit_path_is_provided() { + let temp = tempfile::tempdir().unwrap(); + let app = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app).unwrap(); + + assert_eq!( + resolve_codex_app_dir_with_saved(None, Some(&app.to_string_lossy())).as_deref(), + Some(app.as_path()) + ); +} + +#[test] +fn launcher_builds_debug_arguments_and_commands() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + + assert_eq!( + build_codex_arguments(9229, &[]), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + ] + ); + let command = build_codex_command(&app_dir, 9229, &[]); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); +} + +#[test] +fn launcher_does_not_override_codex_app_environment() { + let source = include_str!("../src/launcher.rs"); + + assert!(!source.contains(".envs(codex_process_environment())")); + assert!(!source.contains("activate_packaged_app_with_environment")); + assert!(!source.contains("with_temporary_proxy_environment")); +} + +#[test] +fn launcher_windows_process_wait_uses_platform_cfg_guards() { + let source = include_str!("../src/launcher.rs").replace("\r\n", "\n"); + + assert!(source.contains( + "#[cfg(windows)]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" + )); + assert!(source.contains( + "#[cfg(not(windows))]\nasync fn wait_for_windows_process_id(process_id: u32) -> anyhow::Result<()>" + )); + assert!(source.contains( + "#[cfg(windows)]\nfn wait_for_windows_process_id_blocking(process_id: u32) -> anyhow::Result<()>" + )); +} + +#[test] +fn launcher_appends_extra_codex_arguments_after_debug_arguments() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + let extra_args = vec![ + "--force_high_performance_gpu".to_string(), + " ".to_string(), + "--enable-features=UseOzonePlatform".to_string(), + ]; + + assert_eq!( + build_codex_arguments(9229, &extra_args), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--force_high_performance_gpu".to_string(), + "--enable-features=UseOzonePlatform".to_string(), + ] + ); + let command = build_codex_command(&app_dir, 9229, &extra_args); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); + assert_eq!(command[3], "--force_high_performance_gpu"); + assert_eq!(command[4], "--enable-features=UseOzonePlatform"); +} + +#[test] +fn launcher_fast_startup_adds_statsig_fast_fail_argument_when_enabled() { + let settings = BackendSettings::default(); + let args = build_codex_arguments_for_settings(9229, &settings); + + assert!(args.iter().any(|arg| { + arg.starts_with("--host-resolver-rules=") + && arg.contains("MAP ab.chatgpt.com 127.0.0.1") + && arg.contains("MAP featureassets.org 127.0.0.1") + && arg.contains("MAP cloudflare-dns.com 127.0.0.1") + })); + + let settings = BackendSettings { + codex_app_fast_startup: true, + codex_extra_args: vec!["--host-resolver-rules=MAP example.test 127.0.0.1".to_string()], + ..BackendSettings::default() + }; + let args = build_codex_arguments_for_settings(9229, &settings); + assert_eq!( + args.iter() + .filter(|arg| arg.starts_with("--host-resolver-rules=")) + .count(), + 1 + ); + + let settings = BackendSettings { + codex_app_fast_startup: false, + ..BackendSettings::default() + }; + let args = build_codex_arguments_for_settings(9229, &settings); + assert!( + !args + .iter() + .any(|arg| arg.starts_with("--host-resolver-rules=")) + ); +} + +#[test] +fn launcher_native_menu_inspector_arguments_are_added_before_extra_args() { + let app_dir = PathBuf::from(r"C:\Codex\app"); + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + + assert_eq!( + build_codex_arguments_with_native_menu_inspector(9229, 9329, &extra_args), + vec![ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--inspect=127.0.0.1:9329".to_string(), + "--force_high_performance_gpu".to_string(), + ] + ); + let command = build_codex_command_with_native_menu_inspector(&app_dir, 9229, 9329, &extra_args); + assert_eq!(command[1], "--remote-debugging-port=9229"); + assert_eq!(command[2], "--remote-allow-origins=http://127.0.0.1:9229"); + assert_eq!(command[3], "--inspect=127.0.0.1:9329"); + assert_eq!(command[4], "--force_high_performance_gpu"); +} + +#[test] +fn launcher_constructs_windows_packaged_activation_without_real_app() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + + assert_eq!( + packaged_app_user_model_id(&app_dir).unwrap(), + "OpenAI.Codex_2p2nqsd0c76g0!App" + ); + assert_eq!( + build_packaged_activation(&app_dir, 9229, &[]).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_appends_extra_codex_arguments() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + + assert_eq!( + build_packaged_activation(&app_dir, 9229, &extra_args).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: + "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --force_high_performance_gpu" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_adds_native_menu_inspector_argument() { + let app_dir = PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_26.506.2212.0_x64__2p2nqsd0c76g0\app", + ); + + assert_eq!( + build_packaged_activation_with_native_menu_inspector(&app_dir, 9229, 9329, &[]).unwrap(), + CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: + "--remote-debugging-port=9229 --remote-allow-origins=http://127.0.0.1:9229 --inspect=127.0.0.1:9329" + .to_string(), + process_id: None, + } + ); +} + +#[test] +fn launcher_packaged_activation_can_preserve_process_id() { + let launch = CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }; + + assert_eq!(launch.process_id(), Some(4242)); +} + +#[test] +fn launcher_applies_codexplusplus_window_icon_after_packaged_activation() { + let source = include_str!("../src/launcher.rs"); + + assert!(source.contains("apply_codexplusplus_window_icon_after_launch(process_id);")); + assert!(source.contains("windows_apply_codexplusplus_icon_to_process_window")); +} + +#[test] +fn launcher_no_longer_contains_mobile_control_runtime() { + let launcher_source = include_str!("../src/launcher.rs"); + let settings_source = include_str!("../src/settings.rs"); + let workspace_toml = include_str!("../../../Cargo.toml"); + + assert!(!workspace_toml.contains("apps/codex-plus-mobile-relay")); + assert!(!launcher_source.contains("MobileRelay")); + assert!(!launcher_source.contains("mobile_relay")); + assert!(!launcher_source.contains("\"/mobile\"")); + assert!(!launcher_source.contains("CODEX_PLUS_MOBILE")); + assert!(!settings_source.contains("mobileControl")); +} + +#[test] +fn app_paths_parse_appx_install_location_from_powershell_output() { + let output = + "\r\nC:\\Program Files\\WindowsApps\\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0\r\n"; + + assert_eq!( + latest_appx_install_location_from_output(output).as_deref(), + Some(r"C:\Program Files\WindowsApps\OpenAI.Codex_26.611.7849.0_x64__2p2nqsd0c76g0") + ); +} + +#[test] +fn launcher_packaged_activation_does_not_directly_fallback_to_windowsapps_exe() { + let source = include_str!("../src/launcher.rs"); + + assert!(!source.contains("launcher.packaged_activation_cdp_unready_direct_fallback")); + assert!(!source.contains("terminate_windows_process_id(process_id).await")); +} + +#[cfg(windows)] +#[test] +fn launcher_windows_packaged_process_management_uses_native_api() { + assert_eq!( + windows_process_control_strategy(), + WindowsProcessControlStrategy::NativeWindowsApi + ); +} + +#[test] +fn launcher_macos_open_command_waits_for_app_exit() { + let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &[]); + + assert_eq!(command[0], "open"); + assert!(command.contains(&"-W".to_string())); + assert!(command.contains(&"-a".to_string())); + assert!(command.contains(&"--args".to_string())); + assert!(command.contains(&"--remote-debugging-port=9229".to_string())); +} + +#[test] +fn launcher_macos_open_command_appends_extra_codex_arguments_after_args() { + let extra_args = vec!["--force_high_performance_gpu".to_string()]; + let command = build_macos_open_command(Path::new("/Applications/Codex.app"), 9229, &extra_args); + let args_index = command + .iter() + .position(|part| part == "--args") + .expect("macOS command should contain --args"); + + assert_eq!( + &command[args_index + 1..], + &[ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--force_high_performance_gpu".to_string(), + ] + ); +} + +#[test] +fn launcher_macos_open_command_adds_native_menu_inspector_argument() { + let command = build_macos_open_command_with_native_menu_inspector( + Path::new("/Applications/Codex.app"), + 9229, + 9329, + &[], + ); + let args_index = command + .iter() + .position(|part| part == "--args") + .expect("macOS command should contain --args"); + + assert_eq!( + &command[args_index + 1..], + &[ + "--remote-debugging-port=9229".to_string(), + "--remote-allow-origins=http://127.0.0.1:9229".to_string(), + "--inspect=127.0.0.1:9329".to_string(), + ] + ); +} + +#[test] +fn ports_windows_falls_back_to_ephemeral_when_requested_is_busy() { + let selected = select_platform_loopback_port_with(9229, true, |_| false, || 43001); + + assert_eq!(selected, 43001); +} + +#[test] +fn ports_windows_packaged_debug_falls_back_to_ephemeral_when_requested_is_busy() { + let selected = select_packaged_codex_debug_port_with(9229, true, |_| false, || 43001); + + assert_eq!(selected, 43001); +} + +#[test] +fn ports_non_windows_keeps_requested_even_when_busy() { + let selected = select_platform_loopback_port_with(9229, false, |_| false, || 43001); + + assert_eq!(selected, 9229); +} + +#[tokio::test] +async fn default_helper_serves_backend_status_over_http() { + let hooks = DefaultLaunchHooks::default(); + let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); + let port = listener.local_addr().unwrap().port(); + drop(listener); + + hooks.start_helper(port).await.unwrap(); + let client = reqwest::Client::builder().no_proxy().build().unwrap(); + let response = client + .post(format!("http://127.0.0.1:{port}/backend/status")) + .json(&serde_json::json!({})) + .send() + .await + .unwrap(); + assert!(response.status().is_success()); + let payload: serde_json::Value = response.json().await.unwrap(); + assert_eq!(payload["status"], "ok"); + assert_eq!(payload["transport"], "http-helper"); + + let repair_response = client + .post(format!("http://127.0.0.1:{port}/backend/repair")) + .json(&serde_json::json!({})) + .send() + .await + .unwrap(); + assert!(repair_response.status().is_success()); + let repair_payload: serde_json::Value = repair_response.json().await.unwrap(); + assert_eq!(repair_payload["status"], "ok"); + assert_eq!(repair_payload["transport"], "http-helper"); + + hooks.shutdown_helper(port).await; +} + +#[tokio::test] +async fn default_helper_accepts_diagnostic_log_events_over_http() { + let temp = tempfile::tempdir().unwrap(); + let log_path = temp.path().join("codex-plus.log"); + codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(Some(log_path.clone())); + let hooks = DefaultLaunchHooks::default(); + let listener = std::net::TcpListener::bind(("127.0.0.1", 0)).unwrap(); + let port = listener.local_addr().unwrap().port(); + drop(listener); + + hooks.start_helper(port).await.unwrap(); + let response = reqwest::Client::builder() + .no_proxy() + .build() + .unwrap() + .post(format!("http://127.0.0.1:{port}/diagnostics/log")) + .json(&serde_json::json!({ + "event": "backend_check_failed", + "message": "fetch failed", + "helperBase": format!("http://127.0.0.1:{port}") + })) + .send() + .await + .unwrap(); + + assert!(response.status().is_success()); + let payload: serde_json::Value = response.json().await.unwrap(); + assert_eq!(payload["status"], "ok"); + hooks.shutdown_helper(port).await; + + let contents = std::fs::read_to_string(&log_path).unwrap(); + assert!(contents.contains("renderer.backend_check_failed")); + assert!(contents.contains("fetch failed")); + codex_plus_core::diagnostic_log::set_diagnostic_log_path_for_tests(None); +} + +#[tokio::test] async fn launch_lifecycle_runs_enabled_maintenance_without_applying_relay_profile() { let temp = tempfile::tempdir().unwrap(); let app_dir = temp.path().join("Codex.app"); @@ -538,24 +598,24 @@ async fn launch_lifecycle_runs_enabled_maintenance_without_applying_relay_profil .with_launch_result(CodexLaunch::Process { command: vec!["codex".to_string()], wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, - macos_cleanup_policy: None, - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir.clone()), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), + macos_cleanup_policy: None, + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir.clone()), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), vec![ "select-debug:9229", "select-helper:57321", @@ -581,186 +641,186 @@ async fn launch_lifecycle_runs_enabled_maintenance_without_applying_relay_profil .status_store .load_latest() .unwrap() - .unwrap() - .codex_app - .as_deref(), - Some(app_dir.to_string_lossy().as_ref()) - ); -} - -#[tokio::test] -async fn launch_lifecycle_passes_configured_extra_args_to_codex_launch() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - codex_extra_args: vec!["--force_high_performance_gpu".to_string()], - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert!( - events - .lock() - .unwrap() - .contains(&"launch:9229:--force_high_performance_gpu".to_string()) - ); -} - -#[tokio::test] -async fn launch_lifecycle_passes_native_menu_localization_switch_to_codex_launch() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - codex_app_native_menu_localization: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert!( - events - .lock() - .unwrap() - .contains(&"launch:9229:native-menu-off".to_string()) - ); -} - -#[tokio::test] + .unwrap() + .codex_app + .as_deref(), + Some(app_dir.to_string_lossy().as_ref()) + ); +} + +#[tokio::test] +async fn launch_lifecycle_passes_configured_extra_args_to_codex_launch() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + codex_extra_args: vec!["--force_high_performance_gpu".to_string()], + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert!( + events + .lock() + .unwrap() + .contains(&"launch:9229:--force_high_performance_gpu".to_string()) + ); +} + +#[tokio::test] +async fn launch_lifecycle_passes_native_menu_localization_switch_to_codex_launch() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + codex_app_native_menu_localization: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert!( + events + .lock() + .unwrap() + .contains(&"launch:9229:native-menu-off".to_string()) + ); +} + +#[tokio::test] async fn launch_lifecycle_keeps_js_injection_in_relay_mode() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - launch_mode: codex_plus_core::settings::LaunchMode::Relay, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + launch_mode: codex_plus_core::settings::LaunchMode::Relay, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running", - "wait-codex", - "shutdown-helper:57321", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_skips_helper_and_injection_when_enhancements_disabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - enhancements_enabled: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:running", + "wait-codex", + "shutdown-helper:57321", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_skips_helper_and_injection_when_enhancements_disabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + enhancements_enabled: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "launch:9229", "status:running", "wait-codex", - ] - ); -} - -#[tokio::test] + ] + ); +} + +#[tokio::test] async fn launch_lifecycle_runs_computer_use_guard_when_enabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - computer_use_guard_enabled: true, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + computer_use_guard_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", @@ -771,415 +831,415 @@ async fn launch_lifecycle_runs_computer_use_guard_when_enabled() { "inject:9229:57321", "status:running", "wait-codex", - "shutdown-helper:57321", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_skips_computer_use_guard_by_default() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - let events = events.lock().unwrap().clone(); - assert!(!events.contains(&"computer-use-guard".to_string())); - assert!(!events.contains(&"computer-use-guard-watchdog".to_string())); - assert!(events.contains(&"launch:9229".to_string())); -} - -#[tokio::test] + "shutdown-helper:57321", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_skips_computer_use_guard_by_default() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"computer-use-guard".to_string())); + assert!(!events.contains(&"computer-use-guard-watchdog".to_string())); + assert!(events.contains(&"launch:9229".to_string())); +} + +#[tokio::test] async fn launch_lifecycle_does_not_apply_relay_profile_before_launching_codex() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_profiles_enabled: true, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_profiles_enabled: true, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); assert!(!events.contains(&"apply-relay".to_string())); assert!(events.contains(&"launch:9229".to_string())); } - -#[tokio::test] -async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_profiles_enabled: false, - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - - let events = events.lock().unwrap().clone(); - assert!(!events.contains(&"apply-relay".to_string())); - assert!(!events.contains(&"computer-use-guard".to_string())); - assert!(events.contains(&"launch:9229".to_string())); -} - -#[tokio::test] + +#[tokio::test] +async fn launch_lifecycle_skips_active_relay_profile_when_supplier_config_disabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_profiles_enabled: false, + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + + let events = events.lock().unwrap().clone(); + assert!(!events.contains(&"apply-relay".to_string())); + assert!(!events.contains(&"computer-use-guard".to_string())); + assert!(events.contains(&"launch:9229".to_string())); +} + +#[tokio::test] async fn launch_lifecycle_tolerates_duplicate_context_parent_tables_without_applying_relay() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { - relay_common_config_contents: "[mcp_servers]\n".to_string(), - relay_context_config_contents: "[mcp_servers]\n\n[mcp_servers.ida]\ncommand = \"python\"\n" - .to_string(), - relay_profiles: vec![RelayProfile { - id: "relay-a".to_string(), - name: "Relay A".to_string(), - relay_mode: codex_plus_core::settings::RelayMode::PureApi, - config_contents: r#"model = "gpt-5.5" -model_provider = "custom" - -[model_providers.custom] -name = "custom" -wire_api = "responses" -requires_openai_auth = true -base_url = "https://relay.example/v1" -experimental_bearer_token = "sk-test" -"# - .to_string(), - auth_contents: r#"{"OPENAI_API_KEY":"sk-test"}"#.to_string(), - ..RelayProfile::default() - }], - active_relay_id: "relay-a".to_string(), - ..BackendSettings::default() - }); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - handle.wait_for_codex_exit().await.unwrap(); - + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_settings(BackendSettings { + relay_common_config_contents: "[mcp_servers]\n".to_string(), + relay_context_config_contents: "[mcp_servers]\n\n[mcp_servers.ida]\ncommand = \"python\"\n" + .to_string(), + relay_profiles: vec![RelayProfile { + id: "relay-a".to_string(), + name: "Relay A".to_string(), + relay_mode: codex_plus_core::settings::RelayMode::PureApi, + config_contents: r#"model = "gpt-5.5" +model_provider = "custom" + +[model_providers.custom] +name = "custom" +wire_api = "responses" +requires_openai_auth = true +base_url = "https://relay.example/v1" +experimental_bearer_token = "sk-test" +"# + .to_string(), + auth_contents: r#"{"OPENAI_API_KEY":"sk-test"}"#.to_string(), + ..RelayProfile::default() + }], + active_relay_id: "relay-a".to_string(), + ..BackendSettings::default() + }); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); assert!(!events.contains(&"apply-relay".to_string())); assert!(!events.contains(&"computer-use-guard".to_string())); assert!(events.contains(&"launch:9229".to_string())); } - -#[tokio::test] -async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_inject_error("inject failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store: status_store.clone(), - }, - &hooks, - ) - .await - .unwrap(); - - assert_eq!( - *events.lock().unwrap(), - vec![ + +#[tokio::test] +async fn launch_lifecycle_enters_degraded_mode_and_retries_when_injection_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_inject_error("inject failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store: status_store.clone(), + }, + &hooks, + ) + .await + .unwrap(); + + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running_degraded", - ] - ); - let status = status_store.load_latest().unwrap().unwrap(); - assert_eq!(status.status, "running_degraded"); - assert!(status.message.contains("Codex launched")); - - handle.wait_for_codex_exit().await.unwrap(); - let events = events.lock().unwrap().clone(); - assert!(events.contains(&"wait-codex".to_string())); - assert!(events.contains(&"shutdown-helper:57321".to_string())); - assert!(!events.contains(&"terminate-codex".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()).with_launch_error("launch failed"); - - let error = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store: status_store.clone(), - }, - &hooks, - ) - .await - .unwrap_err(); - - assert!(error.to_string().contains("launch failed")); - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:running_degraded", + ] + ); + let status = status_store.load_latest().unwrap().unwrap(); + assert_eq!(status.status, "running_degraded"); + assert!(status.message.contains("Codex launched")); + + handle.wait_for_codex_exit().await.unwrap(); + let events = events.lock().unwrap().clone(); + assert!(events.contains(&"wait-codex".to_string())); + assert!(events.contains(&"shutdown-helper:57321".to_string())); + assert!(!events.contains(&"terminate-codex".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_cleans_helper_when_launch_fails_after_helper_started() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()).with_launch_error("launch failed"); + + let error = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store: status_store.clone(), + }, + &hooks, + ) + .await + .unwrap_err(); + + assert!(error.to_string().contains("launch failed")); + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "start-helper:57321", "launch:9229", "shutdown-helper:57321", - "status:failed", - ] - ); -} - -#[tokio::test] -async fn launch_starts_helper_when_chat_protocol_proxy_is_enabled() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let settings = BackendSettings { - enhancements_enabled: false, - relay_profiles: vec![RelayProfile { - id: "relay-chat".to_string(), - name: "Chat".to_string(), - model: String::new(), - base_url: "https://chat-only.example.test/v1".to_string(), - upstream_base_url: "https://chat-only.example.test/v1".to_string(), - api_key: "sk-test".to_string(), - protocol: RelayProtocol::ChatCompletions, - relay_mode: codex_plus_core::settings::RelayMode::MixedApi, - official_mix_api_key: false, - test_model: String::new(), - config_contents: String::new(), - auth_contents: String::new(), - use_common_config: true, - context_selection: codex_plus_core::settings::RelayContextSelection::default(), - context_selection_initialized: false, - context_window: String::new(), - auto_compact_limit: String::new(), - model_insert_mode: codex_plus_core::settings::RelayModelInsertMode::default(), - model_list: String::new(), - model_windows: String::new(), - user_agent: String::new(), - }], - active_relay_id: "relay-chat".to_string(), - ..BackendSettings::default() - }; - let hooks = FakeHooks::new(events.clone()).with_settings(settings); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 58000, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - - let before_stop = events.lock().unwrap().clone(); - assert!(before_stop.contains(&"select-helper:58000".to_string())); - assert!(before_stop.contains(&"start-helper:57321".to_string())); - assert!(!before_stop.contains(&"inject:9229:57321".to_string())); - - handle.wait_for_codex_exit().await.unwrap(); - - let after_stop = events.lock().unwrap().clone(); - assert!(after_stop.contains(&"wait-codex".to_string())); - assert!(after_stop.contains(&"shutdown-helper:57321".to_string())); -} - -#[tokio::test] -async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - std::fs::write(temp.path().join("status-parent-file"), "not a directory").unwrap(); - let status_store = StatusStore::new( - temp.path() - .join("status-parent-file") - .join("latest-status.json"), - ); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = - FakeHooks::new(events.clone()).with_launch_result(CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }); - - let error = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap_err(); - - assert!(error.to_string().contains("failed to create directory")); - assert_eq!( - *events.lock().unwrap(), - vec![ + "status:failed", + ] + ); +} + +#[tokio::test] +async fn launch_starts_helper_when_chat_protocol_proxy_is_enabled() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let settings = BackendSettings { + enhancements_enabled: false, + relay_profiles: vec![RelayProfile { + id: "relay-chat".to_string(), + name: "Chat".to_string(), + model: String::new(), + base_url: "https://chat-only.example.test/v1".to_string(), + upstream_base_url: "https://chat-only.example.test/v1".to_string(), + api_key: "sk-test".to_string(), + protocol: RelayProtocol::ChatCompletions, + relay_mode: codex_plus_core::settings::RelayMode::MixedApi, + official_mix_api_key: false, + test_model: String::new(), + config_contents: String::new(), + auth_contents: String::new(), + use_common_config: true, + context_selection: codex_plus_core::settings::RelayContextSelection::default(), + context_selection_initialized: false, + context_window: String::new(), + auto_compact_limit: String::new(), + model_insert_mode: codex_plus_core::settings::RelayModelInsertMode::default(), + model_list: String::new(), + model_windows: String::new(), + user_agent: String::new(), + }], + active_relay_id: "relay-chat".to_string(), + ..BackendSettings::default() + }; + let hooks = FakeHooks::new(events.clone()).with_settings(settings); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 58000, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + + let before_stop = events.lock().unwrap().clone(); + assert!(before_stop.contains(&"select-helper:58000".to_string())); + assert!(before_stop.contains(&"start-helper:57321".to_string())); + assert!(!before_stop.contains(&"inject:9229:57321".to_string())); + + handle.wait_for_codex_exit().await.unwrap(); + + let after_stop = events.lock().unwrap().clone(); + assert!(after_stop.contains(&"wait-codex".to_string())); + assert!(after_stop.contains(&"shutdown-helper:57321".to_string())); +} + +#[tokio::test] +async fn launch_lifecycle_cleans_helper_and_codex_when_status_save_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + std::fs::write(temp.path().join("status-parent-file"), "not a directory").unwrap(); + let status_store = StatusStore::new( + temp.path() + .join("status-parent-file") + .join("latest-status.json"), + ); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = + FakeHooks::new(events.clone()).with_launch_result(CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }); + + let error = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap_err(); + + assert!(error.to_string().contains("failed to create directory")); + assert_eq!( + *events.lock().unwrap(), + vec![ "select-debug:9229", "select-helper:57321", "load-settings", "start-helper:57321", "launch:9229", "inject:9229:57321", - "shutdown-helper:57321", - "terminate-packaged:4242", - "status:failed", - ] - ); -} - -#[tokio::test] -async fn launch_lifecycle_keeps_packaged_process_id_running_and_retries_when_injection_fails() { - let temp = tempfile::tempdir().unwrap(); - let app_dir = temp.path().join("Codex.app"); - std::fs::create_dir_all(&app_dir).unwrap(); - let status_store = StatusStore::new(temp.path().join("latest-status.json")); - let events = Arc::new(Mutex::new(Vec::::new())); - let hooks = FakeHooks::new(events.clone()) - .with_launch_result(CodexLaunch::PackagedActivation { - app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), - arguments: "--remote-debugging-port=9229".to_string(), - process_id: Some(4242), - }) - .with_inject_error("inject failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(app_dir), - debug_port: 9229, - helper_port: 57321, - status_store, - }, - &hooks, - ) - .await - .unwrap(); - - assert!( - !events - .lock() - .unwrap() - .contains(&"terminate-packaged:4242".to_string()) - ); - handle.wait_for_codex_exit().await.unwrap(); -} - -#[tokio::test] -async fn default_provider_sync_enabled_fails_instead_of_silently_skipping() { - let hooks = FakeHooks::new(Arc::new(Mutex::new(Vec::new()))).with_provider_sync_unsupported(); - - let error = hooks - .run_provider_sync() - .await - .expect_err("default-style provider sync should be explicit"); - - assert!( - error - .to_string() - .contains("provider sync requires launcher hooks") - ); -} - -#[tokio::test] + "shutdown-helper:57321", + "terminate-packaged:4242", + "status:failed", + ] + ); +} + +#[tokio::test] +async fn launch_lifecycle_keeps_packaged_process_id_running_and_retries_when_injection_fails() { + let temp = tempfile::tempdir().unwrap(); + let app_dir = temp.path().join("Codex.app"); + std::fs::create_dir_all(&app_dir).unwrap(); + let status_store = StatusStore::new(temp.path().join("latest-status.json")); + let events = Arc::new(Mutex::new(Vec::::new())); + let hooks = FakeHooks::new(events.clone()) + .with_launch_result(CodexLaunch::PackagedActivation { + app_user_model_id: "OpenAI.Codex_2p2nqsd0c76g0!App".to_string(), + arguments: "--remote-debugging-port=9229".to_string(), + process_id: Some(4242), + }) + .with_inject_error("inject failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(app_dir), + debug_port: 9229, + helper_port: 57321, + status_store, + }, + &hooks, + ) + .await + .unwrap(); + + assert!( + !events + .lock() + .unwrap() + .contains(&"terminate-packaged:4242".to_string()) + ); + handle.wait_for_codex_exit().await.unwrap(); +} + +#[tokio::test] +async fn default_provider_sync_enabled_fails_instead_of_silently_skipping() { + let hooks = FakeHooks::new(Arc::new(Mutex::new(Vec::new()))).with_provider_sync_unsupported(); + + let error = hooks + .run_provider_sync() + .await + .expect_err("default-style provider sync should be explicit"); + + assert!( + error + .to_string() + .contains("provider sync requires launcher hooks") + ); +} + +#[tokio::test] async fn launch_continues_when_plugin_marketplace_config_fails() { - let events = Arc::new(Mutex::new(Vec::new())); - let hooks = FakeHooks::new(events.clone()) - .with_plugin_marketplace_error("config.toml TOML parse failed"); - - let handle = launch_and_inject_with_hooks( - LaunchOptions { - app_dir: Some(PathBuf::from("/Applications/Codex.app")), - debug_port: 9229, - helper_port: 57321, - status_store: StatusStore::new(tempfile::tempdir().unwrap().path().join("status.json")), - }, - &hooks, - ) - .await - .unwrap(); - - assert_eq!(handle.debug_port, 9229); - assert_eq!( - events.lock().unwrap().as_slice(), - [ + let events = Arc::new(Mutex::new(Vec::new())); + let hooks = FakeHooks::new(events.clone()) + .with_plugin_marketplace_error("config.toml TOML parse failed"); + + let handle = launch_and_inject_with_hooks( + LaunchOptions { + app_dir: Some(PathBuf::from("/Applications/Codex.app")), + debug_port: 9229, + helper_port: 57321, + status_store: StatusStore::new(tempfile::tempdir().unwrap().path().join("status.json")), + }, + &hooks, + ) + .await + .unwrap(); + + assert_eq!(handle.debug_port, 9229); + assert_eq!( + events.lock().unwrap().as_slice(), + [ "select-debug:9229", "select-helper:57321", "load-settings", @@ -1187,246 +1247,246 @@ async fn launch_continues_when_plugin_marketplace_config_fails() { "start-helper:57321", "launch:9229", "inject:9229:57321", - "status:running" - ] - ); -} - -#[test] -fn launcher_macos_cleanup_command_targets_specific_app_bundle() { - let command = build_macos_cleanup_command( - Path::new("/Applications/OpenAI Codex.app"), - MacosCleanupPolicy::QuitIfNotPreviouslyRunning, - ) - .expect("cleanup command should be allowed"); - - assert_eq!(command[0], "osascript"); - assert!(command.iter().any(|part| part.contains("OpenAI Codex"))); - assert!(!command.iter().any(|part| part == "Codex")); -} - -#[test] -fn launcher_macos_cleanup_is_skipped_when_app_was_already_running() { - let command = build_macos_cleanup_command( - Path::new("/Applications/OpenAI Codex.app"), - MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning, - ); - - assert_eq!(command, None); -} - -#[tokio::test] -async fn default_launch_hooks_provider_sync_enabled_returns_explicit_error() { - let error = DefaultLaunchHooks::default() - .run_provider_sync() - .await - .expect_err("default provider sync should not silently skip"); - - assert!( - error - .to_string() - .contains("provider sync requires launcher hooks") - ); -} - -#[derive(Clone)] -struct FakeHooks { - events: Arc>>, - settings: BackendSettings, - launch_result: CodexLaunch, - launch_error: Option, - inject_error: Option, - provider_sync_unsupported: bool, - plugin_marketplace_error: Option, -} - -impl FakeHooks { - fn new(events: Arc>>) -> Self { - Self { - events, - settings: BackendSettings::default(), - launch_result: CodexLaunch::Process { - command: vec!["codex".to_string()], - wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, - macos_cleanup_policy: None, - }, - launch_error: None, - inject_error: None, - provider_sync_unsupported: false, - plugin_marketplace_error: None, - } - } - - fn with_settings(mut self, settings: BackendSettings) -> Self { - self.settings = settings; - self - } - - fn with_launch_result(mut self, launch_result: CodexLaunch) -> Self { - self.launch_result = launch_result; - self - } - - fn with_inject_error(mut self, message: &str) -> Self { - self.inject_error = Some(message.to_string()); - self - } - - fn with_launch_error(mut self, message: &str) -> Self { - self.launch_error = Some(message.to_string()); - self - } - - fn with_provider_sync_unsupported(mut self) -> Self { - self.provider_sync_unsupported = true; - self - } - - fn with_plugin_marketplace_error(mut self, message: &str) -> Self { - self.plugin_marketplace_error = Some(message.to_string()); - self - } - - fn event(&self, event: impl Into) { - self.events.lock().unwrap().push(event.into()); - } -} - -#[async_trait::async_trait(?Send)] -impl LaunchHooks for FakeHooks { - fn resolve_app_dir( - &self, - app_dir: Option<&Path>, - _settings: &BackendSettings, - ) -> anyhow::Result { - app_dir - .map(Path::to_path_buf) - .ok_or_else(|| anyhow::anyhow!("missing app dir")) - } - - fn select_debug_port(&self, requested: u16) -> u16 { - self.event(format!("select-debug:{requested}")); - requested - } - - fn select_helper_port(&self, requested: u16) -> u16 { - self.event(format!("select-helper:{requested}")); - requested - } - - async fn load_settings(&self) -> anyhow::Result { - self.event("load-settings"); - Ok(self.settings.clone()) - } - - async fn run_provider_sync(&self) -> anyhow::Result<()> { - self.event("provider-sync"); - if self.provider_sync_unsupported { - anyhow::bail!("provider sync requires launcher hooks"); - } - Ok(()) - } - - async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { - if !settings.relay_profiles_enabled { - return Ok(()); - } - self.event("apply-relay"); - Ok(()) - } - - async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { - self.event("computer-use-guard"); - Ok(()) - } - - async fn ensure_plugin_marketplace_config( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - if let Some(message) = &self.plugin_marketplace_error { - self.event("plugin-marketplace"); - anyhow::bail!(message.clone()); - } - Ok(()) - } - - async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { - self.event(format!("start-helper:{helper_port}")); - Ok(()) - } - - async fn launch_codex( - &self, - app_dir: &Path, - debug_port: u16, - settings: &BackendSettings, - extra_args: &[String], - ) -> anyhow::Result { - assert!(app_dir.ends_with("Codex.app")); - let launch_detail = if extra_args.is_empty() { - format!("launch:{debug_port}") - } else { - format!("launch:{debug_port}:{}", extra_args.join(",")) - }; - if settings.codex_app_native_menu_localization { - self.event(launch_detail); - } else { - self.event(format!("{launch_detail}:native-menu-off")); - } - if let Some(message) = &self.launch_error { - anyhow::bail!(message.clone()); - } - Ok(self.launch_result.clone()) - } - - async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { - self.event(format!("inject:{debug_port}:{helper_port}")); - if let Some(message) = &self.inject_error { - anyhow::bail!(message.clone()); - } - Ok(()) - } - - async fn ensure_injection(&self, debug_port: u16, helper_port: u16, _app_dir: &Path) -> bool { - self.event(format!("inject:{debug_port}:{helper_port}")); - self.inject_error.is_none() - } - - async fn start_bridge_watchdog( - &self, - _debug_port: u16, - _helper_port: u16, - ) -> anyhow::Result<()> { - Ok(()) - } - - async fn start_computer_use_guard_watchdog( - &self, - _settings: &BackendSettings, - ) -> anyhow::Result<()> { - self.event("computer-use-guard-watchdog"); - Ok(()) - } - - async fn write_status(&self, status: &str) { - self.event(format!("status:{status}")); - } - - async fn wait_for_codex_exit(&self, _launch: &CodexLaunch) -> anyhow::Result<()> { - self.event("wait-codex"); - Ok(()) - } - - async fn shutdown_helper(&self, helper_port: u16) { - self.event(format!("shutdown-helper:{helper_port}")); - } - - async fn terminate_codex(&self, launch: &CodexLaunch) { - if let Some(process_id) = launch.process_id() { - self.event(format!("terminate-packaged:{process_id}")); - } else { - self.event("terminate-codex"); - } - } -} + "status:running" + ] + ); +} + +#[test] +fn launcher_macos_cleanup_command_targets_specific_app_bundle() { + let command = build_macos_cleanup_command( + Path::new("/Applications/OpenAI Codex.app"), + MacosCleanupPolicy::QuitIfNotPreviouslyRunning, + ) + .expect("cleanup command should be allowed"); + + assert_eq!(command[0], "osascript"); + assert!(command.iter().any(|part| part.contains("OpenAI Codex"))); + assert!(!command.iter().any(|part| part == "Codex")); +} + +#[test] +fn launcher_macos_cleanup_is_skipped_when_app_was_already_running() { + let command = build_macos_cleanup_command( + Path::new("/Applications/OpenAI Codex.app"), + MacosCleanupPolicy::SkipQuitBecauseAlreadyRunning, + ); + + assert_eq!(command, None); +} + +#[tokio::test] +async fn default_launch_hooks_provider_sync_enabled_returns_explicit_error() { + let error = DefaultLaunchHooks::default() + .run_provider_sync() + .await + .expect_err("default provider sync should not silently skip"); + + assert!( + error + .to_string() + .contains("provider sync requires launcher hooks") + ); +} + +#[derive(Clone)] +struct FakeHooks { + events: Arc>>, + settings: BackendSettings, + launch_result: CodexLaunch, + launch_error: Option, + inject_error: Option, + provider_sync_unsupported: bool, + plugin_marketplace_error: Option, +} + +impl FakeHooks { + fn new(events: Arc>>) -> Self { + Self { + events, + settings: BackendSettings::default(), + launch_result: CodexLaunch::Process { + command: vec!["codex".to_string()], + wait_strategy: codex_plus_core::launcher::ProcessWaitStrategy::TrackedChild, + macos_cleanup_policy: None, + }, + launch_error: None, + inject_error: None, + provider_sync_unsupported: false, + plugin_marketplace_error: None, + } + } + + fn with_settings(mut self, settings: BackendSettings) -> Self { + self.settings = settings; + self + } + + fn with_launch_result(mut self, launch_result: CodexLaunch) -> Self { + self.launch_result = launch_result; + self + } + + fn with_inject_error(mut self, message: &str) -> Self { + self.inject_error = Some(message.to_string()); + self + } + + fn with_launch_error(mut self, message: &str) -> Self { + self.launch_error = Some(message.to_string()); + self + } + + fn with_provider_sync_unsupported(mut self) -> Self { + self.provider_sync_unsupported = true; + self + } + + fn with_plugin_marketplace_error(mut self, message: &str) -> Self { + self.plugin_marketplace_error = Some(message.to_string()); + self + } + + fn event(&self, event: impl Into) { + self.events.lock().unwrap().push(event.into()); + } +} + +#[async_trait::async_trait(?Send)] +impl LaunchHooks for FakeHooks { + fn resolve_app_dir( + &self, + app_dir: Option<&Path>, + _settings: &BackendSettings, + ) -> anyhow::Result { + app_dir + .map(Path::to_path_buf) + .ok_or_else(|| anyhow::anyhow!("missing app dir")) + } + + fn select_debug_port(&self, requested: u16) -> u16 { + self.event(format!("select-debug:{requested}")); + requested + } + + fn select_helper_port(&self, requested: u16) -> u16 { + self.event(format!("select-helper:{requested}")); + requested + } + + async fn load_settings(&self) -> anyhow::Result { + self.event("load-settings"); + Ok(self.settings.clone()) + } + + async fn run_provider_sync(&self) -> anyhow::Result<()> { + self.event("provider-sync"); + if self.provider_sync_unsupported { + anyhow::bail!("provider sync requires launcher hooks"); + } + Ok(()) + } + + async fn apply_active_relay_profile(&self, settings: &BackendSettings) -> anyhow::Result<()> { + if !settings.relay_profiles_enabled { + return Ok(()); + } + self.event("apply-relay"); + Ok(()) + } + + async fn ensure_computer_use_config(&self, _settings: &BackendSettings) -> anyhow::Result<()> { + self.event("computer-use-guard"); + Ok(()) + } + + async fn ensure_plugin_marketplace_config( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + if let Some(message) = &self.plugin_marketplace_error { + self.event("plugin-marketplace"); + anyhow::bail!(message.clone()); + } + Ok(()) + } + + async fn start_helper(&self, helper_port: u16) -> anyhow::Result<()> { + self.event(format!("start-helper:{helper_port}")); + Ok(()) + } + + async fn launch_codex( + &self, + app_dir: &Path, + debug_port: u16, + settings: &BackendSettings, + extra_args: &[String], + ) -> anyhow::Result { + assert!(app_dir.ends_with("Codex.app")); + let launch_detail = if extra_args.is_empty() { + format!("launch:{debug_port}") + } else { + format!("launch:{debug_port}:{}", extra_args.join(",")) + }; + if settings.codex_app_native_menu_localization { + self.event(launch_detail); + } else { + self.event(format!("{launch_detail}:native-menu-off")); + } + if let Some(message) = &self.launch_error { + anyhow::bail!(message.clone()); + } + Ok(self.launch_result.clone()) + } + + async fn inject(&self, debug_port: u16, helper_port: u16) -> anyhow::Result<()> { + self.event(format!("inject:{debug_port}:{helper_port}")); + if let Some(message) = &self.inject_error { + anyhow::bail!(message.clone()); + } + Ok(()) + } + + async fn ensure_injection(&self, debug_port: u16, helper_port: u16, _app_dir: &Path) -> bool { + self.event(format!("inject:{debug_port}:{helper_port}")); + self.inject_error.is_none() + } + + async fn start_bridge_watchdog( + &self, + _debug_port: u16, + _helper_port: u16, + ) -> anyhow::Result<()> { + Ok(()) + } + + async fn start_computer_use_guard_watchdog( + &self, + _settings: &BackendSettings, + ) -> anyhow::Result<()> { + self.event("computer-use-guard-watchdog"); + Ok(()) + } + + async fn write_status(&self, status: &str) { + self.event(format!("status:{status}")); + } + + async fn wait_for_codex_exit(&self, _launch: &CodexLaunch) -> anyhow::Result<()> { + self.event("wait-codex"); + Ok(()) + } + + async fn shutdown_helper(&self, helper_port: u16) { + self.event(format!("shutdown-helper:{helper_port}")); + } + + async fn terminate_codex(&self, launch: &CodexLaunch) { + if let Some(process_id) = launch.process_id() { + self.event(format!("terminate-packaged:{process_id}")); + } else { + self.event("terminate-codex"); + } + } +} diff --git a/crates/codex-plus-core/tests/watcher.rs b/crates/codex-plus-core/tests/watcher.rs index bf2827e50..84fa2dacd 100644 --- a/crates/codex-plus-core/tests/watcher.rs +++ b/crates/codex-plus-core/tests/watcher.rs @@ -132,7 +132,7 @@ fn find_codex_processes_finds_local_install_with_capitial_c() { #[cfg(windows)] #[test] -fn find_codex_processes_finds_local_install_case_insensitively() { +fn find_codex_processes_ignores_lowercase_local_cli_binary() { let processes = [WindowsProcessInfo { process_id: 43, parent_process_id: 0, @@ -142,7 +142,37 @@ fn find_codex_processes_finds_local_install_case_insensitively() { )), }]; - assert_eq!(find_codex_processes_from_snapshot(&processes), vec![43]); + assert!(find_codex_processes_from_snapshot(&processes).is_empty()); +} + +#[cfg(windows)] +#[test] +fn find_codex_processes_ignores_npm_cli_binary() { + let processes = [WindowsProcessInfo { + process_id: 44, + parent_process_id: 0, + exe_file: "codex.exe".to_string(), + executable_path: Some(std::path::PathBuf::from( + r"C:\Users\me\AppData\Roaming\npm\node_modules\@openai\codex\node_modules\@openai\codex-win32-x64\vendor\x86_64-pc-windows-msvc\bin\codex.exe", + )), + }]; + + assert!(find_codex_processes_from_snapshot(&processes).is_empty()); +} + +#[cfg(windows)] +#[test] +fn find_codex_processes_ignores_packaged_resource_cli_binary() { + let processes = [WindowsProcessInfo { + process_id: 45, + parent_process_id: 0, + exe_file: "codex.exe".to_string(), + executable_path: Some(std::path::PathBuf::from( + r"C:\Program Files\WindowsApps\OpenAI.Codex_1.0.0.0_x64__abc\app\resources\codex.exe", + )), + }]; + + assert!(find_codex_processes_from_snapshot(&processes).is_empty()); } #[cfg(windows)] From de8d47f96ddd104b70d39449fe177b8db184a183 Mon Sep 17 00:00:00 2001 From: Ghibli1024 Date: Mon, 29 Jun 2026 17:48:12 +0800 Subject: [PATCH 139/156] Stabilize guard port env tests --- crates/codex-plus-core/src/ports.rs | 15 +++++++++++++++ 1 file changed, 15 insertions(+) diff --git a/crates/codex-plus-core/src/ports.rs b/crates/codex-plus-core/src/ports.rs index 20c2d54af..2263b21fa 100644 --- a/crates/codex-plus-core/src/ports.rs +++ b/crates/codex-plus-core/src/ports.rs @@ -242,6 +242,9 @@ fn normalize_lock_error(error: std::io::Error) -> std::io::Error { #[cfg(test)] mod tests { use super::*; + use std::sync::{Mutex, MutexGuard}; + + static GUARD_PORT_ENV_LOCK: Mutex<()> = Mutex::new(()); #[test] fn resilient_guard_holds_lock_and_listener_when_requested_port_is_available() { @@ -321,6 +324,7 @@ mod tests { #[test] fn launcher_guard_port_returns_base_when_no_env_override() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); let port = launcher_guard_port(); // On non-Windows: LAUNCHER_GUARD_PORT_BASE + 0 @@ -331,6 +335,7 @@ mod tests { #[test] fn manager_guard_port_returns_base_when_no_env_override() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); let port = manager_guard_port(); assert!(port >= MANAGER_GUARD_PORT_BASE); @@ -339,6 +344,7 @@ mod tests { #[test] fn launcher_guard_port_honors_env_override() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); unsafe { std::env::set_var("CODEX_PLUS_GUARD_PORT", "9999") }; let port = launcher_guard_port(); @@ -348,6 +354,7 @@ mod tests { #[test] fn launcher_guard_port_honors_specific_env_override() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); unsafe { std::env::set_var("CODEX_PLUS_LAUNCHER_GUARD_PORT", "8888") }; let port = launcher_guard_port(); @@ -357,6 +364,7 @@ mod tests { #[test] fn manager_guard_port_honors_specific_env_override() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); unsafe { std::env::set_var("CODEX_PLUS_MANAGER_GUARD_PORT", "7777") }; let port = manager_guard_port(); @@ -366,12 +374,19 @@ mod tests { #[test] fn launcher_guard_port_honors_offset_env() { + let _guard = guard_port_env_lock(); _clear_guard_port_env_vars(); unsafe { std::env::set_var("CODEX_PLUS_GUARD_PORT_OFFSET", "50") }; let port = launcher_guard_port(); unsafe { std::env::remove_var("CODEX_PLUS_GUARD_PORT_OFFSET") }; assert_eq!(port, LAUNCHER_GUARD_PORT_BASE + 50); } + + fn guard_port_env_lock() -> MutexGuard<'static, ()> { + GUARD_PORT_ENV_LOCK + .lock() + .expect("guard port env lock should not be poisoned") + } } /// Clear all guard-port env vars to prevent cross-test contamination From 60abf53932f2be71ec942d3bcad94dba60821af5 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Tue, 30 Jun 2026 16:03:36 +0800 Subject: [PATCH 140/156] Update README sponsors --- README.md | 60 +++++++++-------------------- README_EN.md | 28 +++++++++----- docs/images/sponsor-byteplus.png | Bin 0 -> 86515 bytes docs/images/sponsor-jojocode.png | Bin 0 -> 42454 bytes docs/images/sponsor-smallice.png | Bin 0 -> 2012807 bytes docs/images/sponsor-volcengine.png | Bin 0 -> 107106 bytes 6 files changed, 36 insertions(+), 52 deletions(-) create mode 100644 docs/images/sponsor-byteplus.png create mode 100644 docs/images/sponsor-jojocode.png create mode 100644 docs/images/sponsor-smallice.png create mode 100644 docs/images/sponsor-volcengine.png diff --git a/README.md b/README.md index e5c1c4e8e..39a22d58e 100644 --- a/README.md +++ b/README.md @@ -37,7 +37,7 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安

@@ -56,7 +56,7 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 - JOJO Code + JOJO Code JOJO Code|Codex++ 官方中转站
感谢 JOJO Code 赞助本项目。JOJO Code 是 Codex++ 官方中转站,提供价格划算、稳定易接入的 Codex API 中转服务,支持 GPT-5.5、GPT-5.4、Claude Opus 4.8、Claude Opus 4.7、gpt-image-2 等模型与图像能力,适合日常开发、快速配置、团队协作和长期使用。 @@ -69,14 +69,6 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 AIGoCode
感谢 AIGoCode 赞助了本项目!AIGoCode 是一个集成了 Claude Code、Codex 以及 Gemini 最新模型的一站式平台,为你提供稳定、高效且高性价比的AI编程服务。本站提供灵活的订阅计划,支持多风险,国内直连,无需魔法,极速响应。AIGoCode 为 CodexPlusPlus 的用户提供了特别福利,通过此链接注册的用户首次充值可以获得额外10%奖励额度! - - - - PackyCode - - - PackyCode
感谢 PackyCode 赞助了本项目!PackyCode 是一家稳定、高效的API中转服务商,提供 Claude Code、Codex、Gemini 等多种中转服务。PackyCode 为本软件的用户提供了特别优惠,使用此链接注册并在充值时填写"CodexPlusPlus"优惠码,首次充值可以享受9折优惠! - @@ -101,38 +93,6 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 0029云桥|codex api中转站(gpt5.5 gpt-image-2)
支持个人和企业接入。包月套餐/按量计费,Pro/Plus 号池,全站接口稳定可用,7×24 小时技术支持! - - - - AIHub2API - - - AIHub2API
感谢 AIHub2API 赞助了本项目!AIHub2API 是一家稳定、高效的 API 中转服务商,专注 Codex 中转业务,提供高缓存命中、低倍率的中转服务,网络链路优化无需使用魔法,极速响应,价格低至官方原价的 1%。通过专属链接注册 AIHub2API,赠送 10 美金体验额度。 - - - - - 优云智算 - - - 优云智算
感谢优云智算赞助了本项目!优云智算是 UCloud 旗下 AI 云平台,主打包月、按次的高性价比国模 Agent Plan 套餐,低至 49 元/月起。同时提供官转稳定海外模型,支持接入 Claude Code、Codex 及 API 调用,支持企业高并发、7×24 技术支持、自助开票。通过此链接注册的用户,可得免费 5 元平台体验金! - - - - - Cubence - - - Cubence
感谢 Cubence 对本项目的支持。Cubence 是一家致力为客户提供稳定、高效的 API 中转服务商。从 25 年 9 月运营至今,提供了 Claude Code、Codex、Gemini 等多种模型支持。Cubence 为本开源项目多用户提供了特别的专属优惠 CODEXPLUSPLUS,在首次购买时享受 8.8 折优惠! - - - - - MaoLao API - - - MaoLao API
MaoLao API 是一家专注 VibeCoding 主流模型的 API 中转站,有自己的纯 Pro20X/Plus 号池,所以在低倍率的情况下还能做到低价套餐,套餐所有模型以及分组无限制!猫佬API:maolaoapi.com - @@ -173,6 +133,22 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 随想AI网关
感谢随想AI网关对本项目的赞助!随想AI网关是一家可靠高效的 API 中继服务提供商,提供 Claude、Codex、Gemini 等中继服务,注重隐私,承诺无数据倒卖、无模型掺水,并提供透明、快速的售后支持。新账户注册每日签到送 0.5 元测试额度,充值额度 1:1,无需订阅,按量付费。 + + + + 火山引擎 + + + 火山引擎|方舟 Agent Plan
感谢火山引擎赞助本项目!方舟 Agent Plan 模型订阅套餐集成了 Doubao-Seed、Doubao-Seedance、Doubao-Seedream 等字节跳动自研 SOTA 级模型,覆盖文本、代码、图像、视频等多模态任务。最新支持 MiniMax-M3、DeepSeek-V4 系列、GLM-5.2、Doubao-Seed-2.0 系列、Kimi-K2.7 等模型,工具不限。超全模态模型与 Harness 升级一步到位,深度支持 Agent 框架与 AI 编程工具。一次订阅,可以为不同任务切换合适的 AI 引擎。方舟 Agent Plan 限时 2.5 折订阅,点击链接抢购,名额有限,先到先得。For developers outside Mainland China, please click here。 + + + + + SmallRice + + + SmallRice|AI 中转站
感谢 SmallRice 赞助本项目!SmallRice 是一把钥匙,通往所有值得调用的语言模型。一个统一的 endpoint,作为你应用之下、无需多言的基础层。无论你召唤的是 Claude、GPT、Gemini 还是 DeepSeek,调用的形式从此恒等。通过此链接注册即可开始使用。 + ## 交流与支持 diff --git a/README_EN.md b/README_EN.md index 59ede6237..be42a93b4 100644 --- a/README_EN.md +++ b/README_EN.md @@ -37,7 +37,7 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in

- JOJO Code + JOJO Code

@@ -56,7 +56,7 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in - JOJO Code + JOJO Code JOJO Code | Official Codex++ Relay
Thanks to JOJO Code for sponsoring this project. JOJO Code is the official Codex++ relay service with cost-effective pricing and stable, easy-to-configure Codex API access. It supports GPT-5.5, GPT-5.4, Claude Opus 4.8, Claude Opus 4.7, gpt-image-2, and more for daily development, quick setup, team collaboration, and continuous use. @@ -69,14 +69,6 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in AIGoCode
Thanks to AIGoCode for sponsoring this project! AIGoCode is an all-in-one platform integrating the latest Claude Code, Codex, and Gemini models, providing stable, efficient, and cost-effective AI programming services. It offers flexible subscription plans, direct access in China, no extra network setup, and fast responses. AIGoCode provides a special benefit for CodexPlusPlus users: users who register through this link can receive an extra 10% bonus credit on their first recharge. - - - - PackyCode - - - PackyCode
Thanks to PackyCode for sponsoring this project! PackyCode is a stable and efficient API relay service provider, offering relay services for Claude Code, Codex, Gemini, and more. PackyCode provides a special discount for users of this software: register through this link and enter the "CodexPlusPlus" coupon code when recharging to get 10% off your first recharge. - @@ -125,6 +117,22 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in Sui Xiang AI Gateway
Thanks to Sui Xiang AI Gateway for sponsoring this project! Sui Xiang AI Gateway is a reliable and efficient API relay service provider for Claude, Codex, Gemini, and more. It focuses on privacy, transparent service, fast support, no data resale, and no model dilution. New accounts can receive 0.5 CNY in daily check-in test credit, with 1:1 recharge credit, no subscription, and pay-as-you-go billing. + + + + BytePlus + + + BytePlus ModelArk | Dola Seed
Thanks to Dola Seed for sponsoring this project! Dola Seed 2.0 is a full-modal general large model independently developed by ByteDance for the global market. Built on a unified multimodal architecture, it supports joint understanding and generation of text, images, audio, and video. It natively enables agent collaboration, strong reasoning, long-task execution, tool integration, and coding capabilities, and is readily accessible through the ModelArk platform. Register via this link to get 500,000 tokens of free inference quota per model. Mainland China developers can click here. + + + + + SmallRice + + + SmallRice | AI Relay
Thanks to SmallRice for sponsoring this project! SmallRice is one key to all the language models worth calling: a unified endpoint that acts as a quiet foundation layer beneath your applications. Whether you call Claude, GPT, Gemini, or DeepSeek, the request shape stays consistent. Register through this link to get started. + diff --git a/docs/images/sponsor-byteplus.png b/docs/images/sponsor-byteplus.png new file mode 100644 index 0000000000000000000000000000000000000000..723cca359c39fb3fa1c6a2d10ce1bb53bf9b7621 GIT binary patch literal 86515 zcmeFYXH-*b*EWh3sUk=bq->NTz4sylB3-2SBGP;4En5)~5KyV13P^w;O=^IEbdgR7 zNS7KwdT1e#d<&oFob4EAkMHk!zj4kQ{#aw;$hynC=e*`MuRG?cjv56iBPkIP5rz5_ zm1jgm#D5bJU17O#8L)ts5~_$U5fQ1YC>aD!ZJq~YSsMHQz?RnzAyTMFrD=$0p1iu6 zo|)InIr-A9PF5Y6>c*ja(qAnvN|`H}I})g{Gnw-~*R9@Oclv{yy1a`z^VsZWrxr~8 z70FeSzlq+1xNpO#NK1Sg7B&y@Qpa%w8*`u`Y20S*gq7xi7BHCK zPqA3fU;o$pjZ04def^v2@9Y14{l`f3nn>)w#)mf^Uit6qKSrWQM2!D6vR(ZM%<}j1 zkCEsvB8vYSsV)!y_w5hkzkc)&x8#qR z{*Rpgzs10R-I70I;J^Cj|LF_yug>?6@&EAY|FJv&(>?N^HUIzp@c)TV{#cWLJ%)c6 z|1}={WBi{E75JAPLFxXww-$?XgNxqRMMhA}s_9L3h)+-dq1FVCZ>&=f2 zTsOB?3FWQ0@+J?i>y}D${V$YNH9wW`#R-r8I3*d(u(ePl@e3?J9wO=uJ(nuJt=CHLl>Sx%vC!7wHQEUmr>sOdS2?!V$k<<=aO46-Kv5QrK@$1N`!=FJ?Bl6d46umcx3HzZ-J^Z}2EdozC7TKqXS>)$Xn93WGQon!gVy)Oj z^U14_v7QTIX~N~j7|%g6_w`e8z@bll>w>2-@kYf z$kUGuRx})Urio=*4qb+F5@bW4?uh!N@M&WPsG&Rg8Uj)wV-&z{0N<7-!oD?_0erYALm!)zoOsQy zocq*5OFCTS^m=0OLOa%2aUF+Y1_fAKE-dDmO;eHt~Y9UK6R{!cu9?*(Z`|+M- zYglY``5fVh-%S}Tb5A@d%A(h!cN%$hv6lAZwME+-8!jFS$XOI~To<29eSSw_VDdQ= z^CGX|eTY`MWt0Ex=^+fJVRq&BCyP%-J(BUedu^+P6P?}hy)Nb$Ri%E@ckTgcgeT?< zw6)FOY93RN6wJTN_RFAPmAxgr!y$-OR_#;;bF;JSbUG5upLPzs zVCCJa(gg=^HTvCkC;AThNaEQgrd+)bzCV zeC}z1WJfldUPHT}y2e>cjFkV^@Ev|m7YK~2Ul)>{Ad=O#aG5BoZk_3UuDe=yzl@BG zPL|B%+(-(gzRvkiC876=+R+jR)p@kH52(cb9H^m4adE%0GW0-yztkSl1^@A|*3Z}9 z^Ze7gIct9yVN_d*ZGHIW)qM7s0nYp-)RrRpJOkrZzl=BEO-}g;g{`|Bry|nuU78pH z=y>-A-xhLCnpPj#&!-ee<{oEid&z0PkAu8}*SK5-Q#iBGoBftCa>Eb=f|caz8;KoP zZ(8`=2ems9NA%reSE9PA^i*HJ<1;l8G!Dou&}Su8DJ%SU)=4+Sli!LM`QK-BX!v~M zly5q+lMNaHXM?It_~_!UDG6mpSDNq{8Pi}C@)pC=S=WsGd;^9p-PhN7k{n1T0v$){hX^>R6^9En4{2kR@0qf5`~&5>@{US&z`C z(a)^yeF~dGA~6N5_{#bs!KnmTh9>1u91?x)BiAqLzLpQaTJPOa!+i{tvoba|HaBNF zudl1CYbh^p$+KN}6xGweyRL4%;E#T@Qca8m&qLx~2 zKTK;kyU05glYuqPww-lOFUB65|I9yd{Vt!YBKS-b@4lUTa^`86{EPW2PyXOF_CW}0 z>?&x3X=4LDhC+!8xL7p0t;f=qj(;`<_3_t_O-yLo%F;ZTp}j9!#uCRHt9Uai(eL*B zXYS;oE1VY*M;U4^P^OLLhQJ;>Lsd+gpYRROstKO0r50`y-L$sG`i=~r%(=0{#i?*57g}IzKuWQ zFkjFEp}5*36FDPueRE@LV{@j8ijr*EfbDkGIHNK%gv&t2;jfALP|N_f$l~_uPX!Vp znu>}Ft`rT*`}$QTGtT8w6)EOL{j3jER325g`}@jhUH3K2Z6E_@(aPVZK=9lxYi?Xi zGcBgJs&gGIA+xY-hL+a>K3?8pJ2(>+1;?NVtuHpO&~^MX+^-|5P&19LtH4pq!FTc& zd`lo1kAiS4KB9A zD@be_4KFRGGr0P|yb-$F^}n($`KO9fOE;(L=pP(1OjU7ogm@>ro^vAo_&c zsm}h6BCik%FGNZV3;3J`c>wIG-7Gnu_Js2O=;-V{pRWFACH7Qgbo^$`Zj)ccfmJa@ z1drr*VVKZ@z_(@_{owc4ATsYP1H$C%1!FCJi2%+a9&$kLTU&rO3*cG5a;qppy4y@3 zXHhkd<_dq4tB~NvbB;?)P2pleLRIWE6cbvUA5~=!TrGpK?WaK?bpKRwEX2?6cvBIH z3la2d4RMHx6C~$jzW!2Q@6frTtC}w5y+2KVa%w@AMO$0bsC4BEYa9WKbmdA4C=|c( z!PY`tI?602lI+IaX^ZmmVtVfn@Upd^H5L_$%6*A72_KWIX&wBWCzJErO?}HfqEtij zN-gaQrCNKn#HPr~9PCyHI^&96wB0SiU>F?h1_EKCS;M*6C1-t+^2aln65TMDk$lzo z_;?U{kmHn`DCtY-aHceBlV1*3WYjF}P%J`kr$=#9a**!TJ#I7cZaud*;CwigJ|CJ| zB5cdKF=n2g`ZScYX5%tfKCoe~o}P-~XMsGB4B3FesajXh#`RU)cB?0Le+9ETkSXbD zWobD}u6;i8iv^WGww{lsi3+?(%-uDhvTF3SAS-^I%g5iw)NB#XSU4#kXp|1KolJKq zSFyBGODT?vQitYdV@H!?+HBs%#+sGyr8_V##Jqtqy){uIYj^m&m?N3cbp3~b)gtHYC7tZ6xBD*tdx7~=+etwWXZC|)e_$N$K8$8iiID3|a z-XZm9bY5{cB4Fqo?^>?BBe4fl7;}4{)NYXbB?YWqZHqc{xyi$6*-i~?F?|z|-`|}POLTRN_!a3Yu83H`*L6v2dPyLQ0AzM>}(mUtt z$RgbwIqVr`$aAJ)ucRm^_~%PvIzAJs0lg9m3L+YbmTPpKVvOj45+;d~NeWTBHK)b& z7d<^yvsf}hN<#P#W-X51sOfCUTQT3=SLFRxQ}b09#rN^d>`Jq;sC7Y| zAI}rM-Ai`BHkwY^Q2gj1$lf~H(dRp&sbjPf`E1^CugLrYa6|7#0JIF(Wd#ys0e zq~u$x!*b4*@`i1&Iu{#itdfU{=$RPC9Y22Sl_L>qyYl`MkF}sfnZDO6NrR7nO*HjN z(?>15zo({?Eps>n8gid&#>Q~vG#t-`7>bj3SVSw^IBe#!5mV`dys9mzzYg z6;HDeb^RhUr%zhBn$1tmzw_4_XfL+QhOJ7F(rsQFI{SWq!o@b+-L{E(pffF0uX##k ztaB`c3vTqB+P#yN{IT7BYl05Ddw4&km#)Z>RPmG3pQ2zAx^^cecU(Stu?xYN}x^^$C$O*PG zk%n4}W|!@_8X>hY2t?h?QtN{e(yOefzP>&{&vKRz(tVZ3{J8GyXUA?~LEn^{t;I7d zRGcwrP;>2xe=4bJ?tt{f#B`INCnmtZKWHWJ`J>gbC+WT%BaQ~_1Zf#h!&wIEc1O%7 z*ZU;CgVJaVFc|FW`U?(1ms`MnfQ5-?lAQCKuVkD znjhDn_nM!Zm(O}ysf4nxUPk(c>koP}yAQZiQZ14)YI42dj z`xAeT+iBVXfN{CsuW^3!IzE;}QO}-(sj4}^WoBn*=O-p6QGQ38lZcR`nSlAQQlp9l z|8lR7LVi46_Dnw#JobW*X5K{y6&2z_^5-)l$N0_|nrKR9vwDwNq^@Gvko@syV08zx zq_cd8h=77ui#`u~=E0UfxZjxjsLwz2L67ti4w|xiPCYPHjcm-EmU5nt3am7j@~pa3V?W@eEDSbH98LR_G@+YC zJL2afO>KG0=T-J=;#7Wi5yZZ0l|TIw;44Pnd=pT8haj`sq3zhGwWfYw;)T5AqBOEc ztXGESK=VAXGB|)b5*6_$pj_OHam#)RlV|gYG=1FO-B%AXnD3lRk}Cs19(jI#u9nC$ z+v+*L5D~4LtB~@fXtf_w9oj`oNpHVVC?5xlah7;VfA8+e_tfd{1O%jOX>WXdd?yqw z=-K4nk=A;)q6y_&Jb z6G0Mc+qKJOPe&Zd@1zdB*65PHJX|ms!D3joX%VxlA@!wN;*9~Oo$nqm;iZ;fo7~ZT~EitGv`93~5F`(`` z8exSZ*HcqL=5=oC+uOnWy+zv%OOy#hzxfNK-|@$l)6w-C5_Dz@p1uuEer*Ls6a;NU zv5KyRxAC2aH_0~@QTS}h;8t*Gn1~UpE*G_JeD|1R#FLeTB+Gh6TU+tPv(~CFN=Dht z`X9H;%eT}j&b#V%9o0O2U{;96WEVDeqfm0+t9!xBwkf`Sx78&fv+_3}3&ygxuo{?y zSW=>q^(hVq#`am))z=q2D{0zpblskTcYYMMttzq?nFJmn<&BJZFSJJ%s3qpe1%0V4 zpT?wYNCheRaO{O;S3kzmrtvC)jo<+5fe;cZgH8Ez7> z=`qKPSr$#>_$k*4Yq-xL)BH(yyyTpTv2l;{jo;YSApHB?(8qjX8Df3DW=sNavd+!> zx`pEK{teLv{CH~)Yd6ubc9C~acI14pnTm?Iz9U`PTbhw1Who}M)s1HzA`KEk2gK$k z+8s4gYl>3J&-7{hCKK%*N9R4-A^xyn&dPiqQKlK-H+vT;@*UYq{XRtSfbmtqv9^oL!d{L!GbgDwqt=wfqxzNrPdk?|;gT0=J7d<#u5-nCsVeAkjJ{ zT5FTiXf{d^dI7+F@Kz5-PMqANusd28t&pERckv-z2!oKgrmhe!|Wsu47B9qJGY-6$z?T6`V5v)PMElJ?*H(Sis`WRdni?O!iX81zj)a)4vBF~?JC zxE!DQfnsUfUhyt@TKy3%&r)-PCyxE}OFzoz&ldQ=YX@`0N?v=5UGs$Vd4d{Yja7dC z+da@~e^s+A`Crd}6N=Ea*v1VLJFk@BexBSNA>`>z2cH&$Fqypyu+KJpHeTB@{s9+M z$-8*g?QQP28woYA!4K^jdFnqc`npQzgYo@wMceWd(^MI!+(}S3rL8vh)s)80w{t4` zw#FS-wQi_c&HAJZmK%ioI(Kwi@KfGWFMOu0tu5HR`|6Dx{$y!T+Qs|hGh-!vedIz% zv~IQxYG!6;8c5u;qCywX&n%3cs?tUq$V$ttQpa~v^Y2PZ=3QSF0{F|b-o?YIz2y603fk9X`Q4^;I)hFZS#l*^8T1S7>eD@ zMX;U)PRw9t;{~ji#K=)8aj#eNJ43~u-!67joH?4+BrzAQw(lp)D_?JQnpV!Ps9>To0FNo;?+&yapl zoX5dsoh&)*cixKrTtzSvsvRoB&`QIl6T08a6&4l-bf9j$8jjZ6TXpKv)pTipVuiow z$Oc_U)~K%7I|R6Nr4!dyS>mv^+r@M}0EuWFyk0mpHPyok4h5pwj4lxo8&UiN>gztM zqVUI1{re`+NxC4qYuB_@wG9lk44`2#&qUXEcILsK0SvQ_n~Mpt_-WWINy~ibp7$vw zJ3;uQFo*)2F@M=Uttw=4;*8vbDGWR+60R z-zbUL?sa!j$y4o&Nq6y8bqtt$ewm(VpUnG>3svV$R)wRvkR5)j=D>jr@vE1Fb;QNR zfkUyrvBB6M_x7^ZL>#+iJx`-C2`RPC%LijNlGUv)N7=bctRmfK%-4Cp#Rcvd9s;zE z;z`?0Mn*=K(A_p^(CX93D@0#sn9}LET=0T#B@ePF2c*N6&SzV3WXA>25SRAh5Mlih zpXwAnhxg=BNl)bHNtAcAgM&lnvAbVA&p+-J)YS?Yxza@qrsOhY=!H742k<&FzP%NY zGiIZ7JH{UdlrIM*6IS4@c-$>7

0agtVS-c}hx3hU`38y7HT;y=EHC`zb9ZaakUvi~e-U6Uy^)ig4b+ zOmLV!o!ydrO_FQG^-?q~Y-r@34<4+BU6!9pozI{MowlJJgm@_w0Zq&8(Jr$2aO|2Q z81&p#_qkct(CRduN>=F%!jjC~$;>vQ!_+$XktSI2L52O@I7uX59>UGDzTfQc^jMGS zqqd>&Q=|!B_gm%^n2*(MyK%X~%(XHLzXXwc^hI3IMG7OR)_J3Fq7yRETo=!LFGa)8 z&o2x&J+I)unGRd6h}J%xyH|dj=?SDw>AFT;B)O z>TrCvr!e(DRIl5N>bzXPvs=Qt^`zO$*HUxH!qZtVE`Lae|E-Q9s_K(mrgs*vmvn=T z2kq1ddam0&BQe0BCsw4q%bMUoce>3Fjpk<3Mw&SK^BS1+4HCOkN z_Yv81c5`o^FPBnGuCZeLK23zM)&GLB=q?&&S;yTAmM_xH4L?Lpykh%NY1{GXrlUjt zcT36(So!k3T=<3*HHSeIEJfA=Yn&}ywXQsntvEA|**ad1{cLLl(%fzqRcIM zG6}R0z=GJ%=06`|wG8ayCmXdA6Do2DLhFm&WH^6cwU2uCnDNV4v&M9F3qC^U>o!?m z*oN}FW_NOeeLg3=dFu>RTKRX`53zK2*c*NN!rb60{URL%{`A+c@iOyDn@d;Nd7h1l zE8bU8eAd57zNUV6vAQqT<42Doza=;GjEB<;BX`3J8ViA$XQGgaz;N!F{zp5CbBBBR zs$^;W<`Q81S#Qfi`moU5i^&PQ=B8A4vG7&Ah^2(wF=H^*W9qt+N5R}I;HH^Owv?Vi z_AoQopVsY^m|7d%L_jia%}}L+M+cou{y;F`JvQOsmku{5KD=d zK3?w0=u7zIKzCYM(dyZgzzj5~!cW(WUQm<1>Kkq<_)nvR$I!&+Sst@o;BJ7mIesp( zwu*7j)@kFrTyVnP!dwi)%`cEB<9u70^N}_(!X_@Ph=!@-<2Y7m%x2>*%SP(z)t8yy zNVax`EAp{tpFG)fvgkiT2Hyd^90I05IKybB^1=7InFFthWm_d*A-3=Q(Lm0yl{YsDOpjGwZ`(p;9a4fe13s+=E7P3%5ll+_?n zyJ5(fO<5p!(DM0pOp1l6a`=lEmXf8s1m2zz&Zo>D4Fk2Se8`d8 z*iuW-&Z9 zwV#xGW)F~9i%@Bq9Io?QhGLh0H+-ut*7&`)?WR`|>h_xPq-8Bi-;1Cy8IVv+kbMU?3 znovr4PL4Zks25O=8}NwR1~6>f6A|TIC1%4if9YnqGI~o)xlPQK_ z_7>i@B;1CGjm;nBTpgffRcHjy<0+UVq|k3j9&r|BGuA)Vs+i+3i)WeYns}A)5kC8~ z!vRj86^Up><_h&&bpa{ZgGQjpqTdNKup7;vPR4Gc99Kn{+2bU29r506S%{xW z)jk+a-UhpZ+@F1sd9{^jm(@d)RRx#>CoB~*;;Kri>9GR}-)Z|IPg0O2Mx%#PVGlc4 z8%a$~1=?$(7Is>iV5dA-8Hurk05WTtmtH_E;oLmOmu`2s@|iG&3p zUg|ya^1hXRT9dbz#uxam;_SW;s zNdB!{y)>g-O8%z<-LgEpAFaF2EdHvmIwg6k)E|=$`oNzq09(|~*Bp#_+_h3*irXa_ zTCK()X6&t0-8(NuHDjK1sT-t=Wa@K9sCD#bmShB>UX{&6{1v5fdyzY{K%U{}8>@uH>?d*~Iao$zdbZ}!+1e=iGoR%TNWQ^MDoB z*v($}$VVrXZk)7~Y41VNj)P*Ym8IyA5c(~5>)U|HN3>`|Rg3Ris!y#5>NvlZf#-(% zhXSD^`-sp?@2Sq06sX0|&&bQFG+5Y_K_M{%`N)!}O8Xi#;%#(` zlbfHHC2_3nup=T+}GX1Q(`tA*_^?q=v)wGwPWx+W2Pp459*?CwQw zjJ4OmKQ6yZ^=CeSm-|lWzI$-u|6JjASJ@nhc_Wz-iWNSM^>7?iH69q#Y8QIjcwc+( ziq&mXs~RVu>m0Wnj(sG89nbXKIt`qFK#^$`mf|H^kw^K6-WU5HG3EC>$5FEg@O(=} z*p};oLVNM67Z8DreANeMOC%Byh|~HKv5@M?X0>s-3pi4MdjN$FfW*0w&c}kVQ*cGo z|ELF4KLLEe5+J+SIRy^t^NFcx(d^qj6U%I^eIApmjS+(C{h1e{jDoFc*7Jj+QrUb8 zg>%#1h!-5@0#|<57!dx0Rqes79sI=nG;Y5u8rOdM6*rt!!rK3JpbmUTJLQFB9b<*4 zxeRk~lCqlaIhudHRoXA0SpY(=ELtQ``F;Y$vm zCJ};=$*vZK%eXtY4$m}<|M+ooAUYI!1j-FLo(%vWRp(kX4?8%_WyZu;UqA5c`7-m1 zfq}uv*%@eQ?FD8jQ4k3+J$-UZe_dJ_tXt}G7-GN1efqP+A(mdN@Q$AowbZ#6_!nUp z&0moPZV%F_sExoIpCj$+7aIB2&wGne?bi1+(07!3pZn2xd28op(?5IXVqJm}z=c7* z^UGn4e4=C>yYJOlu(R{$v(YT!+;nlYmYYT+nso;sOJE=+nQR5`MHMhu@h?@aQ1ZqD zSudt8x2*XU|2D0TOs|m!C@fL_=tt{m8sW6m`rJiZdj==Vd=dCYO{7tW3h}5306MfRo!$Kj&E+6-2C5P~=LpaMc4UWc*k zXseE4@(g1o^=NZ-&L^xx_i@u6Q*(8k5OS4ANVciSZ1)kV*wL@g$sX!1pT_m)Phkv8 zF;e<=pJ0qvm4I{!s2~V<&$I4}e|#1VUgWL@9Tk=-=SD$b4+sC#v68ttD;-O%Q@Tqw zWf5Fgd&F`Y0>D^_}_;1#9=#yl zm^2{qS_ZT9d)rr5Hqq0Tg%*rxHL2I$@o$J=GXYxY&!0c%NtyccqOaC}5Y zR2t_8%8pf0$9!@p8`94ZYR~nPkMF|Ngm+&Cj)}f-6_900h&meL&m_PgdMe`jQy?7k9P!`(yiFN_4elAANqB86-igQ^~8mCy^go-w_!?Fg&e@O$ckj&sn!lf#)~C;SQi3r9l1+_`-=jXnF}B2qmikOi4S#qL z#9Egno5tIwR7pZ(#p1H75sds*xApBo85Lw z*4Fbe`dr%gzxfL=WAB*A?5Yyv2t$U3U*?gSfJ~_bKm+(Q>|S7VhAleQz3iSo)9)}9 zLuMMIWrSq}I+PvI)Vdvn-|9Sg|D$O<4eMhi^R%=>xzwT#*qAR<5ETzow!gm1qYqE8 zWNGE+O=&U&7smn=KY3_-O?Un#Ei<_Lv(7HL!qiExLAagIkb}!`=Y{M72-!J-i!nft z6hXk_)_sF(*889599Xr4N}qane)=1dwvUo8aNO5of~?jlQnh0>bumy(bE02*8aOwzTOk(;gb; z?(~OCckV{`Al3#x+czwXUI&t!gF(bc67zRMu`;~8IMd@Giz6>B_y{tMp{-Ycuw^8@C)7Ow&O-)TC53eLCu*5v6 zc`Y4kzG=XNnxD^oa^Ij95G>^7DT!CKg~0oy7=vR|HKk83)TdAfVwGF*JM}tqIV^s2CioB9~0RX-Y z=74C8kBzhnJO>HWd^A@q+FBlfq{)zQ7_E6$rS)t=vbBNnSntGA)wN z?N4=8ugL&yp-oj$QtF)5YJ)$6#{(i)0YDD8KAP##64Vt-`$E?MxSC_Am>Uz#6Ko8q z;=-2St6lWUPj(laItBtgUSO9Doc$8kB+DGlL4}1NEx2 zTKAU_eF1d>2TE*qd9l*o6RsMf{UdKvQGKgjT3?gzO}vwDq~hU^uz@HinwEU=?A}p8OdH+!UHf; zNHob;#&G`W{IHPYU{(~M>bdApT*$HM1+4&i7ogZ2FSBk1aA!UOCAvsw8zij8OA-a)}L zM5P97+||!VJ|G?6W#@NzNO5?vzY=4T{n?V9KuL%}4*)$RtLM*`@;Nk(_^ex8P_Q)& zPsUB356Zw*BV=nyJsszb=>tZ-A?xi>cirQi)+{O6%JEkjY+D0e?d{^updfdKvSRas z3ZJ^F_$8z_`@-1z=$3)5_1Z~Sv@yY_)b;3><-4N|Z4n&oOe#O#OhC!=S&nGd2w50= z{llT%=a$yignrQ>ia`+Hr`IoZR3{$JN1>0fr=_7rZOu`>o#sDu%Ry*bT_aem>bUwS_`bXLv}> z?#rS_OAcaFcmc(p1oOR5BV;;-&(Z{~x3{-jfE|E{I#M#rjLpo10+L~%fwm?WL!AXg zRlJMQx}&54qw{1gQ$>k-Q3vqRx=%;nEq;5s!>08!?VqIDF5$>K3gwZuCqQ!cm~A{f!(wb15~@9VpAzKi8$M{=7p$!{PAfXY|c?Mk)b2uaR-9o1|YO%ib9$DRjbeN_J{bPYJS za4-SScEbP>xvH(w>8$io!0es?T$sGYHR;tYi)yA+gZsBh5EU^!`XvYRfW~A8C@Ema z3dX^9X3H7CUKd+9XlnN1c3Q!^Kih!)1ms;74brC>qgT;qt5o;q<&s%9`_4J1QgdAO zxE<1_1uWsd*x{EEG4^%Z^b_PEb@U|?WtYYXWc>1^l037eXkIUB_c?aUvmyN6{*rW&I^+q8KW z^T$RgH#*}7eyEIc+RDf~Zf5~N3zvId4OZAvh+MmNe0TL`KXWLQ>yj5`?2-0vFXQoptdYHCVXom{QN=&C&n1#W9eS-N(WHA0mA?)WuWn5 z0|J4iN&%;P`8H zdGH@k;kDO{ed|;Ko1D4H*JqX|_f1h@z!=2rnGNU(A(->dW+T6HwMj;>m z9?Eg2^NKhx=|ZW|@?8cO7t2E)NhAL%J0s#ZhrwaH-3qi2X5y(3Fj8AGTgp4Xx>}T! z$FRTx>X5qwP+GVDW?4W}hiNM-cK`y{lKQ#e(xxVJ;)=yhPeYLRQySJS|8E}RL%g?> zbER+75)0AliB@dXxdr`tuf_^lxwPgqRR=6GKy(#73fMB6u&JwfEbNqGF{7yX$lQd> z<_B$7v*7rmxRGIQ{1Yid3WOy8T7V?J=k3hwbcmvm&^s;8f&P+}#10P0V>S?s*62!K zXz3YhakI6i|B@)H#?K4oDo`ZU6jNtr`lw~b-DHtFS%_u@;PVd9S06cV1HihiUb@ur zIytRT%Qh=zig32|YaT)Kf&P$NBz9GO#^n}MjfW9871Dw2glcE9gltx+u>{?ZeXF(; zX}JY2*eLMvh4?&|sMeI116XV>ovc9IRy_u@*VDWLE^Zs_AA>vLz=oHHB_N5%DdIvx z!ziTayZx{$v$j@VLb9)KQ&1Q&nAM&QyN>P8eBt^+?`hjuR8$I@JzY1y(sprUE?5S* zots=@QYTTclH)^aH)urtiiI3?vwSYbR3df50C!4!3RSCYKGnhXJoHEmdpU~77*@s=HR?W zH0I!?cz~}9KNwN-Y{9Pf^H1O)BbP1%!1t?xPN)&;;bHc1-FY;#t72n=7^FPLl=~%b zYrC~Yka8@qXEDY6euxBSP8QvdE6dHo8&`B5*OzS{QCJyd-yDmXvJv>2&eDKk!To(l zR<9Lk9RjV~aUciK)_&dy-^b(e0Oc?RW=ZVvYzF@5(XcR_r#y$V`1F+QyNAhK>dXfO z%#6xM*wb#+uwZAoV_3z1XAC!u9?DUZTMATKWR971YB=2rdTrfJZzQsi}kx-f^6`^ev7d9<~!xf;uGKR z=c$rK&1oTC+pZ}KB5m7QBVB=t^+IX`_-eKyxCNjc0Ijvk`-c3-R0Y^?QG~_OHUI5j z1%^pNUfv?l>*@P+`FvzF)Ru};++oODsP0B~va`}LvMew|cB z^;IRDw>?G$G5C#+QEBTQYm_Yyxhg7Vh>}MyS;#!YB2Ht~bdT~jCO?B;AP=~Ak;kiL znhm|QCPc2kE_7g9Q^mPc)uo}4L6Ix-o+(A7E52Yv47}yFk*G4lj05y)fNmdp*r+nAA-d6d&AGd8a)Z0#@#NO0Qn)pIO z;qmB;Zvk;Kps}9tx5OSDNt+LiyEf~oq6)i8Bn9UnyrKT$*3f=+C6UG#!A6wk)*+8r zf0BaJdxyEYKF>MZ-s`Vs^4`%O`7Vadx^AB0*?N8i++E622%FlM;4*5acRl!_07$)H z)OX<%lf%QiWBR(awY8RrU_;VXNGf4Hb44K0?X~xs+!wbEn2e#}Bz$Q}cBcUZ$anOf zxcXZeU4Xl=(;D?;4oGRPZ3b&7zX!(LgZs+@>BddUh{Ayh5sXJ4{$bfsH+r)`2|8Q# zq7e_Mjr*?`hz9-4TNTNwKA#a$RZ}Swva!<(xSTy&_8hclYAEl$*!l7bPB%*m5E`$K zj~k)bGDOoXvl&rhEsUmFaE{k&s+`m@D(oZUV~Z+yIEd0uJhtj<&tV z;y2Ay9epp?EI&H|z~05pFyLJ0zrmaw>n@WG$jCM|HZ_(Wdr5&ZbX{vO-@ar^V8-8| zC`N7+*(lhJXxQA2O6Vp{d6*5ms^r$_dF$0 zSE=UZC5Nb`U(UFz_v&u>7)=l1PE8$Lr;|<7MYxv52lX2WK8Kp(8p7tU^c&!^@1ChR ziDM_6eY3uivFfTWytm(246Fz>^$_LT&$w>C#+RiB_{Bv=2sqi#!_NL z)i~D@0;fAgfWbj=phJl8tVZVt4-Bo(@oc!r=?a{j$_xp$8t&*MnLD;>E_LnVw)yRz z$XTz63+xR{4X!>QAYjbBM{wC?YtkL+B)QVQTH}$$>ls%T3qsQk#9Ghxl@8v^UJxj8 zwmWGJUeD86FQ>ovpe(QhTh;0PjFTyc*CLB`Eko!ohorWa76`Bba`l_4!Aq-e#Otsy z<@0g})f`I|(@=!8K(%}bN4ni~Jvb-IN=qj_)>*(0iO|b!j(GNP+m))H>E*m7&NmxF3-Q$^Po0C9%P3oC;-UtV;9%;mio(bpT z?w9L2Q3k}O1+n+Ds!m78keJIuIewt!5eaF7&W%l{@+Z`RaP(1&`UnLJO8Ft8pLQDM z{K=3APjJsLHh&n>3Lg>Lgbz^Wfjt7cZm=8SK>~0Nrl~SOvCOXBVTcg5;EpB~JUb_v zZa79Zkm@-c{b5Ot)IgIA(T6AvyiyFnJlte+Jw)O{=W*^wx@7$!^A^$`jy)$krH@J* zCzr?GT_V5ts-z`^tktlHp0}!4aW8&(*P1*JY#HU{F4iiG&{u(nYv*`p9)z9I`6JYs zLL-BNG@>62G3Yux@Vy~)w|{kiYpQ1N4s)1OxFxCKQxb|r=3ptJJ!exj7aPYmLeIqt z68R^&2ur|JyW+F-FLq-w4LDmyQUS6YKFmUpxK(Kc4*{OV3eRLDSEG|D2ihD;fev23|!rvb(it*M_P2} z?NbHS{97si>eUDcUbKW4iXhDuVznur*AXRI7+5t<4rgzma~SGhA)nvbJP|aIT?<#0 zSZU$6s2e;u6CK^t>1?iB^@vr-Zn5|#A~3VanAG;!S7{80+Tc;veNAud=#{@ucYj?WN)m9kJUiT+mm6js zucE;AI>qsM9(MI4*WgPn%}RNWXc>5ffHFw7y2OpwlenlSO@@E7)~>a#-f!a>UKp2@ zuOoh>?D+lhO;)|y~iJxR^ZF+U(v$Bb^h2;=^05 z5)u@=_Y!dz7iSpUntFrFwD(cwfW`8oMLsjHOCCV6D)as<4wY+7!o?xYJ_|$;>>nHf zaPj4m`9bGd%q=c6Mz+NRe=19V2HecD$Y1(VUe17xxsRUGy?g64@w-n}KM&-_(5K{0 z=A-aO3Y*VP2qOZsE+Xs@88(!kF>pDhJ$?2T35BKJFj*|lT z!Hb&rHhqpA4vdUT`{t=t8Dnk0#PHfqR@zLI&*I!y&%ax<7cHb}Fh*MncrU?W52#PF zaC~H6Bgkoy%gL_QH8p{&grYq``*Ql*G#9q%Dwf%f4}7pEy~ui-i8Ht~smNDcS=%I2 zZ&<~In!T8*#xdf!s8nwZrd3nNFq6iia6x@b;+S78}lE z@qQ*eMKMU{O2?9l4+J3@Lm0lBk~X+qt;=_LzDIT-KHa=L z0^0AM0u|)>?A%e}(tf9x<6N!rDY0(0>g3NwY5BaELF;Cb+iPtdVzRHD+cqXtNs4lU zi`9%Q1hRHZ@|Q2>u=_WH&J-;)cTy)!P8)Fyxq*QwSzMUdf)k2GCO<1Bhi>7IgMz^LDvm%TK}k-Y zGf0)X6=+LP*x)9rB)u*XPnoy$)M4h=Cw#d92PpuBN<+0Pd+gftQm%3VW4B&4Ee01` zWOF1WES=z3Bi<$ny4Kg^Rpiwyx4%qv1ET}rOIsi1s6QQB=W*vF>gQ%6N^=I5AKVdF zmAA365fc;pnxYdyfIU}!#zs4Et!Pbcggfy*kvA&6$J#!C6LHP&{^8?f13v}C!uV~b zP=bT3f-}>-)(@)5mL|m+o_4?&uz|q^{{mO~@GMwW9YZGnRig|0&LwW5vSthGlhw>C zYGYSjmUYMjV9B2WMg=~gefXEi!Jx|Ca&I>O6Z|!GdN7V6wB*^f*Zx3kJ1d*_KDZ$M z>Zcm7+|6X{<}|i)se6y9j?CH6P~`KPb>$AX-C)qImGIr=adu?-kcE8|RWy|UNcV3z z(T0f84?ej=T`G58+;j*pQWM#6U&x)b)e@(27mBaiRDG!;FQlihFZ#bR)`NosBf@{A zq+h{x=|0Dq%I~!OpZN>uwZktMuUx?jilR>z*^uswsOS;{k$Y3`Jv}|csRdn5c1>74 z<5#`u;DWY?w*&tRB;q%KD@hdlMxr)u)y9s!w|BnN-No4%Wor8H`s=@>l^PhuS3{;3i~|P--j=M-090*&V1;)qE+KPjeYpLl48q&w&A0SiYThaTwO`=A zXWI45jGHk{zN~QtDh;?6FW|f#1!9)xj@x;!+p{kW;oIh9`2k_ZiRwP8E0d`N1O#|} zKS0v}P#;ah)y|6^{rmSH0!sXa)Q09zv1$JC<^5uLhS>}mZRvUJX6TK93ZCc9|H^3T z&>2XW$v$fgI{7iMx}TY+Ylo>iX4BKOe^RAjb(tH(-S(m;ysE7|Cq?KZh36ANvhdbC z4+$x5uBF~o(G&vn`xe&LwN?XJFJxnMtQvU6KG`O;mf^OO1eWNmCb4>#fk?QEeH z`;tm5Znq6UA)r9E59YGJtjb}(ot>Qt3JB==oGiMc-Cst$6^}hvB2{OK{NOUxj}{x6 zWcIi_&u}NhUAwr;i`+vMI;<5SlqSYmeX#2d{iCDgA+ItM;$3-`Cjll!c@u@ByzYr6 z#F=2@1>R_8mGn3_WtqhOBdM|bHcRQ{$)oK8FgF#k%b@R@w}Gia#=oL1nh>IdVxs9DdWt$X+meKh^QXw+l=o)MC091}SY zqw;8zCud*1_*$aqBzCe$yEj|C(wJ}NcT%v4V65hB!9+XX1F;wP5r>WpdsC&6i>%Fm zL)QF5Y>;~{ow$R(GT-`}7tF2k?fzRg3%JE@E0~P?Jhul<;mYE)jB-T6qX7FUa>-fAiHB5J( z;kRMYGpVrBvNF6*27|*k&<-`2Qr}UbkY~KqE>YtCs2C)ZhGh+~J-gK2rl zooKM0?KBTLF4#To(w;`Xr8_-4{o~F{@5$6-;&t`)Us!!Fbi*87ihvAb^P0VL*O4-v zIkJOgguh!sDj~7AJjE(P`A{-3EVbTo3vPQ5I)~DIimLYvdSIRFl&*;|T!iNAbYApg z9?-{_;p^SPGzb*wJDdf|=FsqT_{dXeo5jea+fm?IwyU5Vb@u#mBK6BPQC6%#W5^?xGunIPC(PKZ+8IyxAig&v<6PIbNo&=f0>teX8a}bgTKlb-c2nvd5$R0hbIz z$rdVJ--sS;p8Tv#bz0AEu;^7SJ8e)8Csr57is-9wPmh35l2r?oHmH?ZcFY( zc3#XO3H}gF;)Jr#RMtdGTh8^grqYR=y|To zsXV0dt*{O`bA;49dNWXMRab_#Y~k-tx%CvX3$NYKl;1^?`nMOizGhOTRNg}z8gQMF zKc|b2CQLq1+(}p+%5~Q!YaNQ9JF~Z>qeC$&n3QvUlckHoUJ0sYHC7#q1~Mh`!}V{^ zUf*K|tbZ@78?JATtxlV5-)=%?x=5L9(c||MMMkZrVnQI;&48neVL~+UWm1GF%|fg8 z4a~c-epU|YzU9X^p_5ESUYw}wd*iJ`%0ksEWABABa|*N*xsk=fUvEu*DSS%F!Yz@C zcpAY6hGqTp7JcjKdSL;+D4)8(wREiKmtE5MwBJTMA4Js2lA9Onf7L3!jB2+aYfb+8 zLxYqW#}g8-l`Phx>hk30%#0j*wmp;s?_&&UI1T~(C@3BK`xQCD4jaTI3IbCTNU=7n zaojy|$J&MB)s2oouYCN)5#Qi(Z5DceT^e%R>%>g_e34i z$GzCJKEOcB@4V|0m5P-Vllcn;Hwja7?yz953QZ@E=TYq`Dd>%B?@pvG_U}UfuL(NJ z+}0yDA*}y^e71IPnVRLD=9#x?hL*7NCV^;#c21;(^P4K3mCeu3kG@+Lo`!BR9_o(! zczWF@676*FDu5qePzIOVPK^VYxw*+w(^82d{bk&diHZBn7n?Vf1!_jmS%0#wjkG|T zgxd$-f`k#^L^cq3F(=-1EAR2u1dH(H(UmS6G7pgBlj(bXINF+mYy75fKfy}y55Fb# zYI1|njdV7q_G!wNfu?PidooBRTk^H_^@(DW5XUY2O%QOGs*)V<^odu>9RGuM*w&Kj z^-Sf$O}LV6R#nrfJwv}kUvo+RyobnB;uoed@7mCEolEwn#_hI_C_J}2c%A%x0Nqkt zQoMs09!B+$1jlq}Hl{4`hH4^wGqSTGTq1j};`8~_pD0S_(}K2ZD@irWDW1cH`qSg% zl$oiavlC00zs#o<3R56{gm(-HaS(vT?kDvJa46XC!Q!c%nU@s%ewWG&r&R0xRDH>i z6DN}iUGX-=lfX7-Vyw{&&CwjYP{>FwQrr#|KB{&oTQw>gO#?^HsuL*0pqaI@w7f~z zLy&fa4HEy_^e)qSnm!*~k>Mo`TN`fZHrb~XAC79rNRj0fHG|&pMS0O~^Wbr`F*pC* z@3S`$+^V_L;PjWF8XZU(E~)y}sLN>XZ8f!cw=$eD(EvP7pXN_PBm*_~;*+m4m$H^< zayG(CX0!dZ>X`#{Di+_b@H2IL(k3`LA7QtXhjBZeE&|Rq8eLs-Mv?kE{0&=sD?KE6_TFFm z9yC+yJ8o?7b`?CkH&O71KTn`?)jfupmT&o8?jVr#r9TCgTACeS-iLdWe@sU{o7Vb= z-qZ4trXLDYJPuhp1gR|OOpuj8&KZNVfv)Z-vr3ngK|hL9SH>+is}s87`}|(V+phI{ z$pAjVMJ%^g^Z2Q{H0YUgYA1rdI#7^HRt52KCj*j>q|bMb3f=HR5LcJj7@l+>Q@k(meKGBw14Trs*(o)8VfKNZa@?} z0PrG$QG$*Hy08*i#{HhvvAtLyjOUq;-O;m=)8)#q?)Pcqc$d9Cxaar3s@NX+FD?F- zmuWFdv^2Er!@s1*-;Xnlayn~|I9 zzE_v)cY_Eo>AGDRzFDp|zHHWUNc!Us`fEBb-wElz&42kT;Hx8#Fc-Q|v^>yaxh)Xh zpx)@5C@6o3+N2+r-Q_%j0tNRHx%+atH}wcDWyAlf4+*Y0${Cg-S-{buK3JfU>G z)$e8aQsm_;^(cR8Y6c~W^galW+Ku*XGFer=t&mwK84$I z_}8yXH5PbOb+_>v!wNrd*FTX~#C%yP|B7`#)7iXD=-bE`>J3@Vu&}F=MD;Njph)+BcP>54Goi{=Ex0wiZB1yaOwtj+K1+1;cui>`-w%qwCwwW=k@wtgu2=5?}sF}bjVuM=P9t# zi!oy?d#NkR@}*6w<8mHag&Gp-eO+~iE?kO&&T9xOtGu^^;hq~3dz}HLNdhmm^tCGh zIs>sn$CBCz2!dc)LrgDGvy$$hLpg^sd+64-LSkYfM5$0p?3i|OJ@$AOB<=u*C?Mfs z=_f`P=DS4WN_V}o02PWO%Zjv6+$f&7LYFbjaOck zbb5obTMaL4CY@Fq@?F%lwus+m4*-&J*5g|5c(|dtJo!E8SC3q=cT5KB^gPjMcYrBs z(X}iQv$o1{rxT5q^ckRHl#4lW{7}a2ta_VNwUA=>cUA*pomxJ*MfA;IF(HfRgpc@s z!k&Vao}RN4r`U8qrktMO!qO%0!@jH(Id_jR=O}pvn$SJ3z4s6O_**V^c6-oPVZ1SC zaB(TCs)^y>ZvXq`?_tAQp__6Kv-GFEPr}Q;r;65Yzw-#vGG`of%aP$3)_8Z{aOG!4 z^sQv6snI*rO;@jellU&9{hxJd>y)RX0yH}4QJ>vJ%wWS$yT+kUC#bpPAf}_wN|Z)4 zTiuog>)xa^8_X43DLBgD3$qrY;{I0ug|&{lK45wP)PgjS#2`)oZ2!JBY39$}iK3WK zH)wLKg=8288P5tQ0FF$=BH)GtY&nLMcQ0gMoqFbcZr-V zL_u{3;t-R_;$ES<6O5S+4fqard^VAt8q{)arFRDu-4?le*3xdIP#o<;(#2lCESqkn z{gZLENLp{2Jqo_235Qvi)O7uf99GrR)ofojzLB8s`-Ru9Uq^dmuocrj%g~oZl~LZt z+xiXFV!MCTWq5X`gy43~blGUM(ds2#nPM1Ujw`?U{-o`Q9z?Tz;9bVF5y^tA1&jeQ3+LDB1K(=(tNQFPXaWU55Zee2L=o1;lKPlzDp67s5&nBfbH(l(oz7bh){toQTh2cQB;dq0M~v9_|UgsWoW zGDz@9vA;N;Nj;5s17UNaZVeA-LCs3R=)iy@U@|>DVa1%O5w+dtUElhWc!s7Pb9gbT zT(j!@VtIQlzdFr-#bIk><9sI^S!;($aT17@$&`BMT3npA+`qW(AU)i&-stZg8EBcN z)8gi|x=dxVW&_eHC`wsb!u7B(HPl0+USNdRnB$|JoSej|)$;a*l4}0<#}Hm>+%FLy zQW`=!Yg4tMu{i>__nnw)!c#{F60=Ld*WnGk^R)hf@i)Uu-gMqnkKNn*)_QN8X3dD@ zwk6rf?Y)b+lfA-*i&JRsG6aMqYyYpI7uIk$B8W}~0F+16taYA1$ zg!nO=n~)}n&lY185e;fG=(|tg`yQ|Tu^oM^8uExmvv^^QO_)l2b%>PUwUwy@2(nM&Zxi7lV&9UY3>#6v`wZk;IYlD-VWvb z*9oe@5q%^!*%iI9zJ9Bj-Sv!eard8=F#A5j^?os~-LlzR^u+I!D7yLY-)i25JrD4f z&tO{w>GUe!pR$UIRAEn-^RqjFL~n!M>gr+v)uHF-(e~U(>ylnff@TiuaZePUYtBFwwF`Xx!VFDmgpSTRSNct8jY0e%(vRzp2i%>IDwb7MZ=79T-ziz$|~Fp=Fd7%!c}`o0U?0SNpyPyZyH{R0K_QxA2h!5vz$T z@_|d-qiK>FiM!-^k=HooCsGL?8Wk!%?0x@JQoO5E?#t_CTe56LUhEv1CH=GV1ubUF96zpp_X6b+o23?|2@q zZqqJM{R6Tm;IL`duivrch)29M2~k%on~^LKv){rb<;3@jQYsAQc7}zBPCXd0*VRViDXDO#=B;Whpv5c?18+=tFM_qgU}4}qgw{~ zKUh+-d`UD;-RFo}N>{66%pwksm$^0(O=jEpfMgZ3?!H!{h&{xdA9nLjcRi)g`b-{p z$@sAzZd#iTVaAw6rvN?zLG$#+#VOrvoX13xdP0m&nY)4*n=N~rS)Xg)tA;k~ZHerE zc74N+ECZl(@cg)qn9_!s?CoC(Z)C0n0a5@~ib zJBZHt$@RCE%BiL_?m4OgXY&iltpS+8@cLfihH$HAs{T-cj{+9pqiW;T{*~Um9hW3W zP)#21XNzLj@(K?R4pdPF@5@Qk;^T9?jvE6j&<>q|RMZ_s=fB|C87uz(7529yBYi`P zRtH~&?#;%p1ps#NdcL23LK;ggVUd0BDhiH_l zF{WECu^`W#wRUQ9QKx@LhKIaXLwdb-#@O)5h=aQS;?LW$NKaPPcio70X?LF!pYWa* zpg)Bxx*+#jtT4Lhufaprh?O$-Q)aL-ELhvu*dF9C*ni9TFfCr2+i|Z2g(%A_acnKh zLzb~%CxfVlYArSBh*%xFT3vFOIQ#xKUbF8kG?C7JEq7$$t}?I+b(94Vu|*nQU1=2t z1^zmD6slAI9{|y-yYrGP=d{aAqy*%8IcbIxtV6zedi!#Y1Gy^Myf$bZ6_sZLRY&jd zT?IwRc%7%KMZk0$RNV11nG@EsvajUqhkC3p57JwPhnc-+k;ytlOV#n_J=k&V0Y$+% zEMrR>;aKUfKNP-MikmcM*yrA@zsY&0Sl6>fo9;37RS^Q+uf|(Rydk?i4tYIvYPPbI z?~hQoG<@2wcW}qc)t>iv@}es*4h6U3B%MvO-&{o!^Dh_Z)r}7hJ_u<6J7vK4wM}|0 z5YfUyTNRhz5nyas6j=vobBXL%Zd<0Z0K>pJ2GVKJXBzhghlh9vhq(qvK&<+B=^=}r zn!Y}5NGr5(R+d)l>+A3fI4OY80$XqPyCCEL@9u?KcndFRN3$odVQAkzzd?NEiZ?ds z0$q=Y>sjD4kz^#j&z;}a#W~Q2U{+eL!^@{L!i7$ckbArjxp+8^@Grb0G?v6(dr&!a zV99}^swzG^fq%y#_t}S2ud_9(;ox{)>8$gZIvd|r|$0;Oy7U1rlt`@A{sfomJ z@J@ASmdMY^{L>!aT=H2>h+TRAL+{V|#X7~zcf!KL(`V=-P{U-n)w&>-ZTeo*EU7)j zsv=}CJFT?Sl^=}CrnT-}1vLM#_G%FsO^^|_q%b+2lpdIn*e%R41&|F$6M zUpb{$_zs~48j#YFsckcf9hIE7tke9#f;E*P*BXmWm_U2((mc++K3q_hyZHwQ}AA;+K?P79SqEeh!w&XA7NP}c2@covZF(0lcd}Kz;R+~`E z`PP#*2lT~Z>&oA9mI71{`s^cl^CU@yRmE6T%qJ3aEy>4I&&?-NX)CdlzYJq#=(v@f zm9Oa+oxfaD-XbcKv#7fLkiT7cap5RF{#tK6xdoYgyqf2ejM@<=fjYo9XwPTPy1V6j zs%HHJ7iEp~?f%5+BSyMxp*#d9tj8WITsi`iQqm;nQ~h3(mJ z5ShavvoA~mnMDmqB*e1;50~*4Yfk(|s_5Kh%HB~qz;sJN5ET_0!ov2Jd&*J-U0v}Ow8)P}-;$?Ki@|#WcC?7hx4xnd&ze46xdA|h?_>IE zR!QyClj`uRRVedLwI6OXjW_VE9ej%4hOc5(5jdOU!1(i_R`}DB_qa^pg51a(>vlXB8pSkN#^OL9x6 z>)ctE|L#Pr^=FY_k_U7>RN1=9^yssQun>vG>vyIjOb-W9(NrbL{ItP*A1v;^+o__P zt8?d8xr^v6(>-fmPSh8w-_gOGD_vpxlp~&Z)lb=n>VpMZXS8XtqR$~J@|K~g>c;Iv z-8Zj71T3yw`mZyVxGwwmCVz{r{(*pS5Sc;m9{J^$4LY}fqJW(qcG+2s)khZ@Noi|q zlLtG#X03Oe`bTlhC$ag_-bx_|Rtj;ag@xJ`1v0CtEwo8T-~*^#jM0YZMyl{uCc&0a zpHw;Mv-$8*miV2!ASKsPY7aON@Xz2y`AI1mALG$1^<0%R+5CnhOG%!9@{7F5pjcg@ zu7w^+Z==1#o3|Dk%f1bUO9@f34@fztr&H{~#}6ITs({IZ`BxJki7S9g1uYv$Yk0%v;#ZhZ`r~ zYicGuYiy-rUv;U6yb}Qqf(BX^K}@Y<6HP|<4{++h=GBH$-~SF7qxJ^<#9cX9z>ri> zXXiCfHBiKudQ{)gfCFS6REhIHq@Ifn>K>rk%&n6|?R>}s-2bQJIHu&sOQKBH(j=1=S|4aZ{qfa z{ui=L+V|$yhVt0z_WQvVE8Ch20bJ(#&Fr)u%nxN>M0LjI*TOx`V_oUI6PYO+!>S3N z7|vcvnodIB_Ygb{*70`S-T_c1z-H;yIp7^!5GW_$y}REcO9nr+7(~R`iKy>4GioWN zZ&VhddaAt74k5q?>|V}8M59%;W|SsH?xn6(z@&f~WE~^`q=g>pTkrba9hd(Ye(G9C zr~9vcbX8E-F*T}v0j42=Xdt+teun^=*;@e#H=yMw65h|9ux-FDCE7u#rO6oGFH)~+ zwV~?jYSlcopf-8l=~9=e@d?|S{8cA>lxG-?AP+mcQnhCJ#su4GvpID=9Sw4BH9Pfm zL&bISgB0^aBf)F@=8>y~mwUqnG(TmxQ|A>^eUR^Z>3ne` zo4C-{uFhLEKi+Qj3vN;HiswR(AA$YPR;D{%a)$8?;Q-=MVcjV~k?|c!5-ln!QqD3sScb=|Tk8hN+5rY88JvAOR%eeSY;mYw)zJmi+`w0#oG*(`kB-KrJ`7~YEG&ec7>$Q_IpUMzQXw~f?ez4zz`e^= zFGB$lhZrG7VF^zRRNJ6KJcg80ABgGz_O+YsLNAoXRibEq<$n$!FNQ<}H*g)}VPKF> z)ABofuc~qfYx9w{=HUsdE7i?P=kM_<Y?v-F;jyPFlO9_5gv8tkd_pOs3TQS!-e`L5>#%{iwNgI!H$F+MdFW@<>WRX%;e=YZp3?C=5w4tA~ZV(s~%FV)@) zBoK(Ob(xYCr0(1zIdmeMvH@x6LpD9H5t#O}Dyv_;*CXhN)T_oCmIl5+j&@^LfQPgh zFO?RD{%ZFyhUKMVl3b=r&?oT%90DPj=@E6f57>Vxob79lz9a>KC+mg%f$a+J6Rz3+tyr8;B#<#^ z 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 Vx^h<&<>Qw|wM$w`ITvp}_zx%hA)f#M literal 0 HcmV?d00001 diff --git a/docs/images/sponsor-jojocode.png b/docs/images/sponsor-jojocode.png new file mode 100644 index 0000000000000000000000000000000000000000..f7f3c6e983cd71e4f967dbd07dc4279e5a4d8304 GIT binary patch literal 42454 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 Di~1HS literal 0 HcmV?d00001 diff --git a/docs/images/sponsor-smallice.png b/docs/images/sponsor-smallice.png new file mode 100644 index 0000000000000000000000000000000000000000..2063c60a59aa41d36ce4dbd2c1853edad016e315 GIT binary patch literal 2012807 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%0A$~QpN$rrAp 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�syHg>}Q|{rEXu~yvm9T8Qssw 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

^_T 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

fBp%iUMr{%t5BDq-#WRyW){ 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

#Im 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

uU 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 k{(f{Nho2md)r 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%0Da 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

g02J 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¥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 z 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 A-v9sr literal 0 HcmV?d00001 diff --git a/docs/images/sponsor-volcengine.png b/docs/images/sponsor-volcengine.png new file mode 100644 index 0000000000000000000000000000000000000000..cf4c22f236420e1d5ace94f39dc312783cf560c4 GIT binary patch literal 107106 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

e#D1WHyq4;@_&UKlsVIni^s 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

#0|ZW3GtwJ-9%S0Y}Kid?&f99Bga7SR{e4kOp#e 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 f{GZ#4{%t291n{FdZFq(_GvgX+I;zDgR Date: Tue, 30 Jun 2026 16:16:51 +0800 Subject: [PATCH 141/156] Fix Smallice sponsor name --- README.md | 4 ++-- README_EN.md | 4 ++-- 2 files changed, 4 insertions(+), 4 deletions(-) diff --git a/README.md b/README.md index 39a22d58e..f815f3843 100644 --- a/README.md +++ b/README.md @@ -144,10 +144,10 @@ Windows 安装包会创建桌面和开始菜单快捷方式。macOS DMG 会安 - SmallRice + Smallice - SmallRice|AI 中转站
感谢 SmallRice 赞助本项目!SmallRice 是一把钥匙,通往所有值得调用的语言模型。一个统一的 endpoint,作为你应用之下、无需多言的基础层。无论你召唤的是 Claude、GPT、Gemini 还是 DeepSeek,调用的形式从此恒等。通过此链接注册即可开始使用。 + Smallice|AI 中转站
感谢 Smallice 赞助本项目!Smallice 是一把钥匙,通往所有值得调用的语言模型。一个统一的 endpoint,作为你应用之下、无需多言的基础层。无论你召唤的是 Claude、GPT、Gemini 还是 DeepSeek,调用的形式从此恒等。通过此链接注册即可开始使用。 diff --git a/README_EN.md b/README_EN.md index be42a93b4..145115f05 100644 --- a/README_EN.md +++ b/README_EN.md @@ -128,10 +128,10 @@ The Windows installer creates desktop and Start Menu shortcuts. The macOS DMG in - SmallRice + Smallice - SmallRice | AI Relay
Thanks to SmallRice for sponsoring this project! SmallRice is one key to all the language models worth calling: a unified endpoint that acts as a quiet foundation layer beneath your applications. Whether you call Claude, GPT, Gemini, or DeepSeek, the request shape stays consistent. Register through this link to get started. + Smallice | AI Relay
Thanks to Smallice for sponsoring this project! Smallice is one key to all the language models worth calling: a unified endpoint that acts as a quiet foundation layer beneath your applications. Whether you call Claude, GPT, Gemini, or DeepSeek, the request shape stays consistent. Register through this link to get started. From 16576d7633457663742ede74ad37c7a1f708e4da Mon Sep 17 00:00:00 2001 From: thynome <125388433+thynomex@users.noreply.github.com> Date: Tue, 30 Jun 2026 10:11:18 +0100 Subject: [PATCH 142/156] feat: add language toggle for manager UI Squash merge PR #1264. --- apps/codex-plus-manager/src-tauri/src/lib.rs | 28 +- apps/codex-plus-manager/src/App.tsx | 1146 +++++++++-------- .../src/components/ProviderPresetSelector.tsx | 19 +- apps/codex-plus-manager/src/i18n-en.ts | 801 ++++++++++++ apps/codex-plus-manager/src/i18n.ts | 76 ++ tools/i18n-codemod.mjs | 203 +++ tools/i18n-keys.json | 582 +++++++++ tools/i18n-verify.mjs | 112 ++ 8 files changed, 2393 insertions(+), 574 deletions(-) create mode 100644 apps/codex-plus-manager/src/i18n-en.ts create mode 100644 apps/codex-plus-manager/src/i18n.ts create mode 100644 tools/i18n-codemod.mjs create mode 100644 tools/i18n-keys.json create mode 100644 tools/i18n-verify.mjs diff --git a/apps/codex-plus-manager/src-tauri/src/lib.rs b/apps/codex-plus-manager/src-tauri/src/lib.rs index ac482344a..1986a2e9b 100644 --- a/apps/codex-plus-manager/src-tauri/src/lib.rs +++ b/apps/codex-plus-manager/src-tauri/src/lib.rs @@ -7,6 +7,8 @@ use tauri::menu::{Menu, MenuItem}; use tauri::tray::{MouseButton, MouseButtonState, TrayIconBuilder, TrayIconEvent}; use tauri::{Emitter, Manager, WindowEvent}; +const TRAY_ID: &str = "codex_plus_tray"; + static APP_EXITING: AtomicBool = AtomicBool::new(false); const TRAY_MENU_SHOW: &str = "tray_show_main"; const TRAY_MENU_QUIT: &str = "tray_quit_app"; @@ -107,7 +109,8 @@ pub fn run() { commands::apply_pure_api_injection, commands::clear_relay_injection, manager_exit_app, - manager_hide_to_tray + manager_hide_to_tray, + update_tray_labels ]) .run(tauri::generate_context!()); if let Err(error) = run_result { @@ -125,7 +128,7 @@ fn install_tray(app: &tauri::App) -> tauri::Result<()> { let quit_item = MenuItem::with_id(app, TRAY_MENU_QUIT, "退出程序", true, None::<&str>)?; let tray_menu = Menu::with_items(app, &[&show_item, &quit_item])?; - let mut tray_builder = TrayIconBuilder::new() + let mut tray_builder = TrayIconBuilder::with_id(TRAY_ID) .menu(&tray_menu) .show_menu_on_left_click(false) .on_menu_event(|app, event| match event.id.as_ref() { @@ -195,6 +198,27 @@ fn manager_hide_to_tray(window: tauri::WebviewWindow) { let _ = window.hide(); } +#[tauri::command] +fn update_tray_labels( + app: tauri::AppHandle, + show_label: String, + quit_label: String, + window_title: String, +) { + if let Some(tray) = app.tray_by_id(TRAY_ID) { + let show_item = MenuItem::with_id(&app, TRAY_MENU_SHOW, &show_label, true, None::<&str>); + let quit_item = MenuItem::with_id(&app, TRAY_MENU_QUIT, &quit_label, true, None::<&str>); + if let (Ok(show), Ok(quit)) = (show_item, quit_item) { + if let Ok(menu) = Menu::with_items(&app, &[&show, &quit]) { + let _ = tray.set_menu(Some(menu)); + } + } + } + if let Some(window) = app.get_webview_window("main") { + let _ = window.set_title(&window_title); + } +} + fn show_main_window(app_handle: &tauri::AppHandle) { if let Some(window) = app_handle.get_webview_window("main") { let _ = window.unminimize(); diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index 5cb6b062a..0b7adf3f9 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -30,6 +30,7 @@ import { ExternalLink, Hammer, KeyRound, + Languages, LayoutDashboard, MessageCircle, FileCode2, @@ -66,6 +67,7 @@ import { serializeModelWindowRows, type ModelWindowRow, } from "./model-windows"; +import { getLanguage, t, tf, toggleLanguage } from "@/i18n"; type Status = "ok" | "failed" | "not_implemented" | "not_checked" | string; @@ -544,23 +546,23 @@ type ScriptMarketResult = CommandResult<{ function providerSyncProgressMessage(result: CommandResult): string { const changed = result.changedSessionFiles ?? 0; const rows = result.sqliteRowsUpdated ?? 0; - const target = result.targetProvider || "当前 provider"; + const target = result.targetProvider || t("当前 provider"); const skipped = result.skippedLockedRolloutFiles?.length ?? 0; - const skippedText = skipped ? `,跳过 ${skipped} 个占用文件` : ""; - return `已同步到 ${target}:修复 ${changed} 个会话文件,更新 ${rows} 行索引${skippedText}。`; + const skippedText = skipped ? tf(",跳过 {0} 个占用文件", [skipped]) : ""; + return tf("已同步到 {0}:修复 {1} 个会话文件,更新 {2} 行索引{3}。", [target, changed, rows, skippedText]); } const providerSyncSourceLabels: Record = { - config: "配置", - rollout: "会话", - sqlite: "索引", - manual: "手动", + config: t("配置"), + rollout: t("会话"), + sqlite: t("索引"), + manual: t("手动"), }; function providerSyncTargetLabel(target: ProviderSyncTargetOption): string { const labels = target.sources.map((source) => providerSyncSourceLabels[source]).filter(Boolean); - const current = target.isCurrentProvider ? ["当前"] : []; - return [...labels, ...current].join(" / ") || "发现"; + const current = target.isCurrentProvider ? [t("当前")] : []; + return [...labels, ...current].join(" / ") || t("发现"); } function syncMarketInstalledState(current: ScriptMarketResult | null, userScripts: UserScriptInventory): ScriptMarketResult | null { @@ -596,17 +598,17 @@ type Route = "overview" | "relay" | "sessions" | "context" | "enhance" | "zedRem type Theme = "dark" | "light"; const routes: Array<{ id: Route; label: string; icon: LucideIcon; badge?: string }> = [ - { id: "overview", label: "概览", icon: LayoutDashboard }, - { id: "relay", label: "供应商配置", icon: KeyRound }, - { id: "sessions", label: "会话管理", icon: MessageCircle }, - { id: "context", label: "工具与插件", icon: Network }, - { id: "enhance", label: "Codex增强", icon: Hammer }, - { id: "zedRemote", label: "Zed 远程项目", icon: ExternalLink }, - { id: "userScripts", label: "脚本市场", icon: FileCode2 }, - { id: "recommendations", label: "推荐内容", icon: ExternalLink }, - { id: "maintenance", label: "安装维护", icon: Wrench }, - { id: "about", label: "关于", icon: Info }, - { id: "settings", label: "设置", icon: Settings }, + { id: "overview", label: t("概览"), icon: LayoutDashboard }, + { id: "relay", label: t("供应商配置"), icon: KeyRound }, + { id: "sessions", label: t("会话管理"), icon: MessageCircle }, + { id: "context", label: t("工具与插件"), icon: Network }, + { id: "enhance", label: t("Codex增强"), icon: Hammer }, + { id: "zedRemote", label: t("Zed 远程项目"), icon: ExternalLink }, + { id: "userScripts", label: t("脚本市场"), icon: FileCode2 }, + { id: "recommendations", label: t("推荐内容"), icon: ExternalLink }, + { id: "maintenance", label: t("安装维护"), icon: Wrench }, + { id: "about", label: t("关于"), icon: Info }, + { id: "settings", label: t("设置"), icon: Settings }, ]; const defaultSettings: BackendSettings = { @@ -650,7 +652,7 @@ const defaultSettings: BackendSettings = { relayProfiles: [ { id: "default", - name: "默认中转", + name: t("默认中转"), model: "", baseUrl: "", upstreamBaseUrl: "", @@ -721,13 +723,13 @@ export function App() { const [providerSyncProgress, setProviderSyncProgress] = useState({ active: false, percent: 0, - message: "尚未运行历史会话修复。", + message: t("尚未运行历史会话修复。"), result: null, }); const [pluginMarketplaceProgress, setPluginMarketplaceProgress] = useState({ active: false, percent: 0, - message: "尚未运行插件市场修复。", + message: t("尚未运行插件市场修复。"), }); const [pluginMarketplacePrompt, setPluginMarketplacePrompt] = useState(null); const [providerSyncTargets, setProviderSyncTargets] = useState(null); @@ -745,7 +747,7 @@ export function App() { try { return await task(); } catch (error) { - showNotice("调用失败", stringifyError(error), "failed"); + showNotice(t("调用失败"), stringifyError(error), "failed"); return null; } }; @@ -757,11 +759,11 @@ export function App() { const prev = prevLaunchStatusRef.current; const current = result.latest_launch?.status; if (prev && prev === "running" && current && (current === "stopped" || current === "failed" || current === "crashed")) { - showNotice("Codex 意外停止", `进程状态:${current}。是否要重新启动?`, "failed"); + showNotice(t("Codex 意外停止"), tf("进程状态:{0}。是否要重新启动?", [current]), "failed"); } prevLaunchStatusRef.current = current ?? null; setOverview(result); - if (!silent) showResultNotice("概览已检查", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("概览已检查"), result, { silentSuccess: true }); } }; @@ -775,7 +777,7 @@ export function App() { ...current, appPath: current.appPath || result.settings.codexAppPath || "", })); - if (!silent) showResultNotice("设置已加载", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("设置已加载"), result, { silentSuccess: true }); return normalized; } return null; @@ -786,7 +788,7 @@ export function App() { if (result) { setScriptMarket(result); setSettings((current) => (current ? { ...current, user_scripts: result.user_scripts } : current)); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("脚本市场", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("脚本市场"), result, { silentSuccess: true }); } }; @@ -795,7 +797,7 @@ export function App() { if (result) { setScriptMarket(result); setSettings((current) => (current ? { ...current, user_scripts: result.user_scripts } : current)); - showResultNotice("脚本市场", result); + showResultNotice(t("脚本市场"), result); } }; @@ -804,19 +806,19 @@ export function App() { if (result) { setSettings(result); setScriptMarket((current) => syncMarketInstalledState(current, result.user_scripts)); - showResultNotice("本地脚本", result); + showResultNotice(t("本地脚本"), result); } }; const deleteUserScript = async (key: string) => { const script = settings?.user_scripts?.scripts?.find((item) => item.key === key); const name = script?.name || key; - if (!window.confirm(`删除脚本“${name}”?此操作会移除本地脚本文件。`)) return; + if (!window.confirm(tf("删除脚本“{0}”?此操作会移除本地脚本文件。", [name]))) return; const result = await run(() => call("delete_user_script", { key })); if (result) { setSettings(result); setScriptMarket((current) => syncMarketInstalledState(current, result.user_scripts)); - showResultNotice("本地脚本", result); + showResultNotice(t("本地脚本"), result); } }; @@ -824,7 +826,7 @@ export function App() { const result = await run(() => call("relay_status")); if (result) { setRelay(result); - if (!silent) showResultNotice("登录状态", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("登录状态"), result, { silentSuccess: true }); } }; @@ -832,7 +834,7 @@ export function App() { const result = await run(() => call("read_relay_files")); if (result) { setRelayFiles(result); - if (!silent) showResultNotice("配置文件", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("配置文件"), result, { silentSuccess: true }); } return result; }; @@ -841,7 +843,7 @@ export function App() { const result = await run(() => call("check_env_conflicts")); if (result) { setEnvConflicts(result); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("环境变量检测", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("环境变量检测"), result, { silentSuccess: true }); } return result; }; @@ -849,7 +851,7 @@ export function App() { const removeEnvConflicts = async (names: string[]) => { const uniqueNames = Array.from(new Set(names.map((name) => name.trim()).filter(Boolean))); if (!uniqueNames.length) return; - if (!window.confirm(`删除这些环境变量?\n\n${uniqueNames.join("\n")}\n\n删除前会写入备份。`)) return; + if (!window.confirm(tf("删除这些环境变量?\n\n{0}\n\n删除前会写入备份。", [uniqueNames.join("\n")]))) return; const result = await run(() => call("remove_env_conflicts", { request: { names: uniqueNames } })); if (result) { setEnvConflicts({ @@ -857,7 +859,7 @@ export function App() { message: result.message, conflicts: result.remaining, }); - showNotice("环境变量清理", result.message, result.status); + showNotice(t("环境变量清理"), result.message, result.status); } }; @@ -865,7 +867,7 @@ export function App() { const result = await run(() => call("load_ccs_providers")); if (result) { setCcsProviders(result); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("cc-switch 导入", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("cc-switch 导入"), result, { silentSuccess: true }); } return result; }; @@ -875,7 +877,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showResultNotice("cc-switch 导入", result); + showResultNotice(t("cc-switch 导入"), result); await refreshCcsProviders(true); } }; @@ -884,7 +886,7 @@ export function App() { const result = await run(() => call("load_pending_provider_import")); if (result) { setPendingProviderImport(result.pending); - if (!silent && !isSuccessStatus(result.status)) showResultNotice("Codex++ 导入", result, { silentSuccess: true }); + if (!silent && !isSuccessStatus(result.status)) showResultNotice(t("Codex++ 导入"), result, { silentSuccess: true }); } return result; }; @@ -895,7 +897,7 @@ export function App() { setPendingProviderImport(null); setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showResultNotice("Codex++ 导入", result); + showResultNotice(t("Codex++ 导入"), result); await refreshCcsProviders(true); } }; @@ -904,7 +906,7 @@ export function App() { const result = await run(() => call("dismiss_pending_provider_import")); if (result) { setPendingProviderImport(null); - showResultNotice("Codex++ 导入", result, { silentSuccess: true }); + showResultNotice(t("Codex++ 导入"), result, { silentSuccess: true }); } }; @@ -912,7 +914,7 @@ export function App() { const result = await run(() => call("list_local_sessions")); if (result) { setLocalSessions(result); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("会话管理", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("会话管理"), result, { silentSuccess: true }); } return result; }; @@ -921,7 +923,7 @@ export function App() { const result = await run(() => call("list_zed_remote_projects")); if (result) { setZedRemoteProjects(result); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("Zed 远程项目", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("Zed 远程项目"), result, { silentSuccess: true }); } return result; }; @@ -942,7 +944,7 @@ export function App() { }), ); if (result) { - showResultNotice("Zed 远程打开", result); + showResultNotice(t("Zed 远程打开"), result); await refreshZedRemoteProjects(true); } }; @@ -951,7 +953,7 @@ export function App() { const result = await run(() => call("forget_zed_remote_project", { id: project.id })); if (result) { setZedRemoteProjects(result); - showResultNotice("Zed 远程项目", result); + showResultNotice(t("Zed 远程项目"), result); } }; @@ -965,19 +967,19 @@ export function App() { setConfirmDialog({ title, message, - confirmText: "确认删除", - cancelText: "取消", + confirmText: t("确认删除"), + cancelText: t("取消"), resolve, }); }); const deleteLocalSession = async (session: LocalSession) => { const title = session.title || session.id; - const confirmed = await confirmSessionDelete("删除会话", `删除会话“${title}”?此操作会删除本地数据库记录和 rollout 文件,并创建备份。`); + const confirmed = await confirmSessionDelete(t("删除会话"), tf("删除会话“{0}”?此操作会删除本地数据库记录和 rollout 文件,并创建备份。", [title])); if (!confirmed) return; const result = await run(() => requestDeleteLocalSession(session)); if (result) { - showResultNotice("会话删除", result); + showResultNotice(t("会话删除"), result); await refreshLocalSessions(true); } }; @@ -985,17 +987,17 @@ export function App() { const deleteLocalSessions = async (sessions: LocalSession[]) => { const uniqueSessions = Array.from(new Map(sessions.map((session) => [session.id, session])).values()); if (!uniqueSessions.length) { - showNotice("批量删除会话", "请先选择要删除的会话。", "failed"); + showNotice(t("批量删除会话"), t("请先选择要删除的会话。"), "failed"); return; } const preview = uniqueSessions .slice(0, 6) .map((session) => `- ${truncateSessionDeletePreview(session.title || session.id)}`) .join("\n"); - const extraCount = uniqueSessions.length > 6 ? `\n...以及另外 ${uniqueSessions.length - 6} 个会话` : ""; + const extraCount = uniqueSessions.length > 6 ? tf("\n...以及另外 {0} 个会话", [uniqueSessions.length - 6]) : ""; const confirmed = await confirmSessionDelete( - "批量删除会话", - `删除选中的 ${uniqueSessions.length} 个会话?此操作会删除本地数据库记录和 rollout 文件,并为每个会话创建备份。\n\n${preview}${extraCount}`, + t("批量删除会话"), + tf("删除选中的 {0} 个会话?此操作会删除本地数据库记录和 rollout 文件,并为每个会话创建备份。\n\n{1}{2}", [uniqueSessions.length, preview, extraCount]), ); if (!confirmed) return; @@ -1012,12 +1014,12 @@ export function App() { if (failed.length) { showNotice( - "批量删除会话", - `已删除 ${succeeded} 个,失败 ${failed.length} 个:${failed.slice(0, 3).map(truncateSessionDeletePreview).join("、")}`, + t("批量删除会话"), + tf("已删除 {0} 个,失败 {1} 个:{2}", [succeeded, failed.length, failed.slice(0, 3).map(truncateSessionDeletePreview).join(t("、"))]), succeeded ? "ok" : "failed", ); } else { - showNotice("批量删除会话", `已删除 ${succeeded} 个会话。`, "ok"); + showNotice(t("批量删除会话"), tf("已删除 {0} 个会话。", [succeeded]), "ok"); } await refreshLocalSessions(true); }; @@ -1026,7 +1028,7 @@ export function App() { const result = await run(() => call("read_live_context_entries")); if (result) { setLiveContextEntries(result.entries); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("工具与插件", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("工具与插件"), result, { silentSuccess: true }); } return result; }; @@ -1035,7 +1037,7 @@ export function App() { const result = await run(() => call("sync_live_context_entries", { request: { settings: next } })); if (result) { setLiveContextEntries(result.entries); - if (!silent || !isSuccessStatus(result.status)) showResultNotice("工具与插件", result, { silentSuccess: true }); + if (!silent || !isSuccessStatus(result.status)) showResultNotice(t("工具与插件"), result, { silentSuccess: true }); } return result; }; @@ -1044,7 +1046,7 @@ export function App() { const result = await run(() => call("read_latest_logs", { request: { lines: 240 } })); if (result) { setLogs(result); - if (!silent) showResultNotice("日志已刷新", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("日志已刷新"), result, { silentSuccess: true }); } }; @@ -1052,7 +1054,7 @@ export function App() { const result = await run(() => call("copy_diagnostics")); if (result) { setDiagnostics(result); - if (!silent) showResultNotice("诊断已生成", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("诊断已生成"), result, { silentSuccess: true }); } }; @@ -1060,7 +1062,7 @@ export function App() { const result = await run(() => call("load_watcher_state")); if (result) { setWatcher(result); - if (!silent) showResultNotice("Watcher 状态", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("Watcher 状态"), result, { silentSuccess: true }); } }; @@ -1108,7 +1110,7 @@ export function App() { const launch = async () => { const result = await launchCommand("launch_codex_plus"); if (result) { - showNotice("启动任务", result.message, result.status); + showNotice(t("启动任务"), result.message, result.status); await refreshOverview(true); } }; @@ -1116,7 +1118,7 @@ export function App() { const restart = async () => { const result = await launchCommand("restart_codex_plus"); if (result) { - showNotice("重启 Codex++", result.message, result.status); + showNotice(t("重启 Codex++"), result.message, result.status); await refreshOverview(true); } }; @@ -1139,26 +1141,26 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showNotice("后端修复", result.message, result.status); + showNotice(t("后端修复"), result.message, result.status); } }; const repairPluginMarketplace = async () => { if (pluginMarketplaceProgress.active) return; setPluginMarketplacePrompt(null); - setPluginMarketplaceProgress({ active: true, percent: 8, message: "正在检查本地插件市场…" }); + setPluginMarketplaceProgress({ active: true, percent: 8, message: t("正在检查本地插件市场…") }); const progressTimer = window.setInterval(() => { setPluginMarketplaceProgress((current) => { if (!current.active) return current; const nextPercent = Math.min(92, current.percent + 9); const message = nextPercent < 28 - ? "正在连接 openai/plugins…" + ? t("正在连接 openai/plugins…") : nextPercent < 62 - ? "正在下载插件市场快照…" + ? t("正在下载插件市场快照…") : nextPercent < 84 - ? "正在解压并校验插件文件…" - : "正在写入 Codex 配置…"; + ? t("正在解压并校验插件文件…") + : t("正在写入 Codex 配置…"); return { ...current, percent: nextPercent, message }; }); }, 500); @@ -1170,12 +1172,12 @@ export function App() { percent: 100, message: result.message, }); - showNotice("插件市场修复", result.message, result.status); + showNotice(t("插件市场修复"), result.message, result.status); } else { setPluginMarketplaceProgress({ active: false, percent: 100, - message: "插件市场修复失败,请查看错误提示后重试。", + message: t("插件市场修复失败,请查看错误提示后重试。"), }); } } finally { @@ -1192,7 +1194,7 @@ export function App() { const installEntrypoints = async () => { const result = await run(() => call("install_entrypoints")); if (result) { - showNotice("入口安装", result.message, result.status); + showNotice(t("入口安装"), result.message, result.status); await refreshOverview(true); } }; @@ -1204,7 +1206,7 @@ export function App() { }), ); if (result) { - showNotice("入口卸载", result.message, result.status); + showNotice(t("入口卸载"), result.message, result.status); await refreshOverview(true); } }; @@ -1212,7 +1214,7 @@ export function App() { const repairShortcuts = async () => { const result = await run(() => call("repair_shortcuts")); if (result) { - showNotice("快捷方式修复", result.message, result.status); + showNotice(t("快捷方式修复"), result.message, result.status); await refreshOverview(true); } }; @@ -1221,7 +1223,7 @@ export function App() { const result = await run(() => call(command)); if (result) { setWatcher(result); - showNotice("Watcher 操作", result.message, result.status); + showNotice(t("Watcher 操作"), result.message, result.status); } }; @@ -1230,7 +1232,7 @@ export function App() { if (result) { setUpdate(result); if (!silent || result.updateAvailable) { - showNotice("GitHub Release 检查", result.message, result.status); + showNotice(t("GitHub Release 检查"), result.message, result.status); } } }; @@ -1249,7 +1251,7 @@ export function App() { const result = await run(() => call("perform_update", { release })); if (result) { setUpdate(result); - showNotice("更新安装", result.message, result.status); + showNotice(t("更新安装"), result.message, result.status); } }; @@ -1259,7 +1261,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showNotice("设置保存", result.message, result.status); + showNotice(t("设置保存"), result.message, result.status); } }; @@ -1270,7 +1272,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - if (!silent || !isSuccessStatus(result.status)) showNotice("设置保存", result.message, result.status); + if (!silent || !isSuccessStatus(result.status)) showNotice(t("设置保存"), result.message, result.status); } }; @@ -1279,7 +1281,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showNotice("设置重置", result.message, result.status); + showNotice(t("设置重置"), result.message, result.status); } }; @@ -1288,7 +1290,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - showNotice("图片覆盖层", result.message, result.status); + showNotice(t("图片覆盖层"), result.message, result.status); } }; @@ -1296,7 +1298,7 @@ export function App() { const result = await run(() => call("load_ads")); if (result) { setAds(result); - if (!silent) showResultNotice("推荐内容", result, { silentSuccess: true }); + if (!silent) showResultNotice(t("推荐内容"), result, { silentSuccess: true }); } }; @@ -1312,7 +1314,7 @@ export function App() { targets[0]?.id || "openai"; setSelectedProviderSyncTarget((current) => (targets.some((target) => target.id === current) ? current : preferred)); - if (!silent && !isSuccessStatus(result.status)) showNotice("Provider 同步目标", result.message, result.status); + if (!silent && !isSuccessStatus(result.status)) showNotice(t("Provider 同步目标"), result.message, result.status); } return result; }; @@ -1322,7 +1324,7 @@ export function App() { setProviderSyncProgress({ active: true, percent: 12, - message: selectedProviderSyncTarget ? `正在同步到 ${selectedProviderSyncTarget}…` : "正在扫描历史会话与索引…", + message: selectedProviderSyncTarget ? tf("正在同步到 {0}…", [selectedProviderSyncTarget]) : t("正在扫描历史会话与索引…"), result: null, }); const progressTimer = window.setInterval(() => { @@ -1331,7 +1333,7 @@ export function App() { return { ...current, percent: Math.min(88, current.percent + 8), - message: current.percent < 40 ? "正在检查会话 provider 标记…" : "正在写入修复与备份…", + message: current.percent < 40 ? t("正在检查会话 provider 标记…") : t("正在写入修复与备份…"), }; }); }, 350); @@ -1358,12 +1360,12 @@ export function App() { setSettingsForm(next); } await refreshProviderSyncTargets(true); - showNotice("历史会话修复", result.message, result.status); + showNotice(t("历史会话修复"), result.message, result.status); } else { setProviderSyncProgress({ active: false, percent: 100, - message: "历史会话修复失败,请查看错误提示后重试。", + message: t("历史会话修复失败,请查看错误提示后重试。"), result: null, }); } @@ -1378,7 +1380,7 @@ export function App() { setSettings(settingsResult); setSettingsForm(normalizeSettings(settingsResult.settings)); if (!isSuccessStatus(settingsResult.status)) { - showNotice("设置保存", settingsResult.message, settingsResult.status); + showNotice(t("设置保存"), settingsResult.message, settingsResult.status); return false; } } else { @@ -1388,7 +1390,7 @@ export function App() { if (result) { setRelay(result); await refreshRelayFiles(true); - if (!silent || !isSuccessStatus(result.status)) showNotice("官方混入 API Key", result.message, result.status); + if (!silent || !isSuccessStatus(result.status)) showNotice(t("官方混入 API Key"), result.message, result.status); } return !!result && isSuccessStatus(result.status) && result.configured; }; @@ -1400,7 +1402,7 @@ export function App() { if (result) { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); - if (!silent) showNotice("Codex增强模式", result.message, result.status); + if (!silent) showNotice(t("Codex增强模式"), result.message, result.status); } return result; }; @@ -1411,7 +1413,7 @@ export function App() { setSettings(settingsResult); setSettingsForm(normalizeSettings(settingsResult.settings)); if (!isSuccessStatus(settingsResult.status)) { - showNotice("设置保存", settingsResult.message, settingsResult.status); + showNotice(t("设置保存"), settingsResult.message, settingsResult.status); return false; } } else { @@ -1421,7 +1423,7 @@ export function App() { if (result) { setRelay(result); await refreshRelayFiles(true); - if (!silent || !isSuccessStatus(result.status)) showNotice("纯 API 模式", result.message, result.status); + if (!silent || !isSuccessStatus(result.status)) showNotice(t("纯 API 模式"), result.message, result.status); } return !!result && isSuccessStatus(result.status) && result.configured; }; @@ -1431,7 +1433,7 @@ export function App() { if (result) { setRelay(result); await refreshRelayFiles(true); - if (!silent || !isSuccessStatus(result.status)) showNotice("官方登录模式", result.message, result.status); + if (!silent || !isSuccessStatus(result.status)) showNotice(t("官方登录模式"), result.message, result.status); } return !!result && isSuccessStatus(result.status) && !result.configured; }; @@ -1461,7 +1463,7 @@ export function App() { normalized = normalizeSettings(saveResult.settings); } setSettingsForm(normalized); - if (!isSuccessStatus(result.status)) showResultNotice("工具与插件", result); + if (!isSuccessStatus(result.status)) showResultNotice(t("工具与插件"), result); return normalized; }; @@ -1479,7 +1481,7 @@ export function App() { normalized = normalizeSettings(saveResult.settings); } setSettingsForm(normalized); - if (!isSuccessStatus(result.status)) showResultNotice("工具与插件", result); + if (!isSuccessStatus(result.status)) showResultNotice(t("工具与插件"), result); return normalized; }; @@ -1489,18 +1491,18 @@ export function App() { request: { configContents }, }), ); - if (result) showResultNotice("通用配置文件", result); + if (result) showResultNotice(t("通用配置文件"), result); return result && isSuccessStatus(result.status) ? result : null; }; const testRelayProfile = async (profile: RelayProfile) => { const result = await run(() => call("test_relay_profile", { profile })); - if (result) showNotice("供应商测试", result.message, result.status); + if (result) showNotice(t("供应商测试"), result.message, result.status); }; const fetchRelayProfileModels = async (profile: RelayProfile) => { const result = await run(() => call("fetch_relay_profile_models", { profile })); - if (result) showNotice("模型列表", result.message, result.status); + if (result) showNotice(t("模型列表"), result.message, result.status); return result && isSuccessStatus(result.status) ? result.models : null; }; @@ -1508,24 +1510,24 @@ export function App() { const switched = await clearRelayInjection(true); if (!switched) return; const result = await saveLaunchMode("relay", true); - if (result) showNotice("官方登录模式", "已切回官方登录;Codex增强已设为兼容增强。", result.status); + if (result) showNotice(t("官方登录模式"), t("已切回官方登录;Codex增强已设为兼容增强。"), result.status); }; const switchPureApiMode = async () => { const switched = await applyPureApiInjection(true); if (!switched) return; const result = await saveLaunchMode("patch", true); - if (result) showNotice("纯 API 模式", "已切换到纯 API;Codex增强已设为完整增强。", result.status); + if (result) showNotice(t("纯 API 模式"), t("已切换到纯 API;Codex增强已设为完整增强。"), result.status); }; const switchRelayProfile = async (next: BackendSettings, previousActiveRelayId = settingsForm.activeRelayId) => { if (relaySwitching) { - showNotice("供应商切换中", "上一次切换还没有完成,请稍后再试。", "failed"); + showNotice(t("供应商切换中"), t("上一次切换还没有完成,请稍后再试。"), "failed"); return; } let switchSettings = normalizeSettings(next); if (!switchSettings.relayProfilesEnabled) { - showNotice("供应商配置已关闭", "当前不会写入 Codex config.toml / auth.json。打开供应商配置总开关后再切换。", "failed"); + showNotice(t("供应商配置已关闭"), t("当前不会写入 Codex config.toml / auth.json。打开供应商配置总开关后再切换。"), "failed"); return; } const targetBeforeSnapshot = activeRelayProfile(switchSettings); @@ -1543,7 +1545,7 @@ export function App() { targetRelayName: selectedBeforeSave.name, error: validationError, }); - showNotice("供应商配置可能不正确", validationError, "failed"); + showNotice(t("供应商配置可能不正确"), validationError, "failed"); return; } switchSettings = await snapshotActiveRelayFilesBeforeSwitch(switchSettings, previousActiveRelayId); @@ -1591,7 +1593,7 @@ export function App() { message: result.message, activeRelayId: selectedSettings.activeRelayId, }); - showNotice("供应商切换", result.message, result.status); + showNotice(t("供应商切换"), result.message, result.status); return; } const currentSelected = activeRelayProfile(selectedSettings); @@ -1600,7 +1602,7 @@ export function App() { launchMode: selectedSettings.launchMode, status: result.status, }); - showNotice("供应商切换", relayProfileModeSwitchedText(currentSelected), result.status); + showNotice(t("供应商切换"), relayProfileModeSwitchedText(currentSelected), result.status); } finally { setRelaySwitching(false); } @@ -1620,7 +1622,7 @@ export function App() { if (!result) return next; const normalized = normalizeSettings(result.settings); if (!isSuccessStatus(result.status)) { - showNotice("供应商切换", result.message, result.status); + showNotice(t("供应商切换"), result.message, result.status); return next; } return normalized; @@ -1630,19 +1632,19 @@ export function App() { try { await navigator.clipboard.writeText(text); } catch (error) { - showNotice("复制失败", stringifyError(error), "failed"); + showNotice(t("复制失败"), stringifyError(error), "failed"); } }; const openExternalUrl = async (url: string) => { const result = await run(() => call>>("open_external_url", { url })); if (result) { - showResultNotice("打开链接", result, { silentSuccess: true }); + showResultNotice(t("打开链接"), result, { silentSuccess: true }); } }; const showNotice = (title: string, message: string, status?: Status) => { - setNotice({ title, message, status }); + setNotice({ title, message: t(message), status }); }; useEffect(() => { @@ -1701,6 +1703,16 @@ export function App() { })(); }, []); + useEffect(() => { + if (getLanguage() === "en") { + void invoke("update_tray_labels", { + showLabel: "Show window", + quitLabel: "Quit", + windowTitle: "Codex++ Manager", + }); + } + }, []); + useEffect(() => { const timer = window.setInterval(() => { void refreshPendingProviderImport(true); @@ -1750,25 +1762,25 @@ export function App() { try { selected = await open( mode === "folder" - ? { directory: true, multiple: false, title: "选择 Codex 应用目录" } + ? { directory: true, multiple: false, title: t("选择 Codex 应用目录") } : { directory: false, multiple: false, - title: "选择 Codex.exe 或 Codex.app", - filters: [{ name: "Codex 应用", extensions: ["exe", "app"] }], + title: t("选择 Codex.exe 或 Codex.app"), + filters: [{ name: t("Codex 应用"), extensions: ["exe", "app"] }], }, ); } catch (error) { // Surface plugin failures (e.g. missing capability permission) so the // buttons no longer appear unresponsive — see #345. const message = error instanceof Error ? error.message : String(error); - showNotice("Codex 应用路径", `打开选择器失败:${message}`, "failed"); + showNotice(t("Codex 应用路径"), tf("打开选择器失败:{0}", [message]), "failed"); return; } if (typeof selected === "string" && selected.trim()) { const result = await saveCodexAppPath(selected.trim()); if (result) { - showNotice("Codex 应用路径", "应用路径已保存,之后启动会自动复用。", result.status); + showNotice(t("Codex 应用路径"), t("应用路径已保存,之后启动会自动复用。"), result.status); } } }, @@ -1779,7 +1791,7 @@ export function App() { setSettings(result); setSettingsForm(normalizeSettings(result.settings)); setLaunchForm((current) => ({ ...current, appPath: "" })); - showNotice("Codex 应用路径", "已清除保存路径,后续启动会回到自动探测。", result.status); + showNotice(t("Codex 应用路径"), t("已清除保存路径,后续启动会回到自动探测。"), result.status); await refreshOverview(true); } }, @@ -1789,12 +1801,12 @@ export function App() { selected = await open({ directory: false, multiple: false, - title: "选择覆盖图片", - filters: [{ name: "图片", extensions: ["png", "jpg", "jpeg", "webp", "gif", "bmp"] }], + title: t("选择覆盖图片"), + filters: [{ name: t("图片"), extensions: ["png", "jpg", "jpeg", "webp", "gif", "bmp"] }], }); } catch (error) { const message = error instanceof Error ? error.message : String(error); - showNotice("图片覆盖层", `打开选择器失败:${message}`, "failed"); + showNotice(t("图片覆盖层"), tf("打开选择器失败:{0}", [message]), "failed"); return; } if (typeof selected === "string" && selected.trim()) { @@ -1808,12 +1820,12 @@ export function App() { saveManualCodexAppPath: async () => { const appPath = launchForm.appPath.trim(); if (!appPath) { - showNotice("Codex 应用路径", "请先填写或选择应用路径。", "failed"); + showNotice(t("Codex 应用路径"), t("请先填写或选择应用路径。"), "failed"); return; } const result = await saveCodexAppPath(appPath); if (result) { - showNotice("Codex 应用路径", "应用路径已保存,之后启动会自动复用。", result.status); + showNotice(t("Codex 应用路径"), t("应用路径已保存,之后启动会自动复用。"), result.status); } }, syncProvidersNow, @@ -1861,14 +1873,14 @@ export function App() { refreshLogs, refreshDiagnostics, showMessage: async (title: string, message: string, status?: Status) => showNotice(title, message, status), - copyLogs: () => copyText(logs?.text ?? "", "日志已复制。"), - copyDiagnostics: () => copyText(diagnostics?.report ?? "", "诊断报告已复制。"), + copyLogs: () => copyText(logs?.text ?? "", t("日志已复制。")), + copyDiagnostics: () => copyText(diagnostics?.report ?? "", t("诊断报告已复制。")), goLogs: () => navigate("about"), checkHealth: async () => { await refreshOverview(true); await refreshRelay(true); await refreshWatcher(true); - showNotice("检查完成", "已刷新 Codex 应用、入口和 Watcher 状态。", "ok"); + showNotice(t("检查完成"), t("已刷新 Codex 应用、入口和 Watcher 状态。"), "ok"); }, installWatcher: () => watcherAction("install_watcher"), uninstallWatcher: () => watcherAction("uninstall_watcher"), @@ -1895,14 +1907,14 @@ export function App() { setRoute("about"); void checkUpdate(false); }} - title={`发现新版本 ${update?.latestVersion ?? ""}`} + title={tf("发现新版本 {0}", [update?.latestVersion ?? ""])} type="button" >

- JOJO Code + JOJO Code

-
管理控制台
+
{t("管理控制台")}
+ - -
@@ -2164,10 +2184,10 @@ function OverviewScreen({
- 官方中转站 + {t("官方中转站")}

JOJO Code

- Codex++ 官方中转站,主打稳定接入和划算价格,支持 GPT-5.5、GPT-5.4、Claude Opus 4.8、Claude Opus 4.7、gpt-image-2 等模型与图像能力。 + {t("Codex++ 官方中转站,主打稳定接入和划算价格,支持 GPT-5.5、GPT-5.4、Claude Opus 4.8、Claude Opus 4.7、gpt-image-2 等模型与图像能力。")}

@@ -2181,21 +2201,21 @@ function OverviewScreen({
- +
{overview?.codex_version ? : }
- Codex 版本 - {overview?.codex_version ?? "未检测到 Codex 应用版本。"} + {t("Codex 版本")} + {overview?.codex_version ?? t("未检测到 Codex 应用版本。")}
@@ -2213,33 +2233,33 @@ function OverviewScreen({ - + - + @@ -2283,8 +2303,8 @@ function RelayScreen({ setNewProfileDraft(draft); if (!normalizeAggregateConfig(draft.aggregate, aggregateMemberCandidates(normalized, draft.id)).members.length) { void actions.showMessage( - "添加聚合供应商", - "已打开聚合供应商详情;请先添加或完善至少 1 个普通 API 供应商的 Base URL / Key,再勾选为成员。", + t("添加聚合供应商"), + t("已打开聚合供应商详情;请先添加或完善至少 1 个普通 API 供应商的 Base URL / Key,再勾选为成员。"), "failed", ); } @@ -2334,7 +2354,7 @@ function RelayScreen({ return ( <> - +
@@ -2360,14 +2380,14 @@ function RelayScreen({ }} > - 添加供应商 + {t("添加供应商")}
{thirdPartyImportOpen ? (
@@ -2395,7 +2415,7 @@ function RelayScreen({ type="button" > - 刷新列表 + {t("刷新列表")}
) : null} @@ -2430,8 +2450,8 @@ function EnvConflictNotice({
- 检测到 OPENAI 环境变量 -

这些变量可能覆盖当前供应商写入的 config.toml / auth.json;CODEX_HOME 不会被清理。

+ {t("检测到 OPENAI 环境变量")} +

{t("这些变量可能覆盖当前供应商写入的 config.toml / auth.json;CODEX_HOME 不会被清理。")}

{conflicts.map((conflict) => ( @@ -2444,11 +2464,11 @@ function EnvConflictNotice({
@@ -2456,9 +2476,9 @@ function EnvConflictNotice({ } function envConflictSourceLabel(source: string): string { - if (source === "process") return "当前进程"; - if (source === "user") return "用户环境"; - return source || "环境变量"; + if (source === "process") return t("当前进程"); + if (source === "user") return t("用户环境"); + return source || t("环境变量"); } function EnhanceScreen({ @@ -2478,7 +2498,7 @@ function EnhanceScreen({ return ( <> - + {form.launchMode === "relay" ? (
- 当前为兼容增强模式,插件市场解锁和特殊插件强制安装不会启用;其他页面功能仍可用。 + {t("当前为兼容增强模式,插件市场解锁和特殊插件强制安装不会启用;其他页面功能仍可用。")}
) : null}
- setEnhanceFlag("codexAppPluginMarketplaceUnlock", value)} /> - setEnhanceFlag("codexAppForcePluginInstall", value)} /> - setEnhanceFlag("codexAppPluginAutoExpand", value)} /> - setEnhanceFlag("codexAppModelWhitelistUnlock", value)} /> - setEnhanceFlag("codexAppServiceTierControls", value)} /> - setEnhanceFlag("codexAppSessionDelete", value)} /> - setEnhanceFlag("codexAppMarkdownExport", value)} /> - setEnhanceFlag("codexAppPasteFix", value)} /> - setEnhanceFlag("codexAppForceChineseLocale", value)} /> - setEnhanceFlag("codexAppFastStartup", value)} /> - setEnhanceFlag("codexAppProjectMove", value)} /> - setEnhanceFlag("codexAppThreadIdBadge", value)} /> - setEnhanceFlag("codexAppConversationView", value)} /> - setEnhanceFlag("codexAppThreadScrollRestore", value)} /> - setEnhanceFlag("codexAppZedRemoteOpen", value)} /> - setEnhanceFlag("zedRemoteProjectRegistryEnabled", value)} /> - setEnhanceFlag("zedRemoteSyncToZedSettings", value)} /> - setEnhanceFlag("codexAppUpstreamWorktreeCreate", value)} /> - setEnhanceFlag("codexAppNativeMenuPlacement", value)} /> - setEnhanceFlag("codexAppNativeMenuLocalization", value)} /> + setEnhanceFlag("codexAppPluginMarketplaceUnlock", value)} /> + setEnhanceFlag("codexAppForcePluginInstall", value)} /> + setEnhanceFlag("codexAppPluginAutoExpand", value)} /> + setEnhanceFlag("codexAppModelWhitelistUnlock", value)} /> + setEnhanceFlag("codexAppServiceTierControls", value)} /> + setEnhanceFlag("codexAppSessionDelete", value)} /> + setEnhanceFlag("codexAppMarkdownExport", value)} /> + setEnhanceFlag("codexAppPasteFix", value)} /> + setEnhanceFlag("codexAppForceChineseLocale", value)} /> + setEnhanceFlag("codexAppFastStartup", value)} /> + setEnhanceFlag("codexAppProjectMove", value)} /> + setEnhanceFlag("codexAppThreadIdBadge", value)} /> + setEnhanceFlag("codexAppConversationView", value)} /> + setEnhanceFlag("codexAppThreadScrollRestore", value)} /> + setEnhanceFlag("codexAppZedRemoteOpen", value)} /> + setEnhanceFlag("zedRemoteProjectRegistryEnabled", value)} /> + setEnhanceFlag("zedRemoteSyncToZedSettings", value)} /> + setEnhanceFlag("codexAppUpstreamWorktreeCreate", value)} /> + setEnhanceFlag("codexAppNativeMenuPlacement", value)} /> + setEnhanceFlag("codexAppNativeMenuLocalization", value)} />
- 新机器没有本地插件市场时,可从 openai/plugins 初始化到当前 CODEX_HOME。 + {t("新机器没有本地插件市场时,可从 openai/plugins 初始化到当前 CODEX_HOME。")}
- +
- +
- 如果使用官方模式或官方混入 API 模式,通常不需要开启插件市场解锁和特殊插件强制安装。 + {t("如果使用官方模式或官方混入 API 模式,通常不需要开启插件市场解锁和特殊插件强制安装。")}
- +
@@ -2587,15 +2607,15 @@ function ZedRemoteScreen({ const copyUrl = async (project: ZedRemoteProject) => { try { await navigator.clipboard.writeText(project.url); - await actions.showMessage("Zed Remote URL", "ssh:// URL 已复制。", "ok"); + await actions.showMessage("Zed Remote URL", t("ssh:// URL 已复制。"), "ok"); } catch (error) { - await actions.showMessage("复制失败", stringifyError(error), "failed"); + await actions.showMessage(t("复制失败"), stringifyError(error), "failed"); } }; return ( <> - +
@@ -2603,16 +2623,16 @@ function ZedRemoteScreen({
- +
@@ -2659,7 +2679,7 @@ function ZedRemoteProjectSection({ }) { return ( - + {projects.length ? (
@@ -2679,19 +2699,19 @@ function ZedRemoteProjectSection({
- {project.source === "recent" ? ( - ) : null} @@ -2700,7 +2720,7 @@ function ZedRemoteProjectSection({ ))}
) : ( -
暂无项目。
+
{t("暂无项目。")}
)} @@ -2715,32 +2735,32 @@ function UserScriptsScreen({ settings, market, actions }: { settings: SettingsRe return ( <> - +
- - - - + + + +
- + {marketScripts.length ? (
@@ -2749,15 +2769,15 @@ function UserScriptsScreen({ settings, market, actions }: { settings: SettingsRe ))}
) : ( -
{market?.status === "failed" ? market.message : "点击刷新市场加载远程脚本。"}
+
{market?.status === "failed" ? market.message : t("点击刷新市场加载远程脚本。")}
)}
- +
- {scripts.length ? scripts.map((script) => ) :
未发现用户脚本。
} + {scripts.length ? scripts.map((script) => ) :
{t("未发现用户脚本。")}
}
@@ -2837,16 +2857,16 @@ function SessionsScreen({ return ( <> - +
- - - - + + + +
- +
- {providerSyncProgress.active ? "正在修复历史会话" : "历史会话修复进度"} + {providerSyncProgress.active ? t("正在修复历史会话") : t("历史会话修复进度")} {providerSyncProgress.percent}%
- 删除会创建本地备份;如果 Codex App 正在使用该会话,建议先关闭对应会话窗口再操作。 + {t("删除会创建本地备份;如果 Codex App 正在使用该会话,建议先关闭对应会话窗口再操作。")}
- + - + {items.length ? ( <>
- 已选择 {selectedCount} / {items.length} 个会话 + {t("已选择")} {selectedCount} / {items.length} {t("个会话")}
@@ -2934,9 +2954,9 @@ function SessionsScreen({ return (
{selectionMode ? ( -
); @@ -2963,7 +2983,7 @@ function SessionsScreen({
) : ( -
未读取到本地会话,或当前 SQLite 会话库不存在。
+
{t("未读取到本地会话,或当前 SQLite 会话库不存在。")}
)} @@ -2978,30 +2998,30 @@ function RecommendationsScreen({ ads, actions }: { ads: AdsResult | null; action return ( <> - +
- {ads ? `已加载 ${items.length} 条推荐` : "尚未加载推荐内容"} - 内容来自 BigPizzaV3/Ad-List,分为赞助商推荐和普通推荐。 + {ads ? tf("已加载 {0} 条推荐", [items.length]) : t("尚未加载推荐内容")} + {t("内容来自 BigPizzaV3/Ad-List,分为赞助商推荐和普通推荐。")}
- + - + - + - + @@ -3031,85 +3051,85 @@ function MaintenanceScreen({ return ( <> - +
- - - - + + + +
- - - + + +
- + - - - + + + - + - - - - + + + + - +
- - + +
- + - - - + + +
- + - + onLaunchFormChange({ ...launchForm, appPath: event.currentTarget.value })} - placeholder={savedCodexAppPath || "例如 C:\\Program Files\\WindowsApps\\OpenAI.Codex...\\app"} + placeholder={savedCodexAppPath || t("例如 C:\\Program Files\\WindowsApps\\OpenAI.Codex...\\app")} />
- + onLaunchFormChange({ ...launchForm, debugPort: event.currentTarget.value })} /> - + onLaunchFormChange({ ...launchForm, helperPort: event.currentTarget.value })} @@ -3117,9 +3137,9 @@ function MaintenanceScreen({
- +
@@ -3144,21 +3164,21 @@ function AboutScreen({ return ( <> - +
- - - + + +
)}

fT3-3{S!?|wYV}dqn)6@C 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�vL^wM>VAqG0JAf^mk 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 S5t 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 xn*brBT4Q>wr> z3GMfn1l{}@V%Quk$`j2y?pW8GF6!)5qhOc8gEh$4XN^-{N`D$4iV`BZ6cZY?pA1y) zHdQs+#@iSZZZ|*-LZAQWbdiMX0O6Y~yPX#lvb6$e>A8(fZb?hakg^z zCxfm*JF1MBhnI-DM%qhocvWl$sKW=Px~xOV=0(2IJN#wP?yDHoOVWO%sOl9*t`})V zW=6Q*;R8%lKkbA#k~*IzQGjCL!Qj}>tn*lYWEtgE4sL4A2Ub0ne9l=^PTb~6Q8N?O zvbL34k|qM>21-k3B|QCR;upt#Hnt=ku1}_t58DZ_YjGY)&FeITwtv4M~g|=5?ms0qd{D-i0X(d1*L1%DRr$|ifYRr36 z$=eI>B}M%X7{)2?RPnQzVC=21_B!*9oZO?(QQV@!e5ww?^3+YI=SJ@yNy4APy7*3$ zlkxMUr1uqTK0a^zym*-IxZOC}jXR@TdN8gI6PKw%5>F(!t{3wgq<$a8owgJk|M=qh zJEK_aR6g}GjtGxaqi@i`!&zDi?b#6i%%-B^pA58ae@@S6qfXz$s1WTyXAE>BL?2=- zrZlhpa%+(OY0haJ^j5o{WZtxK9(<`SPu~pI9jH<$63eO5iTnK_M@iDs2kLZz4l++s z0$)~JCC2Bc#GHypZ5;%YkiQ>mbjia6b~+%deqNX&1Yw4r@{kl$-DEAjwx29?-O%2} zMuNLQ{>tk;iuPmpb1)Z`BcW(=>tfHO0P!; zL}f3MJf=&|Bj}!A7T0R>ahu0(3FB{*zHM^qJw7wC3?Wms{sbi<3AZV6UZMu9QAjuny3Z|JGL;U zK9!8V^yibT8TS+adUR-cbg|Ah5%ZP(0SKI***}l~_@o1jJb`sW8Du7!f_>S;)}L`_ z=-z*;BXE!WM~dg-XF_}vR*`F4g8cMY4V;oY`tXPy6mxLv0d+nJJg7=>8+|R#+^yAC z=XO=39=iz$lbLLE5}&-3QtlJ7xE*S8v> zkGFez%H>kZ%Bk#LfSi?j)?rvW1w~TLn}buIFXnQ+zPPv|*3d6CQ1Hx3`{Q4?EVLQd z-@aoupBS)JyJ7U!0>u9Ysr5T9E(*mos;KxmS>H_TM?~6L^{;?Qlm6rLFDQFNK0FQq z*JO)wqTd5??(jyET%c!$=~Lmcr~F0H!Bmm=y3&2$)~ZyPJ44*nXelawbFPq;x<`4H z=68AL4HW3iyPXeW#^v#Kt3uffA_T$Et%k?5B2#kr>Bg?Tv(=KHsj8@iKHX|Z%>i_Z z?wr{XfA|jsZ3UVWh3h6l)Zt{gIlzO_ks10PjwCXz`ThD)oRJpmov^C%tz@Rk4b8E8 zxOIV|HtZ#Kqs>RRT)ejz0@pT&b7NrFO}?A|7cTgfU#ld{#v=CW57Q}f_%`k$mAy^y}*x+qc+S_ccdr& zerxg4|0cHj3Z#;#14^iU2O5f7hf-ImU6}OG?2iXTvZaz*VEwecvz7$O23;&ro5-xfYW1n5jgbsri;tC$U6?` zBAV?_@qZRF(zLdvqvJEBEp7)ekau;U#JC6kZ395}xQVW4ir95!Mm{4|)hE>@4KDrE z$=WJUq!03&P2J^!kkEjtXOP*Dn45|4?0I;lqH%Q2{!`41Px7|ZsReh%bW*0skBQl> zxI5)>j1OM=Mp(6g3A=^s_rcm@nNSL2x3W$lGh1P?O5BYuY(YX9`y9vG<~`9w-My~% zSISLiDaeF-!5Z;j#A(9f3fz!fqo1Zt#1jH94gXYLI||GrkRQX4_v(0B9 zg#$Z2;}{KKQc$1@dN#SW2dy!H(yE)hVSBw0QXP5ybQ1xEXj<*LmFmh zx?9Kn>r!NxP7ZF?httw+mvyD-RD&O8^#B_22;;N2G&swyuRK}p-SqR`YSZQY`9BtV z9wgn4F*&JUC`~`;hxTf%Lqm_>+RvATsK*0NQPfB@VPd;oRTGBgh~;OrId&IXxv|#K z(WvR#J&bTYIKO&C%GHPTo2*9p?-X)y#{^LZ)lZFTdjTYDZOH_Jh=3LQ?+HCaT0BqY zq)+T~+m03Kat#nh;_$0FO>tvR zT!3F)g`P!uIQWZRv@iCKuV%CV@-S9K>z>T+5Gr4<3gwnhfsu+gC}ScRb5qfnZ+ECS zVrVRBav{E*>qo@>Ha?EgU3yb^rK!NXaaoftUi3AJXv?s%Zz&2$6ZCe6ZN;G zj0EpUu1jqHju?B^&HwI7jdNLt3IsfG{Q*Pv@F?qqQf}qrZyc#w)3D{NLfGT&o_SmS zoCqD%Iy>pLWwB;)?of%m)uy-~AyJuu&`;10UJqR`@krK!88)lFk>j6;{rjib2akyn z-%acOu-l!c>2S};dB({;dlsU`SO5|W*SY?Rw7~%oVyHn?r)o3?{xng*C!YGI97JX5 zM~EM-hyR}F47f6;Z2T&B&E!qp8%Fz~f)5KhwzfRb+uZT%BCko%b~TPk#Moea@gz=r zNvi0k>^MRHB?NlH&t(IA?S_XlAj=7cV@?6Br%Z1N^NvJ^gfFvXroHMFnGsp)`~9ag z;OZy^u9{fn_yj(o<1`qjylG>@&#mXuC=x}=0~Sw?nkX5=nlbU>tC6es-U)F#3Kz2S z_|vF@FwS|o$}ewa*gbi7Ji18ZI+On4_gRgn6JXdoT=QRTGdtV;n*$d09sy2k00FaC9-+pD@CawG3P z4zrrLXGO~|uhJ-@Hw$Z1V|ENstr_%ke&l?6bWcI5hW^{fyLM;vtUDO3|2~7ZWkqC) z>G2@g_I!Ws$&UKCo3zu{j(>a{8RW0ip>zC!g{mLLN`~Vb**mL!JF4=If=0V+1b@XF ze-@AaVE%b$Dgk8fB>u5$-U`PG4x`WxxsG+8$M%xDuh#YYu!wNWi>&-44AHE>bz)D1 zUZ^V4Q#>rnnc`PyJiaFV+tm2iD5=xMyJSQ~uRx`52Z;RbF&~aEptL~9O&hP=!{J>- z)SBscQiBiuw+mM+wLkvAd|9SKEcQi1&o_Wr_I>>kPk*_M(VBYOXOV{7H$UDlwNd~z z6jEj<;~E6jMeLl@i&}4R%bi*EbscvW{bD@-&X{HX#$omiLAQ;G=@N?V$=Sg>YYwX8 z^8B%*J6f}ySA*VM{rH3<7Kkk3gW=kMNsyq(kRRg@^|&2ibzeR>fnbtni#oRPv{#IH za~uQ(w~OI1=nKk*#mLP+MgvY~c8ga#0(4l7>8^e}Ey?RWZ>S$Syd>gvI>{ZKSq zovxWc2V~-2aGql>a+U=tZm%QEN@8R4%H699tR_-9JfZv;rx(~DOh$kjpnJvR2YOLbUHWS{6=37=i6Mg#!~FC#}B>x!;h@sxS{wV#>-($({} zFX-G=!-z7tm*@98nyyvr$<}!Iu%~|Q@14l;5V zA^1WS5zS$N($`|oyl)bLu2DfXP=b20pQdT-&2c}R5v7SoUov*Yo%uAQl~m{~aBsDw zhOI91n0~Q!IUpw=qXjHEK6qZ5wj{1c zQRr)L&JMU_e4GQLR9@<3pC20jGXddy^#x3v?pdJ7{#jo9sldSXD)(Wy%A-NOd66|7 zdFcVUj9|)57EiONt-Vz0abcrQf#zjv|8YR#p3MI{=8x!7_7CJr)Xc$_;PD&B>_Xp8 zN~i>Sts(2+($}E>FtP!ajq2?G08vHI{~csO$Z`LRdRzOKdK&>jLH|JBh2Yf=&rPA1 zM@xWRe~b(w0t5)HS$hn@CxXl&m^88CSf?{gZJn0}C@sJIx5U~%S#heOBg$81mrE** z-zd57f;XM{eouR9i$nuo`1`*BUnHd)6B~(4Q%KAQ}kMnOu7q1FpDT{1?RXTxJOUH-6?2pYN!!gsyjs!f`G+=b;8Q(a*vNl7^ z{!9{i$n6M33NM)7^Uj}Z;+3;p`XY^M@H<%z^s@CgPV+t#!b18oQ%df*g(z2ExE1mk+iDE%ok|*(Y9vuSw8IjHS73H66 zww8HeWT&3#6MpkIA?{VPs5T_^FYK6AFivgRtnMEOHi3ee37{g^JR`Y=h+iLFG>zC0 zkG|>z>8-zm8Yl33%TvF$NTLBFMxhl;Au?z>vcZbkHhufKDfbm*SDBnz&Y#hBsZg)x@ys8%>K5%P6X$ z#iX;{6{YGN#6CDjxQlsIW45KA03;rPL_n2(&Q_wSd;;R3>q$zMUTvMw!$m@u0%X{J6-bHI0BF* z9aNke6Uv#su=m}h;7*T6gY*GL+wDQ3k3%>&Vj6|0hp{vi)v+DWwLMAU! zz`Yz)fU>i&1&H+mA^ML+yE-2~k-ga$jIFX7dod=a+P*ig*`ULJsx9WXz=c_Nk*>|- zi{w@Al&j{aUcGVBS5#zm^5Gd91C3Ze<0Zoj)-mbS>(X%kNt6|7vZCwiT6r696fGfE zr7*Kq_z^htCOcQEwPVf^85M2w%0nhy+M0VAuf3Im*_uJ)wQ6GokFFStQ`W%8=sq3V zU2CcqxEL`AQ|Em&D@%m%r|)2#v(J|PytDy_&QPGF_T2f>>k-#}YPH|(SA6fbDy7jm z3>!Ci4@@u>Gk^=bL`J}yM!Y7VWw%GaOfhMn`5l$R1Q85mZu02#{bLRTNG)bVhI2Mb z)2~un=|#x!=ip(R;JAF&-3?UOSBe#>y(7o%mT$L7POZoV$uHxbmQv>^z4p`tXgf^U zu>f%ZlRy)w{G-ngdm~ohs49S zOkR@hXkp39V#g)>{;NM`E2Dqq1)iIAUQ+$^4SErz%U7B#EY}R!)Q5a|q4Uv8Xf{1a zN@HshHf9hSs7y0U)7r#r&nJ=mY;=e4+$pJ#>2GXq#)sHI<{{p-Xj0sFG*?ZejDqtm zWAWLfMIHVm_9sO}?O{(C(f1EJu#ZV$?M>X;c>gC#D$mzJ3Ghy6E>__C*RsdM%oAC@ zkX6;wC^?d97{PX=DnogE!u0!EgpteJ(q_7|zFteLJ2I$!q99%`Vt0m{UeK&bZg1?O zQoy#%S=q;LHS`sC6ngy6sh@`n17-J|S~R@Fq_I8r-G0&-?1`D?tq1k@>yse!(U;QE zyM?P?|C)AYu_;@#M+3bWy?IgbhInputdP|MXKi7IdxCjR!iOh?>GFjTgHmAw#s?m7O}krEf5KYyLa{dnmHq7s5nKo( z6Jvqg=-68KfpSPTbFZoD2k89+WlxrGe2LpjZJ0>x%}Nrs*!GKKk2S*1eQ%)sf}<8o z{I_@K1o~-)y?~n;0FDr>L_KM=&_B;X&mZwh$xK^7Jo|av?Q=gsPoIOFhA)QU&x9ry zt-d%OCEklJ{~Gg#|K{^Rg}-hqJ&(ybq^BKhs`4YEx26o&ot>5tNJ6Mg3ta$7fH^^( zO_dQPNqUh&qJA`7_3#Gx|EPOgA{d1y-yqBhJ^qsLTOj7;BfjTpCoTY}B4hj!z811N zkCES*XfK~)(DWDoug2=%8iF=BQq~m z?R(}c$dPVIOLSwbJWw9zEMtAI2kntA_$9KTS@X(q*8g3OK#M>b=EGA}W!BMKiQ zrCZFVd+%y(tj_g}Vd1Z(*6B=szFs9m1kkXVVIqgM6Ibi_z(z8EKUaMk^W&$^Jd@&5 zmEREusI}$7u$PcHbC)i=fy}`xQWZVY`FHi*by@^#o||uNP=ot4;0np`OTkAY?q&L~ z%|BzQwG2OOpX1@3wC*3n0y^ocJ(?Ef>{evbE*o|2^9xNeWiW1uIz62UExeDw+;Lt~qASia{?M4L5Cd z6`I(6kK=|1q1#(zX^Zev7xudSZ76Q+`vZ9irdwIrrHGcUP-T_ zrNHrBluzQ*tEvLs!s*dj5?J*U*^syz6qs7tC61}V!>~=CW^m^GEu|R-B%{t?m5gS6 zkgSxj>}+mEnv1{II*(gAK?PA@3UT?()VQs-G+5w#!n~cQaHewY7l<_x`V1es0 z5A{FR`IG9e&Z>@z)UUerIj)C5km;(BvCj3sf?>GdT3$#K`OiA>wGME zD)n#NF+23%ohKht?)-~ihR{qqx=k0!+^|89oZX~ZC#s77+IxOm*dwru6;99;rPTxy@Ppwo!mqCeeD&qxul5X6}D+niPE1-EL1Bq zrT>|jO%i* zk=9$yDxeWAkUs#kYOVKNh%U8rZKLA5-3p?bGs$2m&CMkjyisiHA_oQWyAU8zyDZ){ zteCmUki|FC>Wb}Yg~&4~)me>ZYHHW9)IBQoi}2fa6`9vMR`_i=_c<`Jo5$?P!Rb{a z^c)}deaC`NJKww$j}71Mo;i4SF&w2UU&1VNg%%VbyrqmZMQ{J+PZQzi2^Emo_doLW z!ML&VY%JX2{|Dm9b|f+%H4|f@n7QrnX*A&HJ4u^R5#-MfC85dBgjJw}f2E0xTR$Q( zwyEA2kr9)F*P9N|H{q<~a}2$%BzjY_PXU7z;#U=8On_otV=BVmdi}AItz{(b&+MHu z@3VdZ|AQB)qnKFOk>s1$)3kSHq&eaTvuOtyh+>uZ?a2QX<{2n!uY$)Y*T!)&W~zAI z%_Qx^g8hj3J)4J3LXhBk<>?DJzYvE+RmvFSIsQ{}=b5AjMHf)@3r%Y!2& z|8WxW-Z9yy7}mF?+x zW}qSn5}}!ra5hKG*)SgU#>A$|?gt8MyJ<5hxw}@0|?a9r*3N9x3U& zpq+Qwt&%D@)5FXsI^ZU9RDyX`e;i06t%A5yuH54flKRRTxofE>-?bR12n~cYQglC) zXAWVoq3c5%&L2Imd*RH}Ezj_hh7Vu^hJW^(nFV(9rvbidpEhWyg}AEh=(XyB z64xtr^+~G=8*l4ad_-x=I9s4YscQkWs7EBNCIYh3-;n~Jm~7ifxoT)1dBdpy6yi%V zJD}M*1>)$pA}agB*$ztba{Kad#+}#qYt2Kt`7hHdrKe|UknL8u08uEi0FP9orx**y z$@r!5axEU<_U1ONl78!!j9G!i>SgVn7R=YeMaBp;Tf=h)LX1hP?r=y+1>`c1^>l&YO*`Q3ZrfadposW!kH=@5vpM8?; zu}w&iMXZ3FiklQJvKKxL8gAl}lfS~wCR_brQ0H3nID-_tygq-3^O# zlXS29c>lof(?LxBrV)HvXP9Rw8rb2=p6mGI(H-rpDs{;dZw!Q|!xsAbBM)A@3sikZ zHYZNBmyx&b)zuFGSxnI;)1t8p%cl*k)2~2#`N`loY7?1kAY@YVRgwT*a?xeJigiuZvtYE@8F`(Ym0%E671T zHgO$WoI^c`MUtmT+U;D>SeIMQY)4LFMFVOh--~R;BY#^p@ARIPREORffQypPD*HbM8S>1NY; z67{vsqWPKCoj+F7?Bg^{v4 zNRFe$9))S+s1Zh2QOS_Ed~G481I}Wr|69-T|9nywW1xM3tJs(F`qa@?*+?XB&O2ES z;pW+3GDwHm?R0XqCL;v0zB9bYGjryf;L4Ieg>3v1E4QB`ve_>(gVtw|6A|D{JXEL zom(sa?#o~o9T~td9 zw6zrR3zkbRdt%YYGFcBn zP~{wH(4N!P$T3lwPfAurv_r*V4rcjVL9h4{|7=l2PHY&Mui&($(INiDAcMs&4n>Ut z6CczEii_C@kHLK9Oj?FLeg;}If4p2YVTKcP;(_oW=pC?D!70F!kEsIbj`XCwK;=6U z&5ewAg9hw|D{D2|h_?^Z9GGljhrg6t-l{N2cc2i*tYa~1%dn9qB1jJSj(tyFAkgc! zWL}Eh(#9qGz(kzNOX(L*6}1N{Gj9{JOo$R>b2uCKc%# z`Hgg#p86Tq7L+5&C1;NDbQe0;Nw*+R*M8n>YGLz&E>(YgO*CmH^JHbjo5Iz0K&{_( zPYpnj{h8Qlo?(j4tU~cEr0Rg%g%!62>OYG4P9eM#nKS{Dv#=gCv6$ij)JYwMASw-W z%(@Hvj=402#5C7=7v_IGpK|AOh!!=Adwto2e6L8+iaL*4i}QJX;(lwRlHSP2ZSnUF zF_#pCIHMr`42<_T)?&%^c*GVRlI!s4V9@#88%#>k;oZC^g*GWudh}%6P{g&MR)|ke4C0haVHec*n`eE;x`EKO1a)$F)&F&P>_ElA z3`bTpkNSQoES+LQn#X&G3A@$vMr?shE?$wUY(`}=>s*gss|8i)7%X^wU;5EL-(xi} zUb6Z5IBBRRz+I$&`9Bie71SbqukD97oGElLu{tLXeCSo)IF7hfib_XRK= zZ8yxmK3|~UdKn_!D}Sm{2#f~{=(S)TMJZ&jO09Xv*o+PFYhP%%ck0wR+l_a~K9vJ& z)vA+>4&%%l!!w%1#k_)cjwD?X9T(Pf%~s*2&|DNouA>jCT+&@a8_aZD?6W-l`Fp`X zfU3wNX-3y2hwkd0xB7&r*RhPQZJzvLU~}{k^;)hK&DpWVjkJ3z#?5-|vfUHyk35$) z!ll)l0C zbl)Z7=;t18RxzFnt8G4~Uuu8DAdj*rK1Jk?p=ZGsiQ?Bw?NbD4FJ-{dr-i6vGQxa! zQz0bR-KLj_>mF9$aHalv zG2KP@GXcPn%>Y^C9wOpen6as+_cbeBqx;!?Q)k|%`|D&gmfS#esGg?W9c$2YE$+m0 z^Ag7I)?Df?v$jsBd={dHN|?ctCMnLO^?j*shSH>gdZsdM#5n`rz-u~}{eUFEcux5WKN?=e(jUqv2(D5u7Rn1@>Ug~*zr*?PwIhXk0g{YgPjHCh&SHLzL?RF+!KV40{75{DBFmOHq`wdgRHsAA< z;1la2b7Qe;gz4v5>xGFljz(D+2oJTx5j?5aF;Ete^e3K8C1 zU!D;Ld*R8-vvAvLwraRDE7+EG5n0$KSEm>5V%=a^EqCc5IP1?+C6gz(LPfsaF9gC0 zjMrFB^7o-O_5tx=KhI1L)>ItZJGs;I7u9zt+IM>Vqu@7?$pm;zmT7}xz~>~{?=S8Z z4^9ixW)rrgk_4mEGqJ&ukQLC|KMleaNN*0l6y{DEnRGf47Z>QHr7s0$@2+%hn89KK zxXCTb#$R8VoZ0vVhRg};x}LumThtcB!FcD#hD8(+iiby_^zbP=n2YAQ>knOq_&>ap zz5V$Dec&kuzcDCi9Yjyd#I{8A{Jqvde_!l^rre+ zFqj{@iKRj5ljOo1EIebpHze?x?D0lzz^ST*9EV)q@0;7&s-*gZZdRirCp;p}`+mvG zH8V0XxpUdO?hdE>PlMAm1)Kgfb6H?a=?7&$Qe21Zw8V(>tws%?o7l9ezW0uH=8aW- zge~a01Hnh$GA1j4j`EcBsF7gr>F>R*bm;eE9``_p`L5x48>h$VgwxRc{dRH`DXK#@ zKxU-KvslCPP**8MEGNb?X8Tg)=C$|f>2^2}=MFUGLMTO&DS6+hwrap-%Xv%OV)2Hv z6$p8;QWs$0@S*u@nVB=&)DCAsVCAa@swRf9RgF4lO;}<+*~Fw@)W5Lgaucy^0{I&? zn-!?6XH8<%13FK>)$fD9bOhd+b?Ect2%V4b>Sk<}*&%+;1xat+SsV>i__U^Q-;ATs z7#}}pUUwG#pp{=ustuqL)eY|I zbGi`VNtHtMY3938O^)~iU*)h++4pY+p)XKbCm(rCcsAsjmT`M@ zTfSQ5D<|E1&D%UwEkF7`LSuy~isTl8NE4TXtjU+`k7 z&L}5x9zKJnW5~Xa6=!5>qRlCKMThH|4Sho6Bgu4#YTh_CknscEMi0T6&oqN!v-dpW zM~O`;SS8_{Q04e80tf2=#g_<;kb&}I3%@u#oxx4Day+ZLbLI9|stZbdglaXO$3&VA z2~IO)lWxUG)fsGMLoGlk_WTcMEbCtz((o(nfTY-%CKig`+!iM`F5BW-G+P4Oq;5hoJ$cGR&pz?Rc?~y{^{jrB7#ozJb*^>G7kjF8N$)@y31moLrsEeyK%3!j;7`%(8a!D_|io1@;h3rkZ`+X>t^dgi_3m&z*$h8o#!t zc}hu1y}M_rXva^}=+9_zi9|U0LXgDg-^yZ~zV;sBQqd5^68~BBUduEs#Cb!V&w36M zY9U!Ww$86ezgz0?zOv?GrCTgN-Js-Dd94d-+mnvEi8>gp8FF znr0h~qK*}{;U`}9fV%+x;35zSe}n#It!kpM_kdDu5dHl;ehYwz|NMPyVh8xop~N6^ z{c(shc>bOFgFeYX{{PpThR`ILl`OjBv#WB+Bu5L$z~4sgVWzid8b9n(mF?4%fX2os zHsMp?MF<39NoVrE;4h;j7~ri`Kn`oU*!~IEI60b(aPRMsT7S*^XkaAP=%oTC4KTLU zq_88p)TQI|3!ou~*cenen-r)3eRCkQ6?P0=;d)WP5xL1R`6F=2!GW_`mHZq82Zyle z)1*=SiF?4yM5WB7Qd^sen-e!-S(su4LcH3)6|s3W%CH{ze=Mvyzzru0E3*f(*V-tY z1Fk!aVI~$?Ut8zRFTdhsG-Ozxh29CB_m-LP2DHR1R(9DJglq7vvYBYs*4EMUe3Ci* z_4W5*AIUb z{nppEj?Jm@-2(C_y8rP4HGH_Q`DoQ_hTVgqejP6_M^fA8SvLOH3C)asHP{HRYv1N~ZFFJcUJ%)%`TxK6zC0Yt_w9S^2}x1LHVS3U zE)hdzokaE!*_W||5Mc(Th_QtTLzb}(DMr~Tdt>a&*oy4NZtUZ^zrXi+k9Rqqf1daE z9PjTqp5yz+{Bh60HP?OJ=Y3wE^EyB0=S=Q9mcU-fD-y96V2-;(e`b$^JR}5quGOqh zyB|(ynv#e!82D51;Zd~$x#DpIcM7BE+`E|Kxi&_gE$lDscJWdTeyYk=KHU01gxNPo=N$e(NV@|fwPM}x0!S{w zQxa`ls>$*3LSL&B1t$l5MQET=<*{YJHhN@PoWOfGO03#^vBowZU9hy-F7L!hu9eD=gN0k z6wi{8DDY%fwCVi!2{U4)0mDlQK8tPSnFq{xuqswzRzF-@qYm!Jts(H~iO=~MQai$^ zEwH^7NQ6qT1EE;(;BL5C3IK8+hC@4>XBzr|1Bw?XAA%v} zORB;RLw+Hm3;MWAv2KlSQ6B^RpLr!~cXApf^*6lCYn1@dWpz{o-}4&6kITR;TU3gy z3Nxd-;c&r0sy;i(tmFNwGkXA6R#Bd{E4jj=@=;CLNAVsr zs=FY4&>s|?H=n`=>)R`vPNf1H<@`|l03DeB4kF7MT z3VhmZBp2lWH4v`%bM51%-V`TVP!3XJ9mNnjcBlyyK9wf`=k7GE3H!5;5+!IJ)<(}S zTfQm4;Q|v9CO#d!W6R*vGJvlX10y1kp=UOQ&_B2z>l^fy%N@al=VWvOn7$`2c2P&t zcz2R|{YV**C<^ta#s0QMIxmAkUHI~v5dxa$l<#`!=3jwQqcD75^(!QIR! z2%sL@qGc}mxmWp#UHvK(tmgtWyQtS_yu1AumB@sF%1Q(3hcFG0P;kZOho-6P=ovmt zpmWYNklB~%X2+$hOO01DU&sa;@3DkD)Iqt>%*91mGi=I1+2p!w@#iRQ!+q(G9BZqe zn|bz2F`d&9dp_30Xi~o4Yiz{TjfwkMSk^Uxa-O!TH+SvqlotUaVt)XA z-Yl9;?aj3$U*GKMv1V7L37EuWZA%#Y7L{$M3UXni6Jpli2N+BH<}`3CHTzMBqEVN< zYI1eS#e3v33xfPC`na*tL1e6w}FKg)_IP6{R|)I9vVlURW(YOEi~D{*vJ(%64bFDLfsY((o1>F(sT86$qb}1<8grEyMExmD9^J%F_^7(Nc}de2#0t zS@#!;79RP=BFyZ;m;n{72m6PHz|5GMpsdG_ZpO+*Tnj54Yv&mB?F8_4f@X9K=iGby z+fS7<%ti(Q_1}@6#!9n@;JZcpZ7fExe$RE1W0m$7IFs(fcNP4vXi@b+Kp$2EhBgX# zKX7IRAKJ$DoAh85{4UKC>kugq`jg_s$-`Q-C6i{@@b%~Zcai<1No?W(B!XMO=*X~quJoKJR6WOsN08iaq^#(103tK&;i zzb79|7I-vx;DLM0TKx&4IgZ&WuLK_aKMNfGW&i(I8RUPJ?$6)j{6}l41LOt&`GQrd zfAJU~m;bE;<3BhV|Lw11djCHzx)Xr<^0Mjvy{h>C*&P763U~y`#%bHEr;U`kX)2~{ z(m&Iv_UphGBO<( zQc1evp zv75(c#X);}z?()MGVXy`n3p_SHCD>UmXhZ!JNDj~y!X*mT*%=|PR@2ACoOfV3{qv? z(f)%{ekMotau9!vxF1GY{@|t<1cpXw2 zZ@S5woL`pt-eX3GcSxNHAfM`jrtXyG4E~WK3>q~R-1{J43~2!s2ca^_3$YD-a>`VY zT19~NdndX%gvrg*LwBV>XOj5g_r2t-dH-~sE7u*IG&}hNvROv_?uoBbqw+TBG|1ih z2ZygI6xK~lHb!fBk(a_*u8) zzV^o|^UGaZFqt)#z`a9L4EbEzDM<)r2HgVOnQ;tjaPL`Y{mQbEus!j%(K!DA7Xu!UAfF9 zXx;KEXcst7K|v*pq*ASdHr%IiPL#IH#Vq|n0|tE!TOkVOQjUjL0833&6sYJrX4W!7 zWsyox8f>}t8Qm_QIirljRg5#9?6h~=v|}wRa4?wm?}uIILI}PGy>!tQ3(%1A$9hK# z(QN{ifx%!F@fwY(_eBcHx66#TnPcMzsrrn~Zc1BfH3Xb#D9B_=yK3ej{8Pqwmm^_j z{eTY9G;-KWM<979QxHJt*3b$e5(ADYz?y{&LY(`cwT=f^v%&0sx){<0Vqmz!cx9O{ zN|?q;#L$@aBEub-Gq;Mwpg^uAUZwm9J)CMf$c48z&v7kym#o2y2ibi5<`TPVeWen% zG?uP$!x-|8N2*Q9A4_`BPU;g4+`3!2ARH)1Mh{f1v4Q8`Tr zhvewaSc5LeQ4N?#k}O#dj^0uZOOkt@+qDeO-rv3+Cg}0UA?DD4zL8vpJ_SMJPeIdn z(DXU3x5E{02qX{`P4QYMNf^LT^Pqcpr;~JU8;)_IIvuV`+W1`X(I8c?v6+$h`P=20 zg)&cNHM%+l&m}-p=Cn=Qp2F#dmu$Kb=bOOK`ClEApDQ{$|vNH%#z4k>tRVou^09qGoeWm{j=OLfr{jXXwagl)Jk2U zBf&chF7N=gv^MTvaNXR}z2e~cLYA!F2B4>lP2sxZfMs5eSDfm_@GZ&3@nBSim;G+%TsRiR`#u;+d>*;1r(&O+t?}mIby)kLZ@gP;GNnl6Xk3TmD;wK< zLKZ`{996vrP4>Ts{^9U$mj~CfgbBHd^q8{HT`z|WaB1a&3VT*a>Jv z#6yMJg7V{fkwbcDhv~H<-j>nsn(hZtKodLq-yKV)r3Hf*`Xxn~cxx}y;utyC2^OHS ziiYq5rtw>jMiI#Z2Sdf(m1v{DRDATHMuxOzCj_hfxDxjEt^gyG8WR;a>H0{;PB!Cg zBMRP$HL-%7XZDdgLoSKP_oaaioPs_BDwn~X&0BkjQZV7ZGhf|9U$^+@07E&=;z^9D z)@0lV)c0ZJ%`!;|EX8#}n}R(NabNpght%^NpS|tOS*#FrEhEgz@^vsZQ{r?ER!%LN zLk;BrFied(a*c5=Q8?f9c@J32&F@DyEvuLh8w}Fq^rebd7_anr44UBc(y>-*J>el7 zO}sia+i{-TOQ_mexgw$#(vOt0twX`to`vB!BnHwg#a`9n9?kT$_sFh#Taj{xG$U#6 zuzor4YCakdBve^!5XLE;UKGsgbI)(n0Mpe1G+q4He)LiP`>L5o_U!GUXw-B2uTdY< zXmX#bXETVL%PykjQ|Db8ipT~871lyzbb^~NLPX*)-usAHF9YhK7vmkPq^v;S3h4~v z#FSD0^V~enm|3f}oS?l>NX=!C#E%;n)Sy!{NG0tF9j>p7O>8EmIA_H@WTZj4AFylU?1GJX5@Uech7|1o)x*+iDjOaC5)|OhETW zbB`?ADWSjra&vYqouZ{tzgrz_=*$;T>yprUqxZ@MR zGlfKd;VF{4qy1jy)34}-6qt7)^Tox4?+ck>X|K0hJx{W(c-opUf(^e~OQ{r6D<3VE znkrrUpaLoU->}=jxv-Y9NLHLEt;NxYK}N3 zed0os9bkO4S_~yB7JqUxO}%(<{=w(YnB$B%LcaY{jbqhr>uRdbyv&3YPeNNri9d0e z+kuf54s0zB2n$ffe*s>m5q!MZHT^@{YB)b{+}vuk+pE^sN>~~7Vg#VE3OUA%)*csE zpVjY2io+GEZ{iwEN=q(7Ro7+*a!O%QRluD5_Su%VR~H9FH0*6){V!EQ9vH{EGPxvmg(!2Ki>BF8+U zuK&trk~8tDwg8^^AOKE`E4q0~-v4>TaKD7+xRB<3L;tI~gh!TE1i=x>RB+3ywV%p^ z4g3RkFc4rB0j^vhF}at(&^Pi@eQTFy;3b)`uIcYG!5FWCHR<~eFu{%8nNek>*N=ai zCtCXK$$>g^hs|_6w#GScqcYaU<1qR9IX4PDJoG?sd!0~qO*-(_ z7MVOgaI2_N3^o9VO9EN0$X5l$}yUGQ6XkOIF#|*a5As z2Idp|iVzWhG7rzKMs-hb1B|NvFV!%Z@hf_26aY}n53k~K3kk*d6=~bgsJuP}l^mo` z1NgT>U;c|wX~X^3xwDF;>#KN6N_Z~iiyEnLyU=rE z^uUupah8{gyu*oIUnLn)A{Zzq(TN0Yl#1|J&rR?xU&=_~p|OR=in=7(V{=>%u{^Pp z@B%22K=&XemxlKY1hA7MMDvV@m?uFd0J$sS>nUiYaTimi;nEpoeReKuyD^pujTM z3P0{@`^{6(ifQXOdu7_|DYgm-veYAB&tm?A$fAuWf{h~oO*Am!Gh~L&g(kVzdTXY8 zwdRGmqELQvWZ-QOl*+Ws#-wla=^oS_iGI%(E|SHYqRi;&exrgX{C;F8jsMDFboI=O zMZ*@DqhnxR%S)bwj$7F*@W8|w+H~1u@A!}s$=2zuvp`>m^4${ReF-m&I(vppHf<0@ zH)kepN(1hugqMQ6zI(h#-A=xd3Yg{60eZ9eFeL$_ftk?Zt%=lrAI|t|7PWi*SRe=} zs7(R#G$CAAME26gBZ8dE??i@s0b>uF8i7Ys(@p^r2%CP5YT!`*dIf*;IMrwEc2p}9gXt>q6&2czZ`W__ z0$!r!3l=fsRj$%GPb9oKVFF4jZMtf>K)Q3!z8AQi* z3i0MnHVt8faQqFJ&$P`+vPsxF_mAN=ik#Ng18Sc$3sW_^t-y~bd>)~Eg`A`#72rua z?gB%S_#GC>^#>EzygTuJ$v?-s125$lg`kFok>jYm#6 zkmU1i#T4ohd^09@o;Zg!k&J&-`|P8BOj$~Nqaq`Jf7wc}#vnS{3r|5c=neyF7YJYq zKrlOkSa!3ys8y?hZkV{aEDB)-v~?&&r=Z8cyJJkb7LqP^3L@ER0llB~^Pp+@L|o91 z#x8W>^j%wbr;K0zyqyKE!gd1^2B>>5beU-2ujt<HF2TAwF{PqabO7jewjJ2eMi2$B81t~3wiaRP_Z3>>g z<(oMPg#??~$2>8U#p=BfH(m0x z?FZ7IeOA9wB3H!I;E{2!!sz?vp1017y(?Mj8aM+zK{^_5{62E**7#cJNN{UxT1;pn zcAk1cc}pcEsF&6nB12pjAlYo6kL!V~Q|oWdm%Gpv)C}IxI{bF61#KWpk%vT2-ZRi* zgSt-FNY#5!mF|1|rgTKv-4ctR{pyL4qbkwR@Rsx6sQio@R8Mrp1;kt55vmSZ)B(3C z8PM(khk+dU=dVnvYE9twPYbRcP&KO{QZ1I?nZu4>k{+5S&d)PubNgQ412n&4L572* zUof!l(uHxU_H{62U0^D&3Kxd`X#Y`9fE}W+z3n}MRY!Q!JnFb;P#>QW{JDr2$m<4! zzxAetpA-e>33nJgRa{glq`BMjOU#A}9D8pn;_UU)`ODOBN+v zzUc8>#LFe3rPDP8j(1Bec0P@dg7YIq-t+J$++|J&EpV}j9T|06VlFjU!@Sm)`pa#a zUC+JtcXyJF96h(tqv|O_a6*s2g^ZDo37A@%&00(p>fqBfZD5y?1AuatPdsbV)+Vd;nP?1wj^5z(DXR)OgGUDwRW%hy8b5eC zeiTk=GCUXrr5a3Xl`KuW)m~Q4QzVA@?+|nsZ#;CwB{n&w19T@25xQQl5wo*~r=ao_ ziW5?yF#CTtg*N<${J}peVgIwe*GyRM-jAecTg(dC3a+k>mFyVMKR(HyXi;1(yF}!d z`f<*C9DwdCMmr?Ysb-jFex6qysr%->X;fY|^V?X7wjy3qgt)lnMUlnXM!rT$&9@K? zaq894eM|BJPeRP@lIbQ)4U8D&vN=ACJ0dl<#jUbPQbM#&$kVex^La=t2q^k{0-S}d z0Mc>*gsbHi7SDCS#dVwB5)j#+|a5(Sc zOXHR27-%6&7IKwT$Qs`6@i%DWuS8>!2f3IB^&*=t0q5z=cP)```?T~IEZ^B7#ip7( zC9b`)bWJ|HFd)E@n8kyORy=#0q}he%@0>)9_Rx9u_tF}!ZDnZQ!KoSsIak^1d6o4< zDx?n!dCH{qKt-oMB1K)vQI5{MH9RkQ&_*Nj5G3w0kRV}r;-n#uUz`nn2dK-6j(HQ z6T`uQTD-=GLp2s4LceW8#7`92R;G*^y2-YF|A>8h{1oIq+qH%BTY&2Je?(H5RI&Nn zLTp`z?{7C2h~n9)qF5qx74lhzjz1}V&n!+`-#48Tk^njGqws5$TYo`!rogxRCRo+E z8zg~D=o{bF7jZpUqdTuSK|uQ;4zFh`uwSYJ=k1i(nhV`40aEb21dVOfE0ni|@jH;I z?WaJ$s+#2Q8W-&3d81a)+s7q9<;mIB!6!pyw7pHkGeq@D=PRGItQFJY)AXCQ(5;9Gie`xz1VHw8%4Y=#seqTrW5vCWvE1?v{qy(wB8#4aI6~z<1T2sp^xdKNuWCz z?`~(bXQmjCm$m5bU!AY6Ye-c4nx(g>PT&FdL^ne_q_oGXAETdnxn%nJtA^}aSw3ed zRX(SnBQ3yJIG>RDyQf)rW1qJ^`WNp3xs6&`;Iy+j>-7~82UYYhRzBB@ zSS78}8TX3g^FPqrh*2Kjz{2h-||)!@>s#{GVHCoXkh1Dg&^)LXqI%3fwltuOqh@B{62Vt&J?%c-XQ z9jBmLWXc$dan#M!;Ph1VroIU7d)@i3pAn6j4MMgweD)$q#2 zY~~Yxq9y)@IX|d&7Oc3aUXrqG$eCPIj6{egvD+bK`1|X+-@eVfC%C1ptv+UklkFWa z(yOmLc($^tLA<5ue?)`#u!}LE7m2VEpkMBdSjHTS*y4um9q4C<>>1{b?>`A>=covS zMT77|I|uTtqSDG5^oXF`5|eKDb5f3ZjzM8A=xlm4NKF)%YkMw-Az5jmCTlrF!vf&6 zxDF3kS{xYtbaK4TtmWB~J50)}8_41eKZvdVYpz%>VQMi)5ihQ469X3K$7RKFg8tG( zadE}#S3YZ9M;&0@gsCIrT*ykn{#*7w3xdx&kE#TUb$Hn)5CM zpB6pCWf=O*;HQJNb0FigBPHDd#=3lwtyw@(`Wv-g;Yyac@F)PH~e zUW31F;BOoF+Xnu&fxm6wZyWd*+5qe6*l9h@8Gy163S#!w)P3nUR`|T4><7P4!oL9$ C2$>cD literal 189153 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 NhH0xWE5kij{|ov_m8}2( From a73c5f4c5d530707129efdd3713026c787b972d6 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?=E5=89=8D=E7=94=B0=E4=BF=A1=E6=96=87?= Date: Wed, 10 Jun 2026 04:29:44 +0800 Subject: [PATCH 015/156] =?UTF-8?q?fix(relay-test):=20=E6=B8=AC=E8=A9=A6?= =?UTF-8?q?=E6=A8=A1=E5=9E=8B=E5=9B=9E=E9=80=80=E5=84=AA=E5=85=88=E7=94=A8?= =?UTF-8?q?=20profile=20=E8=87=AA=E8=BA=AB=20model?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 供應商測試時,若 profile 未填 testModel,原本直接回退到全域 relayTestModel(預設 gpt-5.4-mini),導致對非 OpenAI 供應商(如 DeepSeek)發出不存在的模型名而 HTTP 400。 改為三級回退: profile.testModel → profile config.toml 的 model= → 全域 relayTestModel 複用既有的 relay_profile_model(改為 pub),並補回歸測試。 Co-Authored-By: Claude Opus 4.8 --- .../src-tauri/src/commands.rs | 16 +++++++--- crates/codex-plus-core/src/relay_config.rs | 32 ++++++++++++++++++- 2 files changed, 43 insertions(+), 5 deletions(-) diff --git a/apps/codex-plus-manager/src-tauri/src/commands.rs b/apps/codex-plus-manager/src-tauri/src/commands.rs index 349d1a4fc..36532bad1 100644 --- a/apps/codex-plus-manager/src-tauri/src/commands.rs +++ b/apps/codex-plus-manager/src-tauri/src/commands.rs @@ -1673,12 +1673,20 @@ pub async fn test_relay_profile(profile: RelayProfile) -> CommandResult { let status = if result.http_status < 400 { "ok" diff --git a/crates/codex-plus-core/src/relay_config.rs b/crates/codex-plus-core/src/relay_config.rs index 6f368eee9..302bc977f 100644 --- a/crates/codex-plus-core/src/relay_config.rs +++ b/crates/codex-plus-core/src/relay_config.rs @@ -1444,7 +1444,9 @@ fn codex_auth_api_key(auth_contents: &str) -> Option { .map(ToString::to_string) } -fn relay_profile_model(profile: &RelayProfile) -> String { +/// 解析 profile 實際使用的模型:優先取 config.toml 裡的 `model =`, +/// 否則退回 profile.model 欄位。供應商測試用它做回退,避免串到別家供應商的模型名。 +pub fn relay_profile_model(profile: &RelayProfile) -> String { root_key_string(&profile.config_contents, "model") .filter(|value| !value.trim().is_empty()) .unwrap_or_else(|| profile.model.trim().to_string()) @@ -1948,6 +1950,34 @@ mod tests { assert!(profile.config_contents.contains("[model_providers.ai]")); assert!(!profile.config_contents.contains("[model_providers.custom]")); } + + #[test] + fn relay_profile_model_prefers_config_then_field_then_empty() { + // 1. 供應商測試的回退第一級:config.toml 的 model = 優先 + let from_config = RelayProfile { + config_contents: "model = \"deepseek-v4-flash\"\nmodel_provider = \"custom\"\n" + .to_string(), + model: "should-not-be-used".to_string(), + ..RelayProfile::default() + }; + assert_eq!(relay_profile_model(&from_config), "deepseek-v4-flash"); + + // 2. config 沒寫 model 時退回 profile.model 欄位 + let from_field = RelayProfile { + config_contents: "model_provider = \"custom\"\n".to_string(), + model: "deepseek-v4-pro".to_string(), + ..RelayProfile::default() + }; + assert_eq!(relay_profile_model(&from_field), "deepseek-v4-pro"); + + // 3. 兩者皆空 → 空字串;呼叫端據此才回退到全域 relayTestModel + let empty = RelayProfile { + config_contents: String::new(), + model: String::new(), + ..RelayProfile::default() + }; + assert!(relay_profile_model(&empty).trim().is_empty()); + } } fn root_key_string(contents: &str, key: &str) -> Option { From b05d33c2293ed4e3e933695d67ec15a7fa9425d7 Mon Sep 17 00:00:00 2001 From: lennney Date: Wed, 10 Jun 2026 14:57:22 +0800 Subject: [PATCH 016/156] feat: show running duration in LatestLaunch instead of absolute time MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the process is running, display "已运行 X 小时 Y 分钟" instead of the absolute start time. This makes it easier to see how long Codex has been active at a glance. 新增 formatDuration() 工具函数,LatestLaunch 对运行中的进程动态显示运行时长。 --- apps/codex-plus-manager/src/App.tsx | 12 ++++++++++++ 1 file changed, 12 insertions(+) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e1fafe1a0..2cd33544c 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -5240,6 +5240,18 @@ function formatTime(value: number) { return new Date(value).toLocaleString("zh-CN"); } +function formatDuration(startedAtMs: number): string { + if (!startedAtMs) return "-"; + const elapsed = Date.now() - startedAtMs; + if (elapsed < 0) return formatTime(startedAtMs); + const mins = Math.floor(elapsed / 60000); + if (mins < 1) return "刚刚启动"; + if (mins < 60) return `已运行 ${mins} 分钟`; + const hours = Math.floor(mins / 60); + const remainMins = mins % 60; + return `已运行 ${hours} 小时 ${remainMins} 分钟`; +} + function stringifyError(error: unknown) { if (error instanceof Error) return error.message; return String(error); From 3eb3bd334fde10dd2f60d94eb05123dfe1d0a293 Mon Sep 17 00:00:00 2001 From: lennney Date: Wed, 10 Jun 2026 14:57:54 +0800 Subject: [PATCH 017/156] feat: detect unexpected Codex stop and notify user MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit When the polling detects that Codex transitioned from "running" to "stopped" / "failed" unexpectedly, show a notice dialog asking if the user wants to restart. This improves UX by alerting users when Codex crashes instead of silently showing "stopped" status. 新增崩溃检测:在 refreshOverview 中追踪进程状态变化,检测到意外停止时弹出通知。 --- apps/codex-plus-manager/src/App.tsx | 8 ++++++++ 1 file changed, 8 insertions(+) diff --git a/apps/codex-plus-manager/src/App.tsx b/apps/codex-plus-manager/src/App.tsx index e1fafe1a0..f010fed91 100644 --- a/apps/codex-plus-manager/src/App.tsx +++ b/apps/codex-plus-manager/src/App.tsx @@ -586,6 +586,7 @@ export function App() { debugPort: "9229", helperPort: "57321", }); + const prevLaunchStatusRef = useRef(null); const [settingsForm, setSettingsForm] = useState({ ...defaultSettings }); const [providerSyncProgress, setProviderSyncProgress] = useState({ active: false, @@ -615,6 +616,13 @@ export function App() { const refreshOverview = async (silent = false) => { const result = await run(() => call("load_overview")); if (result) { + // 崩溃检测:进程从运行状态变为停止/失败 → 弹出通知 + const prev = prevLaunchStatusRef.current; + const current = result.latest_launch?.status; + if (prev && prev === "running" && current && (current === "stopped" || current === "failed" || current === "crashed")) { + showNotice("Codex 意外停止", `进程状态:${current}。是否要重新启动?`, "failed"); + } + prevLaunchStatusRef.current = current ?? null; setOverview(result); if (!silent) showResultNotice("概览已检查", result, { silentSuccess: true }); } From a09978bc0a12aeaa03acd8b76c1b0b339f010f88 Mon Sep 17 00:00:00 2001 From: lennney Date: Wed, 10 Jun 2026 16:05:46 +0800 Subject: [PATCH 018/156] feat: bundle Inter & JetBrains Mono via @fontsource for offline use Replace implicit system-font/Google Fonts assumption with bundled font files shipped inside the Tauri binary via @fontsource npm packages. changes: - add @fontsource/inter, @fontsource/jetbrains-mono as dependencies - import both in main.tsx so Vite bundles the woff2 files at build time Co-Authored-By: Claude Fable 5 --- apps/codex-plus-manager/package-lock.json | 20 ++++++++++++++++++++ apps/codex-plus-manager/package.json | 2 ++ apps/codex-plus-manager/src/main.tsx | 6 ++++++ 3 files changed, 28 insertions(+) diff --git a/apps/codex-plus-manager/package-lock.json b/apps/codex-plus-manager/package-lock.json index 558818e2c..4355e4535 100644 --- a/apps/codex-plus-manager/package-lock.json +++ b/apps/codex-plus-manager/package-lock.json @@ -11,6 +11,8 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", + "@fontsource/inter": "^5.2.8", + "@fontsource/jetbrains-mono": "^5.2.8", "@radix-ui/react-slot": "^1.1.2", "@tauri-apps/api": "^2.0.0", "@tauri-apps/cli": "^2.0.0", @@ -784,6 +786,24 @@ "node": ">=18" } }, + "node_modules/@fontsource/inter": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/inter/-/inter-5.2.8.tgz", + "integrity": "sha512-P6r5WnJoKiNVV+zvW2xM13gNdFhAEpQ9dQJHt3naLvfg+LkF2ldgSLiF4T41lf1SQCM9QmkqPTn4TH568IRagg==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, + "node_modules/@fontsource/jetbrains-mono": { + "version": "5.2.8", + "resolved": "https://registry.npmjs.org/@fontsource/jetbrains-mono/-/jetbrains-mono-5.2.8.tgz", + "integrity": "sha512-6w8/SG4kqvIMu7xd7wt6x3idn1Qux3p9N62s6G3rfldOUYHpWcc2FKrqf+Vo44jRvqWj2oAtTHrZXEP23oSKwQ==", + "license": "OFL-1.1", + "funding": { + "url": "https://github.com/sponsors/ayuhito" + } + }, "node_modules/@jridgewell/gen-mapping": { "version": "0.3.13", "resolved": "https://registry.npmjs.org/@jridgewell/gen-mapping/-/gen-mapping-0.3.13.tgz", diff --git a/apps/codex-plus-manager/package.json b/apps/codex-plus-manager/package.json index 652f630e0..ae9c5ec38 100644 --- a/apps/codex-plus-manager/package.json +++ b/apps/codex-plus-manager/package.json @@ -14,6 +14,8 @@ "@dnd-kit/core": "^6.3.1", "@dnd-kit/sortable": "^10.0.0", "@dnd-kit/utilities": "^3.2.2", + "@fontsource/inter": "^5.2.8", + "@fontsource/jetbrains-mono": "^5.2.8", "@radix-ui/react-slot": "^1.1.2", "@tauri-apps/api": "^2.0.0", "@tauri-apps/cli": "^2.0.0", diff --git a/apps/codex-plus-manager/src/main.tsx b/apps/codex-plus-manager/src/main.tsx index d71417eab..4eabcda4e 100644 --- a/apps/codex-plus-manager/src/main.tsx +++ b/apps/codex-plus-manager/src/main.tsx @@ -2,6 +2,12 @@ import { createRoot } from "react-dom/client"; import { App } from "./App"; import "./styles.css"; +/* ── Bundled fonts (offline, no Google Fonts request) ── + Fontsource packages ship woff2 files that Vite bundles into dist/. + CSS @font-face declarations are injected at build time. */ +import "@fontsource/inter"; +import "@fontsource/jetbrains-mono"; + const app = document.getElementById("app"); if (app instanceof HTMLElement) { From de3dd3b1e5186d3aab89ba95c6c321b2caf45da5 Mon Sep 17 00:00:00 2001 From: BigPizzaV3 <2649340134@qq.com> Date: Wed, 10 Jun 2026 19:36:24 +0800 Subject: [PATCH 019/156] Add files via upload --- docs/images/discussion-group-qr.jpg | Bin 184985 -> 187966 bytes 1 file changed, 0 insertions(+), 0 deletions(-) diff --git a/docs/images/discussion-group-qr.jpg b/docs/images/discussion-group-qr.jpg index 3b9b918b881d4b9eeadbf3015e5cedef26d231bc..fe746845a2c35148a8ca00c91ff32105aba3956c 100644 GIT binary patch literal 187966 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

%b>0=pm4^t{^zrpdH!S)*oVjDiNLcoFCSyYmvD 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