@agent-sh/computer-use-linux 0.7.24 → 0.7.25

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/README.md CHANGED
@@ -106,7 +106,9 @@ The preference does not substitute an arbitrary action name for a coordinate
106
106
  click. Explicit `x`/`y`, right clicks, and double/multiple clicks retain pointer
107
107
  semantics. Re-check application state after either kind of activation.
108
108
 
109
- On KDE Wayland, element clicks that need pointer dispatch match the cached AT-SPI frame to a coherent KWin window/output snapshot, then map the target separately to physical capture pixels (uinput) and logical desktop coordinates (portal). Client-local and decorated frames, actual decoration offsets, and nonzero or negative output origins are supported when the geometry and uniform output scale can be verified. Ambiguous windows, mixed or unknown scales, overlapping outputs, or stale pointer geometry fail before input; explicit coordinates keep their existing behavior.
109
+ On KDE Wayland, element clicks that need pointer dispatch match the cached AT-SPI frame to a coherent KWin window/output snapshot, then map the target separately to physical capture pixels (uinput) and logical desktop coordinates (portal). Client-local and decorated frames, actual decoration offsets, and nonzero or negative output origins are supported when the geometry and uniform output scale can be verified. Ambiguous windows, mixed or unknown scales, overlapping outputs, or stale pointer geometry fail before input.
110
+
111
+ Explicit `x`/`y` defaults to `coordinate_space: "capture"` (raw screenshot pixels). To click a global AT-SPI screen point, pass `coordinate_space: "atspi"` together with its `element_index` or semantic selector; KDE Wayland then applies the same native KWin decoration and scale conversion as an element-bounds click, including when the AT-SPI window frame is client-local. This mode requires both coordinates and element identity and cannot be combined with `relative: true`. Other calls keep their existing coordinate behavior.
110
112
 
111
113
  For coordinate `click` or `scroll` with `relative: true`, select a target window
112
114
  and measure from its clipped screenshot crop origin. Divide preview `x` and
package/npm/README.md CHANGED
@@ -151,7 +151,13 @@ does not yet forward the flag or include the tool in its catalog.
151
151
  avoiding pointer-coordinate conversion when that action is available. Explicit
152
152
  `activate`/`jump` requests belong in `perform_action`, not `click`, even when
153
153
  bounds are missing. Explicit
154
- `x`/`y`, right clicks, and multi-clicks retain pointer semantics. For coordinate
154
+ `x`/`y`, right clicks, and multi-clicks retain pointer semantics. Explicit
155
+ coordinates default to raw screenshot pixels (`coordinate_space: "capture"`).
156
+ On KDE Wayland, `coordinate_space: "atspi"` with `element_index` or a semantic
157
+ selector converts a global AT-SPI screen point through the element's KWin window,
158
+ decoration, output origin, and display scale, even with a client-local AT-SPI
159
+ window frame. It requires both `x`/`y` and element identity
160
+ and cannot be combined with `relative: true`. For coordinate
155
161
  `click` or `scroll` with `relative: true`, use the clipped target-window
156
162
  screenshot crop origin and divide preview coordinates by screenshot `scale`.
157
163
  Do not use widget-local or raw GDK surface coordinates. A window target is
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-sh/computer-use-linux",
3
- "version": "0.7.24",
3
+ "version": "0.7.25",
4
4
  "description": "Native Linux desktop control for AI agents (MCP server, Pi tools, and CLI): semantic AT-SPI accessibility trees, screenshots, compositor window targeting, Wayland/X11 input, and an on-screen activity indicator.",
5
5
  "license": "MIT",
6
6
  "type": "commonjs",
@@ -7,9 +7,9 @@ export interface GeneratedMcpToolDefinition {
7
7
  annotations: Record<string, unknown>;
8
8
  }
9
9
 
