diff --git a/.github/tauri-cef-expected-sha b/.github/tauri-cef-expected-sha
index 0809bcda4..9e09716ab 100644
--- a/.github/tauri-cef-expected-sha
+++ b/.github/tauri-cef-expected-sha
@@ -1 +1 @@
-f09d7e746a44a5187d2abc116e8a4cd7a9f94a67
+455b47debb9d1f5d0f1527266e48af1670ad4bc5
diff --git a/AGENTS.md b/AGENTS.md
index 98e54bc3b..503409361 100644
--- a/AGENTS.md
+++ b/AGENTS.md
@@ -163,7 +163,7 @@ No `UserProvider`/`AIProvider`/`SkillProvider` — auth lives in `CoreStateProvi
## Tauri shell (`app/src-tauri/`)
-Thin desktop host. Key modules: `core_process`, `core_rpc`, `cdp`, `cef_preflight`, `cef_profile`, `dictation_hotkeys`, `file_logging`, `mascot_native_window`, `screen_capture`, `window_state`, per-provider scanners (`discord_scanner`, `slack_scanner`, `telegram_scanner`, `whatsapp_scanner`, `wechat_scanner`, `gmessages_scanner`, `imessage_scanner`, `meet_scanner`), `meet_audio`/`meet_call`/`meet_video`, `fake_camera`, `webview_accounts`, `webview_apis`.
+Thin desktop host. Key modules: `core_process`, `core_rpc`, `cdp`, `cef_preflight`, `cef_profile`, `dictation_hotkeys`, `file_logging`, `mascot_native_window`, `window_state`, per-provider scanners (`discord_scanner`, `slack_scanner`, `telegram_scanner`, `whatsapp_scanner`, `wechat_scanner`, `gmessages_scanner`, `imessage_scanner`, `meet_scanner`), `meet_audio`/`meet_call`/`meet_video`, `fake_camera`, `webview_accounts`, `webview_apis`.
IPC commands (authoritative list: `generate_handler!` in `app/src-tauri/src/lib.rs`): `core_rpc::relay_http_rpc`, `core_rpc_url`, `core_rpc_token`, `start_core_process`/`restart_core_process`, update commands (`check_app_update`, `apply_core_update`, …), window commands (`activate_main_window`, `mascot_window_*`, `notch_window_*`), `webview_accounts::*`, `workspace_paths::*`, `artifact_commands::*`, hotkeys (dictation/PTT/companion), `meet_call::*`, `native_notifications::*`, `mcp_commands::*`, `loopback_oauth::*`.
diff --git a/app/schema.json b/app/schema.json
index 2bed0647b..7ec1cca42 100644
--- a/app/schema.json
+++ b/app/schema.json
@@ -834,70 +834,6 @@
}
]
},
- {
- "description": "Update screen intelligence runtime settings.",
- "function": "update_screen_intelligence_settings",
- "inputs": [
- {
- "comment": "Enable screen intelligence.",
- "name": "enabled",
- "required": false,
- "ty": { "Option": "Bool" }
- },
- {
- "comment": "Capture policy mode.",
- "name": "capture_policy",
- "required": false,
- "ty": { "Option": "String" }
- },
- {
- "comment": "Policy mode override.",
- "name": "policy_mode",
- "required": false,
- "ty": { "Option": "String" }
- },
- {
- "comment": "Baseline capture FPS.",
- "name": "baseline_fps",
- "required": false,
- "ty": { "Option": "F64" }
- },
- {
- "comment": "Enable vision analysis.",
- "name": "vision_enabled",
- "required": false,
- "ty": { "Option": "Bool" }
- },
- {
- "comment": "Enable autocomplete integration.",
- "name": "autocomplete_enabled",
- "required": false,
- "ty": { "Option": "Bool" }
- },
- {
- "comment": "Allowed app list.",
- "name": "allowlist",
- "required": false,
- "ty": { "Option": { "Array": "String" } }
- },
- {
- "comment": "Denied app list.",
- "name": "denylist",
- "required": false,
- "ty": { "Option": { "Array": "String" } }
- }
- ],
- "method": "openhuman.config_update_screen_intelligence_settings",
- "namespace": "config",
- "outputs": [
- {
- "comment": "Updated config snapshot.",
- "name": "snapshot",
- "required": true,
- "ty": "Json"
- }
- ]
- },
{
"description": "Replace tunnel settings with provided config payload.",
"function": "update_tunnel_settings",
@@ -1246,167 +1182,6 @@
}
]
},
- {
- "description": "Capture screenshot and return image ref.",
- "function": "capture_image_ref",
- "inputs": [],
- "method": "openhuman.screen_intelligence_capture_image_ref",
- "namespace": "screen_intelligence",
- "outputs": [
- {
- "comment": "Capture image_ref payload.",
- "name": "capture",
- "required": true,
- "ty": "Json"
- }
- ]
- },
- {
- "description": "Trigger immediate screen capture.",
- "function": "capture_now",
- "inputs": [],
- "method": "openhuman.screen_intelligence_capture_now",
- "namespace": "screen_intelligence",
- "outputs": [
- { "comment": "Capture result payload.", "name": "capture", "required": true, "ty": "Json" }
- ]
- },
- {
- "description": "Perform input action through accessibility automation.",
- "function": "input_action",
- "inputs": [
- {
- "comment": "Input action payload.",
- "name": "action",
- "required": true,
- "ty": { "Ref": "InputActionParams" }
- }
- ],
- "method": "openhuman.screen_intelligence_input_action",
- "namespace": "screen_intelligence",
- "outputs": [
- {
- "comment": "Input action result payload.",
- "name": "result",
- "required": true,
- "ty": "Json"
- }
- ]
- },
- {
- "description": "Request one accessibility permission.",
- "function": "request_permission",
- "inputs": [
- { "comment": "Permission name.", "name": "permission", "required": true, "ty": "String" }
- ],
- "method": "openhuman.screen_intelligence_request_permission",
- "namespace": "screen_intelligence",
- "outputs": [
- {
- "comment": "Permission status payload.",
- "name": "permissions",
- "required": true,
- "ty": "Json"
- }
- ]
- },
- {
- "description": "Request required accessibility permissions.",
- "function": "request_permissions",
- "inputs": [],
- "method": "openhuman.screen_intelligence_request_permissions",
- "namespace": "screen_intelligence",
- "outputs": [
- {
- "comment": "Permission status payload.",
- "name": "permissions",
- "required": true,
- "ty": "Json"
- }
- ]
- },
- {
- "description": "Start screen intelligence session.",
- "function": "start_session",
- "inputs": [
- {
- "comment": "Capture interval in milliseconds.",
- "name": "sample_interval_ms",
- "required": false,
- "ty": { "Option": "U64" }
- },
- {
- "comment": "Capture policy mode.",
- "name": "capture_policy",
- "required": false,
- "ty": { "Option": "String" }
- }
- ],
- "method": "openhuman.screen_intelligence_start_session",
- "namespace": "screen_intelligence",
- "outputs": [
- { "comment": "Session status payload.", "name": "session", "required": true, "ty": "Json" }
- ]
- },
- {
- "description": "Read screen intelligence accessibility status.",
- "function": "status",
- "inputs": [],
- "method": "openhuman.screen_intelligence_status",
- "namespace": "screen_intelligence",
- "outputs": [
- {
- "comment": "Accessibility status payload.",
- "name": "status",
- "required": true,
- "ty": "Json"
- }
- ]
- },
- {
- "description": "Stop screen intelligence session.",
- "function": "stop_session",
- "inputs": [
- {
- "comment": "Optional stop reason.",
- "name": "reason",
- "required": false,
- "ty": { "Option": "String" }
- }
- ],
- "method": "openhuman.screen_intelligence_stop_session",
- "namespace": "screen_intelligence",
- "outputs": [
- { "comment": "Session status payload.", "name": "session", "required": true, "ty": "Json" }
- ]
- },
- {
- "description": "Flush stored vision summaries.",
- "function": "vision_flush",
- "inputs": [],
- "method": "openhuman.screen_intelligence_vision_flush",
- "namespace": "screen_intelligence",
- "outputs": [
- { "comment": "Vision flush payload.", "name": "result", "required": true, "ty": "Json" }
- ]
- },
- {
- "description": "Read recent vision summaries.",
- "function": "vision_recent",
- "inputs": [
- {
- "comment": "Maximum number of summaries.",
- "name": "limit",
- "required": false,
- "ty": { "Option": "U64" }
- }
- ],
- "method": "openhuman.screen_intelligence_vision_recent",
- "namespace": "screen_intelligence",
- "outputs": [
- { "comment": "Vision recent payload.", "name": "result", "required": true, "ty": "Json" }
- ]
- },
{
"description": "Manage desktop service lifecycle.",
"function": "install",
diff --git a/app/scripts/e2e-run-all-flows.sh b/app/scripts/e2e-run-all-flows.sh
index 72541c2ae..37f50ab5f 100755
--- a/app/scripts/e2e-run-all-flows.sh
+++ b/app/scripts/e2e-run-all-flows.sh
@@ -403,7 +403,7 @@ if should_run_suite "settings"; then
fi
# ---------------------------------------------------------------------------
-# System / AI / voice / screen / Tauri
+# System / AI / voice / Tauri
# linux-cef-deb-runtime.spec.ts is Linux-only (tests /usr/bin path resolution
# for .deb package installs) — skipped on macOS/Windows.
# ---------------------------------------------------------------------------
@@ -412,7 +412,6 @@ if should_run_suite "system"; then
echo "## Running suite: system"
run "test/e2e/specs/local-model-runtime.spec.ts" "local-model" "system"
run "test/e2e/specs/voice-mode.spec.ts" "voice-mode" "system"
- run "test/e2e/specs/screen-intelligence.spec.ts" "screen-intelligence" "system"
run "test/e2e/specs/audio-toolkit-flow.spec.ts" "audio-toolkit" "system"
run "test/e2e/specs/tauri-commands.spec.ts" "tauri-commands" "system"
# service-connectivity-flow tests the old sidecar service model removed in
diff --git a/app/src-tauri/entitlements.sidecar.plist b/app/src-tauri/entitlements.sidecar.plist
index cdad97f19..abeaaa8d7 100644
--- a/app/src-tauri/entitlements.sidecar.plist
+++ b/app/src-tauri/entitlements.sidecar.plist
@@ -22,14 +22,13 @@
(JSON-RPC server, Socket.IO) under the macOS Hardened Runtime. -->
com.apple.security.network.server
-
+
com.apple.security.automation.apple-events