@mseep/clawdcursor 1.5.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +2264 -0
- package/LICENSE +21 -0
- package/README.md +385 -0
- package/SECURITY.md +44 -0
- package/SKILL.md +503 -0
- package/dist/core/agent-loop/agent.d.ts +42 -0
- package/dist/core/agent-loop/agent.js +1023 -0
- package/dist/core/agent-loop/agent.js.map +1 -0
- package/dist/core/agent-loop/batch-tool.d.ts +25 -0
- package/dist/core/agent-loop/batch-tool.js +218 -0
- package/dist/core/agent-loop/batch-tool.js.map +1 -0
- package/dist/core/agent-loop/coord-scale.d.ts +72 -0
- package/dist/core/agent-loop/coord-scale.js +89 -0
- package/dist/core/agent-loop/coord-scale.js.map +1 -0
- package/dist/core/agent-loop/focus-guard.d.ts +24 -0
- package/dist/core/agent-loop/focus-guard.js +29 -0
- package/dist/core/agent-loop/focus-guard.js.map +1 -0
- package/dist/core/agent-loop/project-mcp.d.ts +97 -0
- package/dist/core/agent-loop/project-mcp.js +253 -0
- package/dist/core/agent-loop/project-mcp.js.map +1 -0
- package/dist/core/agent-loop/prompt.d.ts +45 -0
- package/dist/core/agent-loop/prompt.js +426 -0
- package/dist/core/agent-loop/prompt.js.map +1 -0
- package/dist/core/agent-loop/tool-meta.d.ts +93 -0
- package/dist/core/agent-loop/tool-meta.js +651 -0
- package/dist/core/agent-loop/tool-meta.js.map +1 -0
- package/dist/core/agent-loop/tools.d.ts +38 -0
- package/dist/core/agent-loop/tools.js +2134 -0
- package/dist/core/agent-loop/tools.js.map +1 -0
- package/dist/core/agent-loop/types.d.ts +170 -0
- package/dist/core/agent-loop/types.js +12 -0
- package/dist/core/agent-loop/types.js.map +1 -0
- package/dist/core/agent.d.ts +51 -0
- package/dist/core/agent.js +245 -0
- package/dist/core/agent.js.map +1 -0
- package/dist/core/app-categories.d.ts +67 -0
- package/dist/core/app-categories.js +108 -0
- package/dist/core/app-categories.js.map +1 -0
- package/dist/core/banner.d.ts +70 -0
- package/dist/core/banner.js +245 -0
- package/dist/core/banner.js.map +1 -0
- package/dist/core/classify/capability.d.ts +45 -0
- package/dist/core/classify/capability.js +78 -0
- package/dist/core/classify/capability.js.map +1 -0
- package/dist/core/decompose/llm-decomposer.d.ts +35 -0
- package/dist/core/decompose/llm-decomposer.js +156 -0
- package/dist/core/decompose/llm-decomposer.js.map +1 -0
- package/dist/core/decompose/parser.d.ts +27 -0
- package/dist/core/decompose/parser.js +101 -0
- package/dist/core/decompose/parser.js.map +1 -0
- package/dist/core/observability/correlation.d.ts +19 -0
- package/dist/core/observability/correlation.js +36 -0
- package/dist/core/observability/correlation.js.map +1 -0
- package/dist/core/observability/cost-meter.d.ts +51 -0
- package/dist/core/observability/cost-meter.js +134 -0
- package/dist/core/observability/cost-meter.js.map +1 -0
- package/dist/core/observability/logger.d.ts +61 -0
- package/dist/core/observability/logger.js +550 -0
- package/dist/core/observability/logger.js.map +1 -0
- package/dist/core/router/aliases.d.ts +50 -0
- package/dist/core/router/aliases.js +104 -0
- package/dist/core/router/aliases.js.map +1 -0
- package/dist/core/router/normalize.d.ts +41 -0
- package/dist/core/router/normalize.js +80 -0
- package/dist/core/router/normalize.js.map +1 -0
- package/dist/core/safety.d.ts +126 -0
- package/dist/core/safety.js +568 -0
- package/dist/core/safety.js.map +1 -0
- package/dist/core/sense/a11y-resolver.d.ts +73 -0
- package/dist/core/sense/a11y-resolver.js +76 -0
- package/dist/core/sense/a11y-resolver.js.map +1 -0
- package/dist/core/sense/fingerprint.d.ts +41 -0
- package/dist/core/sense/fingerprint.js +123 -0
- package/dist/core/sense/fingerprint.js.map +1 -0
- package/dist/core/sense/rank.d.ts +70 -0
- package/dist/core/sense/rank.js +192 -0
- package/dist/core/sense/rank.js.map +1 -0
- package/dist/core/sense/reactive-check.d.ts +40 -0
- package/dist/core/sense/reactive-check.js +48 -0
- package/dist/core/sense/reactive-check.js.map +1 -0
- package/dist/core/sense/snapshot.d.ts +19 -0
- package/dist/core/sense/snapshot.js +100 -0
- package/dist/core/sense/snapshot.js.map +1 -0
- package/dist/core/sense/types.d.ts +66 -0
- package/dist/core/sense/types.js +9 -0
- package/dist/core/sense/types.js.map +1 -0
- package/dist/core/sense/ui-map-anchors.d.ts +7 -0
- package/dist/core/sense/ui-map-anchors.js +24 -0
- package/dist/core/sense/ui-map-anchors.js.map +1 -0
- package/dist/core/sense/ui-map-elements.d.ts +5 -0
- package/dist/core/sense/ui-map-elements.js +33 -0
- package/dist/core/sense/ui-map-elements.js.map +1 -0
- package/dist/core/sense/ui-map-find.d.ts +56 -0
- package/dist/core/sense/ui-map-find.js +153 -0
- package/dist/core/sense/ui-map-find.js.map +1 -0
- package/dist/core/sense/ui-map-fuse.d.ts +4 -0
- package/dist/core/sense/ui-map-fuse.js +44 -0
- package/dist/core/sense/ui-map-fuse.js.map +1 -0
- package/dist/core/sense/ui-map-geom.d.ts +3 -0
- package/dist/core/sense/ui-map-geom.js +16 -0
- package/dist/core/sense/ui-map-geom.js.map +1 -0
- package/dist/core/sense/ui-map-holder.d.ts +58 -0
- package/dist/core/sense/ui-map-holder.js +87 -0
- package/dist/core/sense/ui-map-holder.js.map +1 -0
- package/dist/core/sense/ui-map-normalize.d.ts +19 -0
- package/dist/core/sense/ui-map-normalize.js +65 -0
- package/dist/core/sense/ui-map-normalize.js.map +1 -0
- package/dist/core/sense/ui-map-render.d.ts +4 -0
- package/dist/core/sense/ui-map-render.js +34 -0
- package/dist/core/sense/ui-map-render.js.map +1 -0
- package/dist/core/sense/ui-map-resolve.d.ts +41 -0
- package/dist/core/sense/ui-map-resolve.js +59 -0
- package/dist/core/sense/ui-map-resolve.js.map +1 -0
- package/dist/core/sense/ui-map-types.d.ts +66 -0
- package/dist/core/sense/ui-map-types.js +11 -0
- package/dist/core/sense/ui-map-types.js.map +1 -0
- package/dist/core/sense/ui-map.d.ts +29 -0
- package/dist/core/sense/ui-map.js +113 -0
- package/dist/core/sense/ui-map.js.map +1 -0
- package/dist/core/verify/assertions.d.ts +132 -0
- package/dist/core/verify/assertions.js +284 -0
- package/dist/core/verify/assertions.js.map +1 -0
- package/dist/index.d.ts +21 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/llm/browser-config.d.ts +36 -0
- package/dist/llm/browser-config.js +83 -0
- package/dist/llm/browser-config.js.map +1 -0
- package/dist/llm/client.d.ts +268 -0
- package/dist/llm/client.js +1094 -0
- package/dist/llm/client.js.map +1 -0
- package/dist/llm/config.d.ts +79 -0
- package/dist/llm/config.js +375 -0
- package/dist/llm/config.js.map +1 -0
- package/dist/llm/credentials.d.ts +35 -0
- package/dist/llm/credentials.js +491 -0
- package/dist/llm/credentials.js.map +1 -0
- package/dist/llm/external-creds.d.ts +42 -0
- package/dist/llm/external-creds.js +169 -0
- package/dist/llm/external-creds.js.map +1 -0
- package/dist/llm/providers.d.ts +123 -0
- package/dist/llm/providers.js +717 -0
- package/dist/llm/providers.js.map +1 -0
- package/dist/paths.d.ts +31 -0
- package/dist/paths.js +147 -0
- package/dist/paths.js.map +1 -0
- package/dist/platform/accessibility.d.ts +139 -0
- package/dist/platform/accessibility.js +670 -0
- package/dist/platform/accessibility.js.map +1 -0
- package/dist/platform/cdp-driver.d.ts +318 -0
- package/dist/platform/cdp-driver.js +1179 -0
- package/dist/platform/cdp-driver.js.map +1 -0
- package/dist/platform/index.d.ts +11 -0
- package/dist/platform/index.js +69 -0
- package/dist/platform/index.js.map +1 -0
- package/dist/platform/keys.d.ts +17 -0
- package/dist/platform/keys.js +129 -0
- package/dist/platform/keys.js.map +1 -0
- package/dist/platform/launch-poll.d.ts +101 -0
- package/dist/platform/launch-poll.js +177 -0
- package/dist/platform/launch-poll.js.map +1 -0
- package/dist/platform/linux.d.ts +173 -0
- package/dist/platform/linux.js +1253 -0
- package/dist/platform/linux.js.map +1 -0
- package/dist/platform/macos.d.ts +136 -0
- package/dist/platform/macos.js +976 -0
- package/dist/platform/macos.js.map +1 -0
- package/dist/platform/native-desktop.d.ts +145 -0
- package/dist/platform/native-desktop.js +936 -0
- package/dist/platform/native-desktop.js.map +1 -0
- package/dist/platform/native-helper.d.ts +130 -0
- package/dist/platform/native-helper.js +592 -0
- package/dist/platform/native-helper.js.map +1 -0
- package/dist/platform/ocr-engine.d.ts +78 -0
- package/dist/platform/ocr-engine.js +363 -0
- package/dist/platform/ocr-engine.js.map +1 -0
- package/dist/platform/ps-runner.d.ts +28 -0
- package/dist/platform/ps-runner.js +228 -0
- package/dist/platform/ps-runner.js.map +1 -0
- package/dist/platform/types.d.ts +397 -0
- package/dist/platform/types.js +15 -0
- package/dist/platform/types.js.map +1 -0
- package/dist/platform/uri-handler.d.ts +75 -0
- package/dist/platform/uri-handler.js +273 -0
- package/dist/platform/uri-handler.js.map +1 -0
- package/dist/platform/wayland-backend.d.ts +53 -0
- package/dist/platform/wayland-backend.js +348 -0
- package/dist/platform/wayland-backend.js.map +1 -0
- package/dist/platform/windows.d.ts +232 -0
- package/dist/platform/windows.js +1210 -0
- package/dist/platform/windows.js.map +1 -0
- package/dist/postbuild.d.ts +10 -0
- package/dist/postbuild.js +98 -0
- package/dist/postbuild.js.map +1 -0
- package/dist/schema/snapshot.d.ts +33 -0
- package/dist/schema/snapshot.js +90 -0
- package/dist/schema/snapshot.js.map +1 -0
- package/dist/shortcuts.d.ts +30 -0
- package/dist/shortcuts.js +261 -0
- package/dist/shortcuts.js.map +1 -0
- package/dist/surface/cli.d.ts +7 -0
- package/dist/surface/cli.js +1556 -0
- package/dist/surface/cli.js.map +1 -0
- package/dist/surface/dashboard.d.ts +8 -0
- package/dist/surface/dashboard.js +1193 -0
- package/dist/surface/dashboard.js.map +1 -0
- package/dist/surface/doctor.d.ts +29 -0
- package/dist/surface/doctor.js +1514 -0
- package/dist/surface/doctor.js.map +1 -0
- package/dist/surface/format.d.ts +10 -0
- package/dist/surface/format.js +37 -0
- package/dist/surface/format.js.map +1 -0
- package/dist/surface/http-utility.d.ts +65 -0
- package/dist/surface/http-utility.js +336 -0
- package/dist/surface/http-utility.js.map +1 -0
- package/dist/surface/mcp-server.d.ts +91 -0
- package/dist/surface/mcp-server.js +280 -0
- package/dist/surface/mcp-server.js.map +1 -0
- package/dist/surface/onboarding.d.ts +15 -0
- package/dist/surface/onboarding.js +184 -0
- package/dist/surface/onboarding.js.map +1 -0
- package/dist/surface/pidfile.d.ts +79 -0
- package/dist/surface/pidfile.js +263 -0
- package/dist/surface/pidfile.js.map +1 -0
- package/dist/surface/readiness.d.ts +45 -0
- package/dist/surface/readiness.js +230 -0
- package/dist/surface/readiness.js.map +1 -0
- package/dist/surface/report.d.ts +68 -0
- package/dist/surface/report.js +341 -0
- package/dist/surface/report.js.map +1 -0
- package/dist/surface/skill-register.d.ts +14 -0
- package/dist/surface/skill-register.js +150 -0
- package/dist/surface/skill-register.js.map +1 -0
- package/dist/surface/version.d.ts +6 -0
- package/dist/surface/version.js +27 -0
- package/dist/surface/version.js.map +1 -0
- package/dist/tools/a11y.d.ts +8 -0
- package/dist/tools/a11y.js +545 -0
- package/dist/tools/a11y.js.map +1 -0
- package/dist/tools/a11y_depth.d.ts +19 -0
- package/dist/tools/a11y_depth.js +455 -0
- package/dist/tools/a11y_depth.js.map +1 -0
- package/dist/tools/agent.d.ts +15 -0
- package/dist/tools/agent.js +248 -0
- package/dist/tools/agent.js.map +1 -0
- package/dist/tools/batch.d.ts +46 -0
- package/dist/tools/batch.js +230 -0
- package/dist/tools/batch.js.map +1 -0
- package/dist/tools/cdp.d.ts +8 -0
- package/dist/tools/cdp.js +233 -0
- package/dist/tools/cdp.js.map +1 -0
- package/dist/tools/compact.d.ts +63 -0
- package/dist/tools/compact.js +418 -0
- package/dist/tools/compact.js.map +1 -0
- package/dist/tools/cost-class.d.ts +38 -0
- package/dist/tools/cost-class.js +117 -0
- package/dist/tools/cost-class.js.map +1 -0
- package/dist/tools/desktop.d.ts +9 -0
- package/dist/tools/desktop.js +346 -0
- package/dist/tools/desktop.js.map +1 -0
- package/dist/tools/electron_bridge.d.ts +41 -0
- package/dist/tools/electron_bridge.js +261 -0
- package/dist/tools/electron_bridge.js.map +1 -0
- package/dist/tools/extras.d.ts +22 -0
- package/dist/tools/extras.js +942 -0
- package/dist/tools/extras.js.map +1 -0
- package/dist/tools/favorites.d.ts +13 -0
- package/dist/tools/favorites.js +137 -0
- package/dist/tools/favorites.js.map +1 -0
- package/dist/tools/introspection.d.ts +13 -0
- package/dist/tools/introspection.js +55 -0
- package/dist/tools/introspection.js.map +1 -0
- package/dist/tools/ocr.d.ts +8 -0
- package/dist/tools/ocr.js +66 -0
- package/dist/tools/ocr.js.map +1 -0
- package/dist/tools/orchestration.d.ts +7 -0
- package/dist/tools/orchestration.js +377 -0
- package/dist/tools/orchestration.js.map +1 -0
- package/dist/tools/playbooks/extract-compose.d.ts +22 -0
- package/dist/tools/playbooks/extract-compose.js +85 -0
- package/dist/tools/playbooks/extract-compose.js.map +1 -0
- package/dist/tools/playbooks/find-replace.d.ts +11 -0
- package/dist/tools/playbooks/find-replace.js +56 -0
- package/dist/tools/playbooks/find-replace.js.map +1 -0
- package/dist/tools/playbooks/index.d.ts +63 -0
- package/dist/tools/playbooks/index.js +70 -0
- package/dist/tools/playbooks/index.js.map +1 -0
- package/dist/tools/playbooks/keys-blocklist.d.ts +24 -0
- package/dist/tools/playbooks/keys-blocklist.js +89 -0
- package/dist/tools/playbooks/keys-blocklist.js.map +1 -0
- package/dist/tools/registry.d.ts +40 -0
- package/dist/tools/registry.js +560 -0
- package/dist/tools/registry.js.map +1 -0
- package/dist/tools/safety-gate.d.ts +16 -0
- package/dist/tools/safety-gate.js +70 -0
- package/dist/tools/safety-gate.js.map +1 -0
- package/dist/tools/scheduler.d.ts +76 -0
- package/dist/tools/scheduler.js +413 -0
- package/dist/tools/scheduler.js.map +1 -0
- package/dist/tools/shortcuts.d.ts +13 -0
- package/dist/tools/shortcuts.js +205 -0
- package/dist/tools/shortcuts.js.map +1 -0
- package/dist/tools/smart.d.ts +15 -0
- package/dist/tools/smart.js +785 -0
- package/dist/tools/smart.js.map +1 -0
- package/dist/tools/types.d.ts +174 -0
- package/dist/tools/types.js +67 -0
- package/dist/tools/types.js.map +1 -0
- package/dist/tools/window-text.d.ts +15 -0
- package/dist/tools/window-text.js +39 -0
- package/dist/tools/window-text.js.map +1 -0
- package/dist/types.d.ts +122 -0
- package/dist/types.js +41 -0
- package/dist/types.js.map +1 -0
- package/native/Package.swift +38 -0
- package/native/README.md +113 -0
- package/native/Sources/ClawdCursorHelper/main.swift +602 -0
- package/native/Sources/ClawdCursorHost/main.swift +182 -0
- package/native/Sources/PermissionCheck/main.swift +53 -0
- package/native/Sources/ScreenshotHelper/main.swift +219 -0
- package/native/build.sh +139 -0
- package/native/entitlements.plist +12 -0
- package/package.json +115 -0
- package/scripts/banner.ps1 +112 -0
- package/scripts/coord-accuracy.ps1 +140 -0
- package/scripts/coord-uwp.ps1 +80 -0
- package/scripts/edge-glow.ps1 +180 -0
- package/scripts/find-element.ps1 +198 -0
- package/scripts/get-foreground-window.ps1 +71 -0
- package/scripts/get-screen-context.ps1 +183 -0
- package/scripts/get-windows.ps1 +66 -0
- package/scripts/install-panic-hotkey.ps1 +46 -0
- package/scripts/interact-element.ps1 +431 -0
- package/scripts/invoke-element.ps1 +314 -0
- package/scripts/linux/atspi-bridge.py +356 -0
- package/scripts/linux/ocr-recognize.py +154 -0
- package/scripts/mac/_window-picker.jxa +163 -0
- package/scripts/mac/find-element.jxa +0 -0
- package/scripts/mac/find-element.sh +161 -0
- package/scripts/mac/focus-window.jxa +284 -0
- package/scripts/mac/get-focused-element.jxa +102 -0
- package/scripts/mac/get-foreground-window.jxa +173 -0
- package/scripts/mac/get-screen-context.jxa +197 -0
- package/scripts/mac/get-ui-tree.sh +141 -0
- package/scripts/mac/get-windows.jxa +117 -0
- package/scripts/mac/interact-element.sh +235 -0
- package/scripts/mac/invoke-element.jxa +408 -0
- package/scripts/mac/ocr-recognize.swift +124 -0
- package/scripts/ocr-recognize.ps1 +102 -0
- package/scripts/postinstall-native.js +48 -0
- package/scripts/ps-bridge.ps1 +830 -0
- package/scripts/smoke-mcp.ps1 +119 -0
- package/scripts/sync-version.ts +178 -0
- package/scripts/verify-install.js +81 -0
|
@@ -0,0 +1,173 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Linux PlatformAdapter — all Linux-specific code lives here.
|
|
3
|
+
*
|
|
4
|
+
* Strategy:
|
|
5
|
+
* - Mouse + keyboard: nut-js directly (same approach as Windows).
|
|
6
|
+
* - Screenshot: nut-js screen.grab() → sharp for PNG encode / resize.
|
|
7
|
+
* - Screen size: xrandr --query; HiDPI via GDK_SCALE / QT_SCALE_FACTOR env.
|
|
8
|
+
* - Windows: wmctrl -lG for listing; xdotool for active-window detection.
|
|
9
|
+
* - A11y: AT-SPI bridge not yet implemented — graceful empty returns.
|
|
10
|
+
* - Clipboard: xclip -selection clipboard (X11 assumption).
|
|
11
|
+
* - openApp: spawn by name, falling back to xdg-open.
|
|
12
|
+
*
|
|
13
|
+
* All tool invocations tolerate missing binaries — if wmctrl/xclip/xdotool
|
|
14
|
+
* are not installed the adapter still loads and methods return empty defaults.
|
|
15
|
+
*/
|
|
16
|
+
import type { PlatformAdapter, ScreenSize, ScreenshotResult, WindowInfo, UiElement, PermissionStatus, PortableKeyCombo, Display, InvokeAction, MouseButton, ScrollDirection, WaitForElementQuery, WindowState } from './types';
|
|
17
|
+
export declare class LinuxAdapter implements PlatformAdapter {
|
|
18
|
+
readonly platform: "linux";
|
|
19
|
+
/**
|
|
20
|
+
* Wayland-vs-X11 detection runs at init(). Wayland blocks many X11-era
|
|
21
|
+
* input primitives (global mouse coords, cross-window drag, synthetic
|
|
22
|
+
* modifier injection) — callers use this flag to decide whether to
|
|
23
|
+
* surface graceful "not supported on Wayland" errors instead of silently
|
|
24
|
+
* misfiring through nut-js.
|
|
25
|
+
*/
|
|
26
|
+
readonly environment: 'wayland' | 'x11';
|
|
27
|
+
private screenSize;
|
|
28
|
+
private binaryCache;
|
|
29
|
+
private lastCursor;
|
|
30
|
+
/**
|
|
31
|
+
* Wayland input backend. On X11 this stays `kind:'none'` and all input
|
|
32
|
+
* flows through nut-js as before. On Wayland, ydotool takes over mouse +
|
|
33
|
+
* keyboard (if present); wtype is a keyboard-only fallback. Without
|
|
34
|
+
* either, we fall through to nut-js (which silently fails) and the
|
|
35
|
+
* adapter's permission probe reports input=false.
|
|
36
|
+
*/
|
|
37
|
+
private wayland;
|
|
38
|
+
/**
|
|
39
|
+
* AT-SPI D-Bus a11y bridge state (Tranche 4b). The bridge is a
|
|
40
|
+
* self-contained Python script (scripts/linux/atspi-bridge.py) that
|
|
41
|
+
* wraps gi.repository.Atspi. We probe its availability at init —
|
|
42
|
+
* requires python3 + python3-gi + gir1.2-atspi-2.0. When unavailable
|
|
43
|
+
* every a11y method returns its pre-existing safe empty response so
|
|
44
|
+
* nothing regresses on boxes without AT-SPI.
|
|
45
|
+
*/
|
|
46
|
+
private atspiAvailable;
|
|
47
|
+
private atspiScript;
|
|
48
|
+
init(): Promise<void>;
|
|
49
|
+
shutdown(): Promise<void>;
|
|
50
|
+
checkPermissions(): Promise<PermissionStatus>;
|
|
51
|
+
requestPermissions(): Promise<PermissionStatus>;
|
|
52
|
+
getScreenSize(): Promise<ScreenSize>;
|
|
53
|
+
listDisplays(): Promise<Display[]>;
|
|
54
|
+
screenshot(opts?: {
|
|
55
|
+
maxWidth?: number;
|
|
56
|
+
displayIndex?: number;
|
|
57
|
+
}): Promise<ScreenshotResult>;
|
|
58
|
+
screenshotRegion(x: number, y: number, w: number, h: number): Promise<ScreenshotResult>;
|
|
59
|
+
private grabScreen;
|
|
60
|
+
listWindows(): Promise<WindowInfo[]>;
|
|
61
|
+
getActiveWindow(): Promise<WindowInfo | null>;
|
|
62
|
+
focusWindow(query: {
|
|
63
|
+
processName?: string;
|
|
64
|
+
processId?: number;
|
|
65
|
+
title?: string;
|
|
66
|
+
}): Promise<boolean>;
|
|
67
|
+
maximizeWindow(): Promise<void>;
|
|
68
|
+
setWindowState(state: WindowState, query?: {
|
|
69
|
+
processName?: string;
|
|
70
|
+
processId?: number;
|
|
71
|
+
title?: string;
|
|
72
|
+
}): Promise<boolean>;
|
|
73
|
+
setWindowBounds(bounds: {
|
|
74
|
+
x?: number;
|
|
75
|
+
y?: number;
|
|
76
|
+
width?: number;
|
|
77
|
+
height?: number;
|
|
78
|
+
}, query?: {
|
|
79
|
+
processName?: string;
|
|
80
|
+
processId?: number;
|
|
81
|
+
title?: string;
|
|
82
|
+
}): Promise<boolean>;
|
|
83
|
+
private resolveWindowHandle;
|
|
84
|
+
getUiTree(processId?: number): Promise<UiElement[]>;
|
|
85
|
+
findElements(query: {
|
|
86
|
+
name?: string;
|
|
87
|
+
controlType?: string;
|
|
88
|
+
processId?: number;
|
|
89
|
+
}): Promise<UiElement[]>;
|
|
90
|
+
getFocusedElement(): Promise<UiElement | null>;
|
|
91
|
+
invokeElement(_query: {
|
|
92
|
+
name?: string;
|
|
93
|
+
controlType?: string;
|
|
94
|
+
processId?: number;
|
|
95
|
+
action?: InvokeAction;
|
|
96
|
+
value?: string;
|
|
97
|
+
}): Promise<{
|
|
98
|
+
success: boolean;
|
|
99
|
+
bounds?: {
|
|
100
|
+
x: number;
|
|
101
|
+
y: number;
|
|
102
|
+
width: number;
|
|
103
|
+
height: number;
|
|
104
|
+
};
|
|
105
|
+
data?: Record<string, unknown>;
|
|
106
|
+
}>;
|
|
107
|
+
waitForElement(query: WaitForElementQuery, timeoutMs: number): Promise<UiElement | null>;
|
|
108
|
+
/**
|
|
109
|
+
* Normalize one element record from the Python bridge into the shared
|
|
110
|
+
* UiElement shape used by the Windows + macOS adapters. Missing bounds
|
|
111
|
+
* default to zero; missing state flags pass through as undefined.
|
|
112
|
+
*/
|
|
113
|
+
private normalizeAtspiElement;
|
|
114
|
+
private toNutButton;
|
|
115
|
+
mouseClick(x: number, y: number, opts?: {
|
|
116
|
+
button?: MouseButton;
|
|
117
|
+
count?: number;
|
|
118
|
+
}): Promise<void>;
|
|
119
|
+
mouseMove(x: number, y: number): Promise<void>;
|
|
120
|
+
mouseMoveRelative(dx: number, dy: number): Promise<void>;
|
|
121
|
+
mouseDrag(x1: number, y1: number, x2: number, y2: number): Promise<void>;
|
|
122
|
+
mouseScroll(x: number, y: number, direction: ScrollDirection, amount?: number): Promise<void>;
|
|
123
|
+
mouseDown(button?: MouseButton): Promise<void>;
|
|
124
|
+
mouseUp(button?: MouseButton): Promise<void>;
|
|
125
|
+
typeText(text: string): Promise<void>;
|
|
126
|
+
keyPress(combo: PortableKeyCombo): Promise<void>;
|
|
127
|
+
keyDown(key: PortableKeyCombo): Promise<void>;
|
|
128
|
+
keyUp(key: PortableKeyCombo): Promise<void>;
|
|
129
|
+
private resolveModifier;
|
|
130
|
+
private resolveKey;
|
|
131
|
+
readClipboard(): Promise<string>;
|
|
132
|
+
writeClipboard(text: string): Promise<void>;
|
|
133
|
+
/**
|
|
134
|
+
* Thin shim — delegates straight to `launchApp` with no alias resolution.
|
|
135
|
+
* The platform layer is alias-data-agnostic; cross-OS name mapping (e.g.
|
|
136
|
+
* Windows-style "Notepad" → Linux "gedit") happens in the caller above
|
|
137
|
+
* (the agent's `open_app` tool, the router's `handleOpenApp`).
|
|
138
|
+
*/
|
|
139
|
+
openApp(name: string, opts?: {
|
|
140
|
+
alwaysNewInstance?: boolean;
|
|
141
|
+
}): Promise<{
|
|
142
|
+
pid?: number;
|
|
143
|
+
title?: string;
|
|
144
|
+
}>;
|
|
145
|
+
launchApp(name: string, opts?: {
|
|
146
|
+
alwaysNewInstance?: boolean;
|
|
147
|
+
url?: string;
|
|
148
|
+
cwd?: string;
|
|
149
|
+
uwpAppId?: string;
|
|
150
|
+
searchTerm?: string;
|
|
151
|
+
}): Promise<{
|
|
152
|
+
pid?: number;
|
|
153
|
+
title?: string;
|
|
154
|
+
handle?: number | string;
|
|
155
|
+
}>;
|
|
156
|
+
/**
|
|
157
|
+
* After a launch, wait for the new window to surface using diff-and-poll.
|
|
158
|
+
* Replaces the previous fixed-delay-then-single-scan, which lost slow-
|
|
159
|
+
* starting apps (Electron-based apps, Java apps, Wine apps) and made the
|
|
160
|
+
* agent fall back to keyboard shortcuts that are blocked by safety.
|
|
161
|
+
*
|
|
162
|
+
* Linux's `spawn(name, …)` directly produces the target app's PID (unlike
|
|
163
|
+
* Windows / macOS where the spawn target is a launcher), so when `pid` is
|
|
164
|
+
* supplied the helper will preferentially match it — fastest and most
|
|
165
|
+
* reliable when the binary spawns its own window.
|
|
166
|
+
*/
|
|
167
|
+
private findSpawnedWindow;
|
|
168
|
+
private spawnDetached;
|
|
169
|
+
private hasBinary;
|
|
170
|
+
private parseWmctrlOutput;
|
|
171
|
+
private withTimeout;
|
|
172
|
+
private delay;
|
|
173
|
+
}
|