10
- export const GENERATED_SERVER_VERSION = "0.7.24";
11
- export const GENERATED_TOOL_CATALOG_HASH = "dee39a43a4d642b61b861f4aa90cdabc9a416befbc10d463a005bcbb892eaf14";
12
- export const GENERATED_SHELL_TOOL_CATALOG_HASH = "b78f54e50d3a2d615af92ee2a2373599684f02a802b06f1226981f985e34f456";
10
+ export const GENERATED_SERVER_VERSION = "0.7.25";
11
+ export const GENERATED_TOOL_CATALOG_HASH = "ca02e39b8ba12b0f3774af084e67a8401bdd0d3777a82af05da9a7579fa9e605";
12
+ export const GENERATED_SHELL_TOOL_CATALOG_HASH = "b0ae29440000015c1735b1da5744fbaccb505202e49de40b565800130e6dc48d";
13
13
  export const GENERATED_MCP_TOOLS =
14
14
  [
15
15
  {
@@ -187,9 +187,16 @@ export const GENERATED_MCP_TOOLS =
187
187
  "openWorldHint": true,
188
188
  "readOnlyHint": false
189
189
  },
190
- "description": "Click an element by index, semantic selector, or desktop coordinate pixels from screenshot metadata. Plain left activation prefers a native AT-SPI click/press/toggle action, avoiding toolkit coordinate scaling. Entry activate and slider jump actions are not substituted for pointer clicks. Explicit coordinates, right clicks, and multi-clicks retain pointer semantics. Pass screenshot_after (true, \"screen\", or \"window\") or include_tree=true to return post-action observation in the same result.",
190
+ "description": "Click an element by index, semantic selector, or desktop coordinate pixels from screenshot metadata. Plain left activation prefers a native AT-SPI click/press/toggle action, avoiding toolkit coordinate scaling. Entry activate and slider jump actions are not substituted for pointer clicks. Explicit coordinates, right clicks, and multi-clicks retain pointer semantics. Explicit x/y default to raw screenshot capture pixels; coordinate_space=\"atspi\" with element_index or a semantic selector maps a global AT-SPI screen point through the element's KWin window and output geometry on KDE Wayland. Pass screenshot_after (true, \"screen\", or \"window\") or include_tree=true to return post-action observation in the same result.",
191
191
  "inputSchema": {
192
192
  "$defs": {
193
+ "ClickCoordinateSpace": {
194
+ "enum": [
195
+ "capture",
196
+ "atspi"
197
+ ],
198
+ "type": "string"
199
+ },
193
200
  "ScreenshotOutputFormat": {
194
201
  "enum": [
195
202
  "png",
@@ -222,6 +229,11 @@ export const GENERATED_MCP_TOOLS =
222
229
  "null"
223
230
  ]
224
231
  },
232
+ "coordinate_space": {
233
+ "$ref": "#/$defs/ClickCoordinateSpace",
234
+ "default": "capture",
235
+ "description": "Pixel space for explicit x/y: raw screenshot capture pixels (default),\nor global AT-SPI screen coordinates mapped through the element's KWin window."
236
+ },
225
237
  "element_index": {
226
238
  "default": null,
227
239
  "minimum": 0,
@@ -168,7 +168,13 @@ Plain left element/index/selector `click` prefers native AT-SPI `click`,
168
168
  `press`, or `toggle` over toolkit bounds, avoiding coordinate
169
169
  conversion when available. This preference does not replace a coordinate click
170
170
  with an arbitrary action name. Explicit `x`/`y`, right clicks, and double/multiple
171
- clicks retain pointer semantics.
171
+ clicks retain pointer semantics. Explicit coordinates default to raw screenshot
172
+ pixels (`coordinate_space: "capture"`). On KDE Wayland, pass
173
+ `coordinate_space: "atspi"` with `element_index` or a semantic selector to map
174
+ a global AT-SPI screen point through the element's KWin window, decoration,
175
+ output origin, and display scale, even with a client-local AT-SPI window frame.
176
+ This requires both `x`/`y` and element identity; do not
177
+ combine it with `relative: true` or use it for ordinary screenshot pixels.
172
178
  Use `perform_action` explicitly for entry `activate` or slider `jump`; `click`
173
179
  never substitutes those actions, including when bounds are unavailable.
174
180