Skip to content
Draft
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
665 changes: 647 additions & 18 deletions apps/desktop/src-tauri/Cargo.lock

Large diffs are not rendered by default.

2 changes: 2 additions & 0 deletions apps/desktop/src-tauri/Cargo.toml
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,7 @@ clipboard-rs = "0.3.4"
html5gum = { version = "0.8.3", default-features = false }
sha2 = "0.10"
velopack = { version = "=0.0.1589-ga2c5a97", features = ["public-utils"] }
xcap = "0.9.6"

[dev-dependencies]
tempfile = "3"
Expand Down Expand Up @@ -109,6 +110,7 @@ windows = { version = "0.58", features = [
"Win32_System_Com",
"Win32_System_Threading",
"Win32_UI_Controls_Dialogs",
"Win32_UI_Accessibility",
"Win32_UI_Input_KeyboardAndMouse",
"Win32_UI_Shell",
"Win32_UI_Shell_Common",
Expand Down
36 changes: 36 additions & 0 deletions apps/desktop/src-tauri/src/commands/desktop_context.rs
Original file line number Diff line number Diff line change
@@ -0,0 +1,36 @@
// Copyright (c) 2026. Qian Cheng. Licensed under GPL v3.

//! Desktop context commands.

use tauri::{AppHandle, Runtime, State};

use crate::core::system::desktop_context::{
BoundDesktopContext, DesktopContextCapsule, DesktopContextRuntime,
};

#[tauri::command]
pub fn desktop_context_get_capsule(
runtime: State<'_, DesktopContextRuntime>,
capsule_id: String,
) -> Result<Option<DesktopContextCapsule>, String> {
runtime.get_capsule(&capsule_id)
}

#[tauri::command]
pub fn desktop_context_bind_capsule(
runtime: State<'_, DesktopContextRuntime>,
capsule_id: String,
) -> Result<Option<BoundDesktopContext>, String> {
runtime.bind_capsule(&capsule_id)
}

#[tauri::command]
pub fn desktop_context_capture_sensitive<R: Runtime>(
app: AppHandle<R>,
runtime: State<'_, DesktopContextRuntime>,
capsule_id: String,
include: Vec<String>,
screenshot_target: Option<String>,
) -> Result<Option<DesktopContextCapsule>, String> {
runtime.capture_sensitive(&app, &capsule_id, &include, screenshot_target.as_deref())
}
4 changes: 4 additions & 0 deletions apps/desktop/src-tauri/src/commands/mod.rs
Original file line number Diff line number Diff line change
Expand Up @@ -5,6 +5,7 @@ pub mod autostart;
pub mod built_in_tools;
pub mod clipboard;
pub mod database;
pub mod desktop_context;
pub mod mcp;
pub mod paths;
pub mod quick_search;
Expand Down Expand Up @@ -42,6 +43,9 @@ pub fn invoke_handler<R: tauri::Runtime>(
clipboard::read_clipboard_payload,
clipboard::consume_shortcut_auto_paste_payload,
clipboard::write_clipboard_text,
desktop_context::desktop_context_get_capsule,
desktop_context::desktop_context_bind_capsule,
desktop_context::desktop_context_capture_sensitive,
autostart::enable_autostart,
autostart::disable_autostart,
autostart::is_autostart_enabled,
Expand Down
Loading
Loading