Unified · Split
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "executor", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "bin": { |
| 6 | 6 | "executor": "./bin/executor.ts" |
| @@ -1,20 +1,23 @@ | ||
| 1 | 1 | ## Highlights |
| 2 | 2 | |
| 3 | −### Executor Desktop (mac, windows, linux) | |
| 3 | +### More reliable connected tools | |
| 4 | 4 | |
| 5 | −The CLI's web UI now ships as a native desktop app. Same gateway, same UI, same sources — packaged with the Bun-compiled server bundled inside the Electron app so there's no Node install, no `executor web` running in your terminal, no port to remember. | |
| 6 | − | |
| 7 | −- Drag-to-Applications DMG with the Executor icon. Auto-updates via `electron-updater` directly from GitHub releases. | |
| 8 | −- macOS builds are signed with a Developer ID Application cert and notarized through the App Store Connect API — first launch is a single click, no Gatekeeper dance. | |
| 9 | −- State lives at `~/.executor/` — the same path the CLI uses. Sources, secrets, and policies set up in `executor web` show up in the desktop app and vice versa. | |
| 10 | −- Linux: AppImage / deb / rpm for x64 and arm64. Windows: `.exe` (currently unsigned — code-signing pipeline in flight). | |
| 11 | − | |
| 12 | −Downloads land on each [GitHub release](https://github.com/RhysSullivan/executor/releases/latest) under the `executor-desktop-*` assets. | |
| 5 | +- OpenAPI, GraphQL, and MCP tools now return structured authentication failures with recovery guidance instead of opaque internal errors. | |
| 6 | +- OAuth popups now complete more reliably in Chrome by preserving the callback channel through the same-origin completion page. | |
| 7 | +- OAuth Dynamic Client Registration data is reused across retries and reconnects, including scopes, so providers are not asked to register duplicate clients. | |
| 8 | +- MCP tool output schemas now match the actual invocation result envelope, including `content`, `structuredContent`, `_meta`, and `isError`. | |
| 13 | 9 | |
| 14 | 10 | ## UI |
| 15 | 11 | |
| 16 | −- Sidebar now shows a "Beta" pill next to the executor wordmark. | |
| 12 | +- No UI-only changes in this patch. | |
| 17 | 13 | |
| 18 | 14 | ## Fixes |
| 19 | 15 | |
| 20 | −- Source configuration is no longer replayed from or written back to `executor.jsonc`; local source state stays in the shared Executor database while `executor.jsonc` continues to load plugin entries. | |
| 16 | +- Auth failures from secret-backed and OAuth-backed tools now include model-visible next steps for missing credentials, missing secrets, expired OAuth connections, upstream 401/403 responses, and MCP per-user isolation cases. | |
| 17 | +- Retrying OAuth sign-in no longer starts an avoidable second Dynamic Client Registration request. | |
| 18 | +- Reconnecting an OAuth source keeps the previously registered DCR scope list intact. | |
| 19 | +- MCP sources now describe output types as Executor's full successful `CallToolResult` data shape instead of only the upstream `structuredContent` schema. | |
| 20 | + | |
| 21 | +## Breaking changes | |
| 22 | + | |
| 23 | +None. | |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/cloud", |
| 3 | − "version": "1.4.17", | |
| 3 | + "version": "1.4.18", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "type": "module", |
| 6 | 6 | "scripts": { |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/desktop", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "homepage": "https://github.com/RhysSullivan/executor", |
| 6 | 6 | "license": "MIT", |
| @@ -29,7 +29,7 @@ · 28 unmodified lines | ||
| 29 | 29 | }, |
| 30 | 30 | "apps/cli": { |
| 31 | 31 | "name": "executor", |
| 32 | − "version": "1.4.31", | |
| 32 | + "version": "1.4.32", | |
| 33 | 33 | "bin": { |
| 34 | 34 | "executor": "./bin/executor.ts", |
| 35 | 35 | }, |
| @@ -50,7 +50,7 @@ · 14 unmodified lines | ||
| 50 | 50 | }, |
| 51 | 51 | "apps/cloud": { |
| 52 | 52 | "name": "@executor-js/cloud", |
| 53 | − "version": "1.4.17", | |
| 53 | + "version": "1.4.18", | |
| 54 | 54 | "dependencies": { |
| 55 | 55 | "@cloudflare/vite-plugin": "^1.31.1", |
| 56 | 56 | "@effect/atom-react": "catalog:", |
| @@ -117,7 +117,7 @@ · 60 unmodified lines | ||
| 117 | 117 | }, |
| 118 | 118 | "apps/desktop": { |
| 119 | 119 | "name": "@executor-js/desktop", |
| 120 | − "version": "1.4.31", | |
| 120 | + "version": "1.4.32", | |
| 121 | 121 | "dependencies": { |
| 122 | 122 | "electron-log": "^5", |
| 123 | 123 | "electron-store": "^10", |
| @@ -231,7 +231,7 @@ · 107 unmodified lines | ||
| 231 | 231 | }, |
| 232 | 232 | "examples/all-plugins": { |
| 233 | 233 | "name": "@executor-js/example-all-plugins", |
| 234 | − "version": "0.0.17", | |
| 234 | + "version": "0.0.18", | |
| 235 | 235 | "dependencies": { |
| 236 | 236 | "@executor-js/plugin-file-secrets": "workspace:*", |
| 237 | 237 | "@executor-js/plugin-google-discovery": "workspace:*", |
| @@ -251,7 +251,7 @@ · 13 unmodified lines | ||
| 251 | 251 | }, |
| 252 | 252 | "examples/docs-sdk-quickstart": { |
| 253 | 253 | "name": "@executor-js/example-docs-sdk-quickstart", |
| 254 | − "version": "0.0.2", | |
| 254 | + "version": "0.0.3", | |
| 255 | 255 | "dependencies": { |
| 256 | 256 | "@executor-js/plugin-openapi": "workspace:*", |
| 257 | 257 | "@executor-js/sdk": "workspace:*", |
| @@ -301,7 +301,7 @@ · 43 unmodified lines | ||
| 301 | 301 | }, |
| 302 | 302 | "packages/core/api": { |
| 303 | 303 | "name": "@executor-js/api", |
| 304 | − "version": "1.4.19", | |
| 304 | + "version": "1.4.20", | |
| 305 | 305 | "dependencies": { |
| 306 | 306 | "@executor-js/execution": "workspace:*", |
| 307 | 307 | "@executor-js/sdk": "workspace:*", |
| @@ -317,7 +317,7 @@ · 9 unmodified lines | ||
| 317 | 317 | }, |
| 318 | 318 | "packages/core/cli": { |
| 319 | 319 | "name": "@executor-js/cli", |
| 320 | − "version": "0.2.3", | |
| 320 | + "version": "0.2.4", | |
| 321 | 321 | "bin": { |
| 322 | 322 | "executor-sdk": "./dist/index.js", |
| 323 | 323 | }, |
| @@ -338,7 +338,7 @@ · 14 unmodified lines | ||
| 338 | 338 | }, |
| 339 | 339 | "packages/core/config": { |
| 340 | 340 | "name": "@executor-js/config", |
| 341 | − "version": "1.4.31", | |
| 341 | + "version": "1.4.32", | |
| 342 | 342 | "dependencies": { |
| 343 | 343 | "@executor-js/sdk": "workspace:*", |
| 344 | 344 | "effect": "catalog:", |
| @@ -356,7 +356,7 @@ · 11 unmodified lines | ||
| 356 | 356 | }, |
| 357 | 357 | "packages/core/execution": { |
| 358 | 358 | "name": "@executor-js/execution", |
| 359 | − "version": "1.4.31", | |
| 359 | + "version": "1.4.32", | |
| 360 | 360 | "dependencies": { |
| 361 | 361 | "@executor-js/codemode-core": "workspace:*", |
| 362 | 362 | "@executor-js/sdk": "workspace:*", |
| @@ -418,7 +418,7 @@ · 55 unmodified lines | ||
| 418 | 418 | }, |
| 419 | 419 | "packages/core/sdk": { |
| 420 | 420 | "name": "@executor-js/sdk", |
| 421 | − "version": "1.4.31", | |
| 421 | + "version": "1.4.32", | |
| 422 | 422 | "dependencies": { |
| 423 | 423 | "@standard-schema/spec": "^1.1.0", |
| 424 | 424 | "effect": "catalog:", |
| @@ -470,7 +470,7 @@ · 45 unmodified lines | ||
| 470 | 470 | }, |
| 471 | 471 | "packages/core/vite-plugin": { |
| 472 | 472 | "name": "@executor-js/vite-plugin", |
| 473 | − "version": "0.0.16", | |
| 473 | + "version": "0.0.17", | |
| 474 | 474 | "dependencies": { |
| 475 | 475 | "@executor-js/sdk": "workspace:*", |
| 476 | 476 | "jiti": "^2.6.1", |
| @@ -508,7 +508,7 @@ · 31 unmodified lines | ||
| 508 | 508 | }, |
| 509 | 509 | "packages/kernel/core": { |
| 510 | 510 | "name": "@executor-js/codemode-core", |
| 511 | − "version": "1.4.31", | |
| 511 | + "version": "1.4.32", | |
| 512 | 512 | "dependencies": { |
| 513 | 513 | "@babel/parser": "^7.29.2", |
| 514 | 514 | "@standard-schema/spec": "^1.0.0", |
| @@ -578,7 +578,7 @@ · 63 unmodified lines | ||
| 578 | 578 | }, |
| 579 | 579 | "packages/kernel/runtime-quickjs": { |
| 580 | 580 | "name": "@executor-js/runtime-quickjs", |
| 581 | − "version": "1.4.31", | |
| 581 | + "version": "1.4.32", | |
| 582 | 582 | "dependencies": { |
| 583 | 583 | "@executor-js/codemode-core": "workspace:*", |
| 584 | 584 | "effect": "catalog:", |
| @@ -595,7 +595,7 @@ · 10 unmodified lines | ||
| 595 | 595 | }, |
| 596 | 596 | "packages/plugins/desktop-settings": { |
| 597 | 597 | "name": "@executor-js/plugin-desktop-settings", |
| 598 | − "version": "1.4.31", | |
| 598 | + "version": "1.4.32", | |
| 599 | 599 | "dependencies": { |
| 600 | 600 | "@executor-js/sdk": "workspace:*", |
| 601 | 601 | "react": "catalog:", |
| @@ -608,7 +608,7 @@ · 6 unmodified lines | ||
| 608 | 608 | }, |
| 609 | 609 | "packages/plugins/example": { |
| 610 | 610 | "name": "@executor-js/plugin-example", |
| 611 | − "version": "1.4.31", | |
| 611 | + "version": "1.4.32", | |
| 612 | 612 | "dependencies": { |
| 613 | 613 | "@executor-js/sdk": "workspace:*", |
| 614 | 614 | }, |
| @@ -631,7 +631,7 @@ · 16 unmodified lines | ||
| 631 | 631 | }, |
| 632 | 632 | "packages/plugins/file-secrets": { |
| 633 | 633 | "name": "@executor-js/plugin-file-secrets", |
| 634 | − "version": "1.4.31", | |
| 634 | + "version": "1.4.32", | |
| 635 | 635 | "dependencies": { |
| 636 | 636 | "@executor-js/sdk": "workspace:*", |
| 637 | 637 | "effect": "catalog:", |
| @@ -645,7 +645,7 @@ · 7 unmodified lines | ||
| 645 | 645 | }, |
| 646 | 646 | "packages/plugins/google-discovery": { |
| 647 | 647 | "name": "@executor-js/plugin-google-discovery", |
| 648 | − "version": "1.4.31", | |
| 648 | + "version": "1.4.32", | |
| 649 | 649 | "dependencies": { |
| 650 | 650 | "@executor-js/sdk": "workspace:*", |
| 651 | 651 | "effect": "catalog:", |
| @@ -680,7 +680,7 @@ · 28 unmodified lines | ||
| 680 | 680 | }, |
| 681 | 681 | "packages/plugins/graphql": { |
| 682 | 682 | "name": "@executor-js/plugin-graphql", |
| 683 | − "version": "1.4.31", | |
| 683 | + "version": "1.4.32", | |
| 684 | 684 | "dependencies": { |
| 685 | 685 | "@effect/platform-node": "catalog:", |
| 686 | 686 | "@executor-js/config": "workspace:*", |
| @@ -718,7 +718,7 @@ · 31 unmodified lines | ||
| 718 | 718 | }, |
| 719 | 719 | "packages/plugins/keychain": { |
| 720 | 720 | "name": "@executor-js/plugin-keychain", |
| 721 | − "version": "1.4.31", | |
| 721 | + "version": "1.4.32", | |
| 722 | 722 | "dependencies": { |
| 723 | 723 | "@executor-js/sdk": "workspace:*", |
| 724 | 724 | "@napi-rs/keyring": "^1.2.0", |
| @@ -734,7 +734,7 @@ · 9 unmodified lines | ||
| 734 | 734 | }, |
| 735 | 735 | "packages/plugins/mcp": { |
| 736 | 736 | "name": "@executor-js/plugin-mcp", |
| 737 | − "version": "1.4.31", | |
| 737 | + "version": "1.4.32", | |
| 738 | 738 | "dependencies": { |
| 739 | 739 | "@cfworker/json-schema": "^4.1.1", |
| 740 | 740 | "@effect/platform-node": "catalog:", |
| @@ -773,7 +773,7 @@ · 32 unmodified lines | ||
| 773 | 773 | }, |
| 774 | 774 | "packages/plugins/onepassword": { |
| 775 | 775 | "name": "@executor-js/plugin-onepassword", |
| 776 | − "version": "1.4.31", | |
| 776 | + "version": "1.4.32", | |
| 777 | 777 | "dependencies": { |
| 778 | 778 | "@1password/op-js": "^0.1.13", |
| 779 | 779 | "@1password/sdk": "^0.4.1-beta.1", |
| @@ -806,7 +806,7 @@ · 26 unmodified lines | ||
| 806 | 806 | }, |
| 807 | 807 | "packages/plugins/openapi": { |
| 808 | 808 | "name": "@executor-js/plugin-openapi", |
| 809 | − "version": "1.4.31", | |
| 809 | + "version": "1.4.32", | |
| 810 | 810 | "dependencies": { |
| 811 | 811 | "@effect/platform-node": "catalog:", |
| 812 | 812 | "@executor-js/config": "workspace:*", |
| @@ -869,7 +869,7 @@ · 56 unmodified lines | ||
| 869 | 869 | }, |
| 870 | 870 | "packages/react": { |
| 871 | 871 | "name": "@executor-js/react", |
| 872 | − "version": "1.4.19", | |
| 872 | + "version": "1.4.20", | |
| 873 | 873 | "dependencies": { |
| 874 | 874 | "@base-ui/react": "^1.3.0", |
| 875 | 875 | "@effect/atom-react": "catalog:", |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/example-all-plugins", |
| 3 | − "version": "0.0.17", | |
| 3 | + "version": "0.0.18", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "type": "module", |
| 6 | 6 | "scripts": { |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/example-docs-sdk-quickstart", |
| 3 | − "version": "0.0.2", | |
| 3 | + "version": "0.0.3", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "type": "module", |
| 6 | 6 | "scripts": { |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/api", |
| 3 | − "version": "1.4.19", | |
| 3 | + "version": "1.4.20", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "type": "module", |
| 6 | 6 | "exports": { |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/cli", |
| 3 | − "version": "0.2.3", | |
| 3 | + "version": "0.2.4", | |
| 4 | 4 | "description": "CLI for the executor SDK — schema generation, migrations", |
| 5 | 5 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/cli", |
| 6 | 6 | "bugs": { |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/config", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/config", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/execution", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/execution", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/sdk", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/sdk", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/vite-plugin", |
| 3 | − "version": "0.0.16", | |
| 3 | + "version": "0.0.17", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/vite-plugin", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/codemode-core", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/kernel/core", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/runtime-quickjs", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/kernel/runtime-quickjs", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-desktop-settings", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/desktop-settings", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-example", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/example", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-file-secrets", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/file-secrets", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-google-discovery", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/google-discovery", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-graphql", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/graphql", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-keychain", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/keychain", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-mcp", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/mcp", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-onepassword", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/onepassword", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/plugin-openapi", |
| 3 | − "version": "1.4.31", | |
| 3 | + "version": "1.4.32", | |
| 4 | 4 | "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/openapi", |
| 5 | 5 | "bugs": { |
| 6 | 6 | "url": "https://github.com/RhysSullivan/executor/issues" |
| @@ -1,6 +1,6 @@ | ||
| 1 | 1 | { |
| 2 | 2 | "name": "@executor-js/react", |
| 3 | − "version": "1.4.19", | |
| 3 | + "version": "1.4.20", | |
| 4 | 4 | "private": true, |
| 5 | 5 | "type": "module", |
| 6 | 6 | "exports": { |