mirror of
https://github.com/lahfir/agent-desktop.git
synced 2026-07-31 19:29:24 +00:00
- tree: window_element_for() starts traversal from correct AXWindow element (matching by title) instead of app root, fixing mixed-window trees and 'disabled group' noise in Electron apps - tree: AXUIElementCopyMultipleAttributeValues batch fetch (2.5x faster) - tree: copy_ax_array() CFRetains each element before CFArray drops, fixing the dangling-pointer bug that returned kAXErrorInvalidUIElement - roles: add AXApplication->application and AXSplitGroup->splitter - actions: CGEvent is now primary click mechanism (AXPress is best-effort first try); fixes clicks in Electron/web apps that don't support kAXPressAction - actions: DoubleClick uses MOUSE_EVENT_CLICK_STATE=2, RightClick uses RightMouseDown/Up, Scroll sets event.set_location(element_center) - screenshot: rewrite using screencapture CLI + CGWindowListCopyWindowInfo to find the largest CGWindowID for the app PID; resolves app/window_id to pid before calling adapter (was producing all-zero data placeholder) - screenshot: ScreenshotTarget::Window now carries pid (i32) instead of our hash string; commands/screenshot.rs resolves via list_windows - input: add 8ms inter-keystroke delay in synthesize_text so apps can process events (was truncating long strings) - snapshot: return WindowInfo in SnapshotResult; include app and window fields in JSON output per contract - find: switch to snapshot::run so found refs are persisted to refmap - dispatch: implement dispatch_batch_command covering all 29 commands (was stub returning 'not yet implemented' for every batch sub-command) |
||
|---|---|---|
| .. | ||
| Cargo.toml | ||
| cli.rs | ||
| dispatch.rs | ||
| main.rs | ||