diff --git a/.lane/memory/package.json/01M5BG60Y3PD44YQYBK5K7V7AV-files-lists-only-the-vendore.md b/.lane/memory/package.json/01M5BG60Y3PD44YQYBK5K7V7AV-files-lists-only-the-vendore.md index 7358483..1820268 100644 --- a/.lane/memory/package.json/01M5BG60Y3PD44YQYBK5K7V7AV-files-lists-only-the-vendore.md +++ b/.lane/memory/package.json/01M5BG60Y3PD44YQYBK5K7V7AV-files-lists-only-the-vendore.md @@ -4,9 +4,9 @@ anchor: '@file' created: 2026-10-20T01:52:57Z norm: '1' sig: 021fb596db81e6d0 -body_hash: bd47a44b13e883fa -raw_hash: 535a5365401892a7 -vouched: 2026-10-20T14:47:24Z +body_hash: 09271b9c7551eef6 +raw_hash: 803a84a8375eb399 +vouched: 2026-10-20T18:02:39Z lines: 1-31 --- diff --git a/CHANGELOG.md b/CHANGELOG.md index f3dbd8b..3e328e7 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -4,6 +4,8 @@ Notable changes to Desktop Tools, newest first. Each release's GitHub release no ## [Unreleased] +## [0.17.1] - 2026-10-20 + ### Fixed - `desktop_select` selects text in a web page that isn't a field, such as a paragraph or a link, through WebKit's text markers. An image pasted into a web field is refused with `PASTE_UNVERIFIABLE_RECEIVER` before the focus check, since the page's handling can't be read back. ([#88](https://github.com/githubnext/desktop-tools/issues/88), [#99](https://github.com/githubnext/desktop-tools/issues/99)) @@ -271,7 +273,8 @@ Notable changes to Desktop Tools, newest first. Each release's GitHub release no - The first release: a signed, notarized Desktop Tools menu bar app, and the desktop tools served over MCP. ([#28](https://github.com/githubnext/desktop-tools/pull/28), [#29](https://github.com/githubnext/desktop-tools/pull/29), [#12](https://github.com/githubnext/desktop-tools/pull/12)) -[Unreleased]: https://github.com/githubnext/desktop-tools/compare/v0.17.0...HEAD +[Unreleased]: https://github.com/githubnext/desktop-tools/compare/v0.17.1...HEAD +[0.17.1]: https://github.com/githubnext/desktop-tools/compare/v0.17.0...v0.17.1 [0.17.0]: https://github.com/githubnext/desktop-tools/compare/v0.16.1...v0.17.0 [0.16.1]: https://github.com/githubnext/desktop-tools/compare/v0.16.0...v0.16.1 [0.16.0]: https://github.com/githubnext/desktop-tools/compare/v0.15.0...v0.16.0 diff --git a/README.md b/README.md index a98cc8e..c8dbc53 100644 --- a/README.md +++ b/README.md @@ -38,7 +38,7 @@ You need macOS 15 or later. The MCP server ships inside the app. } ``` - A setup from before 0.17.0 that runs `npx -y --package=github:githubnext/desktop-tools#v0.17.0 desktop-tools-mcp` (Node 22 or later) keeps working: it hands over to the app's server. + An `npx` setup, `npx -y --package=github:githubnext/desktop-tools#v0.17.1 desktop-tools-mcp` (Node 22 or later), also works: it hands over to the app's server. One pinned before v0.17.0 is refused with `CLIENT_OUTDATED`, so update its tag. 4. **Verify.** Ask the agent to call `desktop_apps`. It should list the running apps with an `inventory_completeness` of `complete`. If it says the socket is missing, open the app. diff --git a/docs/mcp.md b/docs/mcp.md index 8ea3086..415dc21 100644 --- a/docs/mcp.md +++ b/docs/mcp.md @@ -3,7 +3,7 @@ `desktop-tools-mcp` (`dist/mcp.js`) serves the desktop tools over stdio MCP, with Ace's native-first guidance as its instructions. By default it uses the [Desktop Tools app](app.md)'s signed client and socket in `~/.local/state/desktop-tools`. Run it from this repository with `npx`, pinned to a release tag, or from a checkout with `node`: ```sh -claude mcp add desktop -- npx -y --package=github:githubnext/desktop-tools#v0.17.0 desktop-tools-mcp +claude mcp add desktop -- npx -y --package=github:githubnext/desktop-tools#v0.17.1 desktop-tools-mcp claude mcp add desktop -- node /dist/mcp.js ``` @@ -25,7 +25,7 @@ For Codex, in `~/.codex/config.toml`: ```toml [mcp_servers.desktop] command = "npx" -args = ["-y", "--package=github:githubnext/desktop-tools#v0.17.0", "desktop-tools-mcp"] +args = ["-y", "--package=github:githubnext/desktop-tools#v0.17.1", "desktop-tools-mcp"] ``` The tool names, descriptions, and argument schemas come from `@githubnext/desktop-tools/tools` (`desktopTools`, `desktopRequest`), which Ace's `desktop_*` tools also use. [Tools](tools.md) lists them. The descriptions don't repeat the rules every tool shares: exact targets, single-use snapshots, background and foreground input, what each outcome means, pausing, `desktop_wait` and `expect`, and the recipes. `desktopToolRules(app)` returns those rules, and the server adds them to its instructions; a host with its own agent guidance should include them too. diff --git a/package-lock.json b/package-lock.json index 6aca573..8e655d4 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "@githubnext/desktop-tools", - "version": "0.17.0", + "version": "0.17.1", "lockfileVersion": 3, "requires": true, "packages": { "": { "name": "@githubnext/desktop-tools", - "version": "0.17.0", + "version": "0.17.1", "license": "MIT", "os": [ "darwin" diff --git a/package.json b/package.json index cf00312..78a4987 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "@githubnext/desktop-tools", - "version": "0.17.0", + "version": "0.17.1", "description": "Signed macOS desktop inspection and input for agents, with a pure Swift host and MCP server", "license": "MIT", "type": "module",