diff --git a/.changeset/cimd-org-redirect-uri.md b/.changeset/cimd-org-redirect-uri.md deleted file mode 100644 index 9b1c232e2..000000000 --- a/.changeset/cimd-org-redirect-uri.md +++ /dev/null @@ -1,12 +0,0 @@ ---- -"@executor-js/api": patch ---- - -Fix OAuth "Mismatching redirect URI" for org-scoped client-id metadata documents - -Org-scoped client-id metadata documents registered their callback as -`redirect_uri` with an `executor_org` query param, but the client always sends -the bare callback and the org is carried in the OAuth `state`. Providers that -compare `redirect_uri` as an exact string (such as PostHog) rejected the -authorize request. Org targets now keep their distinct `client_id` URL but -register the same bare callback `redirect_uri` as every other target. diff --git a/.changeset/desktop-background-service-consent-seam.md b/.changeset/desktop-background-service-consent-seam.md deleted file mode 100644 index 35e038678..000000000 --- a/.changeset/desktop-background-service-consent-seam.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"executor": patch ---- - -Add a test seam to skip the first-run "keep Executor running in the background?" consent dialog under automation, matching the existing `confirmResetState` seam. Set `EXECUTOR_TEST_AUTO_CONFIRM_BACKGROUND_SERVICE=1` to keep the background service or any other value to decline. When the variable is unset the dialog is shown exactly as before. Native dialogs cannot be answered from CDP or Playwright, so a packaged first-run boot under automation previously blocked at this prompt with no way to proceed. diff --git a/.changeset/desktop-sidecar-auth-token-dash.md b/.changeset/desktop-sidecar-auth-token-dash.md deleted file mode 100644 index c6d965a2b..000000000 --- a/.changeset/desktop-sidecar-auth-token-dash.md +++ /dev/null @@ -1,5 +0,0 @@ ---- -"executor": patch ---- - -Fix the desktop app failing to start its local server when the generated auth token begins with a dash. The token is `randomBytes(32).toString("base64url")`, which can start with "-", and the packaged app passed it to the bundled CLI as a separate argument (`--auth-token`, then the token). The CLI then read the leading-dash token as an unknown flag, printed its help, and exited, so the desktop showed a fatal "local Executor server crashed during startup" dialog. This was persistent (the token is saved) and cross-platform, affecting roughly 1 in 64 fresh installs. The token is now passed in the combined `--auth-token=` form so a leading dash is treated as the value. diff --git a/.changeset/graphql-valid-selections.md b/.changeset/graphql-valid-selections.md deleted file mode 100644 index 33f3543df..000000000 --- a/.changeset/graphql-valid-selections.md +++ /dev/null @@ -1,9 +0,0 @@ ---- -"@executor-js/plugin-graphql": patch ---- - -Fix the GraphQL plugin generating invalid operations against large schemas, and make field selection caller-controlled instead of a baked-in guess. - -Previously each tool froze a recursive, depth- and count-bounded selection at sync time. Against a rich schema (GitLab) this produced invalid GraphQL (composite fields with no sub-selection, nested fields missing required arguments) so every call over a rich return type failed, and the arbitrary bound silently truncated which fields came back. - -Generated tools now default to selecting only scalar/enum leaf fields of the return type (always valid, always within a server's query-complexity budget), and expose an optional `select` input carrying a GraphQL selection set so a caller can request nested or list data per call (including supplying nested required arguments). Fixes #1146. diff --git a/.changeset/update-available-notifications.md b/.changeset/update-available-notifications.md deleted file mode 100644 index e62a5d624..000000000 --- a/.changeset/update-available-notifications.md +++ /dev/null @@ -1,8 +0,0 @@ ---- -"executor": minor -"@executor-js/desktop": minor -"@executor-js/api": minor -"@executor-js/react": minor ---- - -Notify when a newer Executor is published. The CLI now prints an "update available" line under its ready banner, and the web shell's sidebar update card works for real (a new `/v1/app/npm/dist-tags` endpoint backs it). In the desktop app the card shows a native "Restart to update" action wired to the in-app updater instead of the npm command. The check is best-effort and offline-safe, and can be disabled with `EXECUTOR_DISABLE_UPDATE_CHECK`. diff --git a/apps/cli/CHANGELOG.md b/apps/cli/CHANGELOG.md index e92c30743..950b63930 100644 --- a/apps/cli/CHANGELOG.md +++ b/apps/cli/CHANGELOG.md @@ -1,5 +1,23 @@ # executor +## 2.0.0 + +### Minor Changes + +- [#1182](https://github.com/RhysSullivan/executor/pull/1182) [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Notify when a newer Executor is published. The CLI now prints an "update available" line under its ready banner, and the web shell's sidebar update card works for real (a new `/v1/app/npm/dist-tags` endpoint backs it). In the desktop app the card shows a native "Restart to update" action wired to the in-app updater instead of the npm command. The check is best-effort and offline-safe, and can be disabled with `EXECUTOR_DISABLE_UPDATE_CHECK`. + +### Patch Changes + +- [#1170](https://github.com/RhysSullivan/executor/pull/1170) [`0de0106`](https://github.com/RhysSullivan/executor/commit/0de0106771aa8997db72f0ce3a619ac4920ccfcd) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Add a test seam to skip the first-run "keep Executor running in the background?" consent dialog under automation, matching the existing `confirmResetState` seam. Set `EXECUTOR_TEST_AUTO_CONFIRM_BACKGROUND_SERVICE=1` to keep the background service or any other value to decline. When the variable is unset the dialog is shown exactly as before. Native dialogs cannot be answered from CDP or Playwright, so a packaged first-run boot under automation previously blocked at this prompt with no way to proceed. + +- [#1169](https://github.com/RhysSullivan/executor/pull/1169) [`94647f1`](https://github.com/RhysSullivan/executor/commit/94647f1fc33e57d2eb159f929f95d9e9f6ad60cd) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Fix the desktop app failing to start its local server when the generated auth token begins with a dash. The token is `randomBytes(32).toString("base64url")`, which can start with "-", and the packaged app passed it to the bundled CLI as a separate argument (`--auth-token`, then the token). The CLI then read the leading-dash token as an unknown flag, printed its help, and exited, so the desktop showed a fatal "local Executor server crashed during startup" dialog. This was persistent (the token is saved) and cross-platform, affecting roughly 1 in 64 fresh installs. The token is now passed in the combined `--auth-token=` form so a leading dash is treated as the value. + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/local@1.4.4 + - @executor-js/sdk@2.0.0 + - @executor-js/runtime-quickjs@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/apps/cli/package.json b/apps/cli/package.json index 2210e0f7f..df935141f 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "executor", - "version": "1.5.22", + "version": "2.0.0", "private": true, "bin": { "executor": "./bin/executor.ts" diff --git a/apps/cloud/CHANGELOG.md b/apps/cloud/CHANGELOG.md index 83938c85c..c5880b586 100644 --- a/apps/cloud/CHANGELOG.md +++ b/apps/cloud/CHANGELOG.md @@ -1,5 +1,27 @@ # @executor-js/cloud +## 1.4.41 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`cc94666`](https://github.com/RhysSullivan/executor/commit/cc94666fa6adf5a0c7ceb667b3797334020327b1), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/plugin-graphql@2.0.0 + - @executor-js/react@1.5.0 + - @executor-js/cloudflare@0.0.22 + - @executor-js/plugin-google@2.0.0 + - @executor-js/plugin-mcp@2.0.0 + - @executor-js/plugin-microsoft@2.0.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/plugin-toolkits@2.0.0 + - @executor-js/plugin-workos-vault@0.0.2 + - @executor-js/runtime-dynamic-worker@1.4.4 + - @executor-js/sdk@2.0.0 + - @executor-js/runtime-quickjs@2.0.0 + - @executor-js/execution@2.0.0 + - @executor-js/vite-plugin@0.0.40 + - @executor-js/host-mcp@1.4.4 + ## 1.4.40 ### Patch Changes diff --git a/apps/cloud/package.json b/apps/cloud/package.json index e3b50657f..bc0aa5de8 100644 --- a/apps/cloud/package.json +++ b/apps/cloud/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cloud", - "version": "1.4.40", + "version": "1.4.41", "private": true, "type": "module", "scripts": { diff --git a/apps/desktop/CHANGELOG.md b/apps/desktop/CHANGELOG.md index 1339e4b5c..c94136630 100644 --- a/apps/desktop/CHANGELOG.md +++ b/apps/desktop/CHANGELOG.md @@ -1,5 +1,11 @@ # @executor-js/desktop +## 2.0.0 + +### Minor Changes + +- [#1182](https://github.com/RhysSullivan/executor/pull/1182) [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Notify when a newer Executor is published. The CLI now prints an "update available" line under its ready banner, and the web shell's sidebar update card works for real (a new `/v1/app/npm/dist-tags` endpoint backs it). In the desktop app the card shows a native "Restart to update" action wired to the in-app updater instead of the npm command. The check is best-effort and offline-safe, and can be disabled with `EXECUTOR_DISABLE_UPDATE_CHECK`. + ## 1.5.22 ## 1.5.21 diff --git a/apps/desktop/package.json b/apps/desktop/package.json index 39529c940..bb17acf9d 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/desktop", - "version": "1.5.22", + "version": "2.0.0", "private": true, "homepage": "https://github.com/RhysSullivan/executor", "license": "MIT", diff --git a/apps/host-selfhost/CHANGELOG.md b/apps/host-selfhost/CHANGELOG.md index afdedf446..9e8fefb02 100644 --- a/apps/host-selfhost/CHANGELOG.md +++ b/apps/host-selfhost/CHANGELOG.md @@ -1,5 +1,25 @@ # @executor-js/host-selfhost +## 0.0.22 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`cc94666`](https://github.com/RhysSullivan/executor/commit/cc94666fa6adf5a0c7ceb667b3797334020327b1), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/plugin-graphql@2.0.0 + - @executor-js/react@1.5.0 + - @executor-js/plugin-google@2.0.0 + - @executor-js/plugin-mcp@2.0.0 + - @executor-js/plugin-microsoft@2.0.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/plugin-toolkits@2.0.0 + - @executor-js/app@1.4.4 + - @executor-js/sdk@2.0.0 + - @executor-js/runtime-quickjs@2.0.0 + - @executor-js/execution@2.0.0 + - @executor-js/host-mcp@1.4.4 + - @executor-js/plugin-encrypted-secrets@0.0.22 + ## 0.0.21 ### Patch Changes diff --git a/apps/host-selfhost/package.json b/apps/host-selfhost/package.json index d56738019..279c28390 100644 --- a/apps/host-selfhost/package.json +++ b/apps/host-selfhost/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/host-selfhost", - "version": "0.0.21", + "version": "0.0.22", "private": true, "type": "module", "exports": { diff --git a/bun.lock b/bun.lock index 56c0d8d67..20d7be944 100644 --- a/bun.lock +++ b/bun.lock @@ -30,7 +30,7 @@ }, "apps/cli": { "name": "executor", - "version": "1.5.22", + "version": "2.0.0", "bin": { "executor": "./bin/executor.ts", }, @@ -55,7 +55,7 @@ }, "apps/cloud": { "name": "@executor-js/cloud", - "version": "1.4.40", + "version": "1.4.41", "dependencies": { "@cloudflare/vite-plugin": "^1.31.1", "@effect/atom-react": "catalog:", @@ -126,7 +126,7 @@ }, "apps/desktop": { "name": "@executor-js/desktop", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@sentry/bun": "^10.57.0", "@sentry/electron": "^7.13.0", @@ -213,7 +213,7 @@ }, "apps/host-selfhost": { "name": "@executor-js/host-selfhost", - "version": "0.0.21", + "version": "0.0.22", "dependencies": { "@better-auth/api-key": "^1.6.11", "@effect/atom-react": "catalog:", @@ -340,7 +340,7 @@ }, "e2e": { "name": "@executor-js/e2e", - "version": "0.0.19", + "version": "0.0.20", "dependencies": { "@executor-js/api": "workspace:*", "@executor-js/emulate": "^0.8.1", @@ -376,7 +376,7 @@ }, "examples/all-plugins": { "name": "@executor-js/example-all-plugins", - "version": "0.0.40", + "version": "0.0.41", "dependencies": { "@executor-js/plugin-file-secrets": "workspace:*", "@executor-js/plugin-google": "workspace:*", @@ -396,7 +396,7 @@ }, "examples/docs-sdk-quickstart": { "name": "@executor-js/example-docs-sdk-quickstart", - "version": "0.0.25", + "version": "0.0.26", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -450,7 +450,7 @@ }, "packages/core/api": { "name": "@executor-js/api", - "version": "1.4.42", + "version": "1.5.0", "dependencies": { "@executor-js/execution": "workspace:*", "@executor-js/host-mcp": "workspace:*", @@ -467,7 +467,7 @@ }, "packages/core/cli": { "name": "@executor-js/cli", - "version": "0.2.28", + "version": "0.2.29", "bin": { "executor-sdk": "./dist/index.js", }, @@ -488,7 +488,7 @@ }, "packages/core/config": { "name": "@executor-js/config", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", "jiti": "^2.6.1", @@ -509,7 +509,7 @@ }, "packages/core/execution": { "name": "@executor-js/execution", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/codemode-core": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -575,7 +575,7 @@ }, "packages/core/sdk": { "name": "@executor-js/sdk", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/fumadb": "workspace:*", "@standard-schema/spec": "^1.1.0", @@ -627,7 +627,7 @@ }, "packages/core/vite-plugin": { "name": "@executor-js/vite-plugin", - "version": "0.0.39", + "version": "0.0.40", "dependencies": { "@executor-js/sdk": "workspace:*", "jiti": "^2.6.1", @@ -647,7 +647,7 @@ }, "packages/hosts/cloudflare": { "name": "@executor-js/cloudflare", - "version": "0.0.21", + "version": "0.0.22", "dependencies": { "@executor-js/api": "workspace:*", "@executor-js/execution": "workspace:*", @@ -686,7 +686,7 @@ }, "packages/kernel/core": { "name": "@executor-js/codemode-core", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@babel/parser": "^7.29.2", "@standard-schema/spec": "^1.0.0", @@ -759,7 +759,7 @@ }, "packages/kernel/runtime-quickjs": { "name": "@executor-js/runtime-quickjs", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/codemode-core": "workspace:*", "quickjs-emscripten": "catalog:", @@ -779,7 +779,7 @@ }, "packages/plugins/desktop-settings": { "name": "@executor-js/plugin-desktop-settings", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", "react": "catalog:", @@ -792,7 +792,7 @@ }, "packages/plugins/encrypted-secrets": { "name": "@executor-js/plugin-encrypted-secrets", - "version": "0.0.21", + "version": "0.0.22", "dependencies": { "@executor-js/sdk": "workspace:*", "effect": "catalog:", @@ -807,7 +807,7 @@ }, "packages/plugins/example": { "name": "@executor-js/plugin-example", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -830,7 +830,7 @@ }, "packages/plugins/file-secrets": { "name": "@executor-js/plugin-file-secrets", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -847,7 +847,7 @@ }, "packages/plugins/google": { "name": "@executor-js/plugin-google", - "version": "1.5.21", + "version": "2.0.0", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -884,7 +884,7 @@ }, "packages/plugins/graphql": { "name": "@executor-js/plugin-graphql", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@effect/platform-node": "catalog:", "@executor-js/config": "workspace:*", @@ -923,7 +923,7 @@ }, "packages/plugins/keychain": { "name": "@executor-js/plugin-keychain", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", "@napi-rs/keyring": "^1.2.0", @@ -942,7 +942,7 @@ }, "packages/plugins/mcp": { "name": "@executor-js/plugin-mcp", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@cfworker/json-schema": "^4.1.1", "@effect/platform-node": "catalog:", @@ -982,7 +982,7 @@ }, "packages/plugins/microsoft": { "name": "@executor-js/plugin-microsoft", - "version": "1.5.21", + "version": "2.0.0", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -1019,7 +1019,7 @@ }, "packages/plugins/onepassword": { "name": "@executor-js/plugin-onepassword", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@1password/op-js": "^0.1.13", "@1password/sdk": "^0.4.1-beta.1", @@ -1053,7 +1053,7 @@ }, "packages/plugins/openapi": { "name": "@executor-js/plugin-openapi", - "version": "1.5.22", + "version": "2.0.0", "dependencies": { "@effect/platform-node": "catalog:", "@executor-js/config": "workspace:*", @@ -1094,7 +1094,7 @@ }, "packages/plugins/toolkits": { "name": "@executor-js/plugin-toolkits", - "version": "1.5.14", + "version": "2.0.0", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -1163,7 +1163,7 @@ }, "packages/react": { "name": "@executor-js/react", - "version": "1.4.42", + "version": "1.5.0", "dependencies": { "@base-ui/react": "^1.3.0", "@effect/atom-react": "catalog:", diff --git a/e2e/AGENTS.md b/e2e/AGENTS.md index 78964b0bd..0105e51a6 100644 --- a/e2e/AGENTS.md +++ b/e2e/AGENTS.md @@ -187,7 +187,7 @@ still have a usable display: - **macOS**: the base image's autologin reaches a real Aqua session (WindowServer/Dock/Finder). Launch the app INTO it with `sudo launchctl asuser - …` (a plain SSH spawn lands in a non-GUI session); the unsigned arm64 + …` (a plain SSH spawn lands in a non-GUI session); the unsigned arm64 bundle is ad-hoc `codesign`'d in the guest; `screencapture` films it. - **linux**: no window server, so the app renders into an `Xvfb` display with a minimal WM (`openbox` — without it the electron window never maps); the window diff --git a/e2e/CHANGELOG.md b/e2e/CHANGELOG.md index 54b24cc0e..0437231f8 100644 --- a/e2e/CHANGELOG.md +++ b/e2e/CHANGELOG.md @@ -1,5 +1,18 @@ # @executor-js/e2e +## 0.0.20 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`cc94666`](https://github.com/RhysSullivan/executor/commit/cc94666fa6adf5a0c7ceb667b3797334020327b1), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/plugin-graphql@2.0.0 + - @executor-js/plugin-mcp@2.0.0 + - @executor-js/plugin-microsoft@2.0.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/plugin-toolkits@2.0.0 + - @executor-js/sdk@2.0.0 + ## 0.0.19 ### Patch Changes diff --git a/e2e/package.json b/e2e/package.json index 25d798d8f..5c74a79d9 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/e2e", - "version": "0.0.19", + "version": "0.0.20", "private": true, "type": "module", "scripts": { diff --git a/examples/all-plugins/CHANGELOG.md b/examples/all-plugins/CHANGELOG.md index 6a11f4435..27a6d2cdb 100644 --- a/examples/all-plugins/CHANGELOG.md +++ b/examples/all-plugins/CHANGELOG.md @@ -1,5 +1,20 @@ # @executor-js/example-all-plugins +## 0.0.41 + +### Patch Changes + +- Updated dependencies [[`cc94666`](https://github.com/RhysSullivan/executor/commit/cc94666fa6adf5a0c7ceb667b3797334020327b1)]: + - @executor-js/plugin-graphql@2.0.0 + - @executor-js/plugin-google@2.0.0 + - @executor-js/plugin-mcp@2.0.0 + - @executor-js/plugin-onepassword@2.0.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/plugin-workos-vault@0.0.2 + - @executor-js/sdk@2.0.0 + - @executor-js/plugin-file-secrets@2.0.0 + - @executor-js/plugin-keychain@2.0.0 + ## 0.0.40 ### Patch Changes diff --git a/examples/all-plugins/package.json b/examples/all-plugins/package.json index 64ec79eca..148393cad 100644 --- a/examples/all-plugins/package.json +++ b/examples/all-plugins/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/example-all-plugins", - "version": "0.0.40", + "version": "0.0.41", "private": true, "type": "module", "scripts": { diff --git a/examples/docs-sdk-quickstart/CHANGELOG.md b/examples/docs-sdk-quickstart/CHANGELOG.md index 3ce86c998..8efc6d55d 100644 --- a/examples/docs-sdk-quickstart/CHANGELOG.md +++ b/examples/docs-sdk-quickstart/CHANGELOG.md @@ -1,5 +1,13 @@ # @executor-js/example-docs-sdk-quickstart +## 0.0.26 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/sdk@2.0.0 + ## 0.0.25 ### Patch Changes diff --git a/examples/docs-sdk-quickstart/package.json b/examples/docs-sdk-quickstart/package.json index 0272dd4a0..105f357bf 100644 --- a/examples/docs-sdk-quickstart/package.json +++ b/examples/docs-sdk-quickstart/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/example-docs-sdk-quickstart", - "version": "0.0.25", + "version": "0.0.26", "private": true, "type": "module", "scripts": { diff --git a/packages/core/api/CHANGELOG.md b/packages/core/api/CHANGELOG.md index b1c19acb4..11798f21c 100644 --- a/packages/core/api/CHANGELOG.md +++ b/packages/core/api/CHANGELOG.md @@ -1,5 +1,27 @@ # @executor-js/api +## 1.5.0 + +### Minor Changes + +- [#1182](https://github.com/RhysSullivan/executor/pull/1182) [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Notify when a newer Executor is published. The CLI now prints an "update available" line under its ready banner, and the web shell's sidebar update card works for real (a new `/v1/app/npm/dist-tags` endpoint backs it). In the desktop app the card shows a native "Restart to update" action wired to the in-app updater instead of the npm command. The check is best-effort and offline-safe, and can be disabled with `EXECUTOR_DISABLE_UPDATE_CHECK`. + +### Patch Changes + +- [#1197](https://github.com/RhysSullivan/executor/pull/1197) [`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Fix OAuth "Mismatching redirect URI" for org-scoped client-id metadata documents + + Org-scoped client-id metadata documents registered their callback as + `redirect_uri` with an `executor_org` query param, but the client always sends + the bare callback and the org is carried in the OAuth `state`. Providers that + compare `redirect_uri` as an exact string (such as PostHog) rejected the + authorize request. Org targets now keep their distinct `client_id` URL but + register the same bare callback `redirect_uri` as every other target. + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + - @executor-js/execution@2.0.0 + - @executor-js/host-mcp@1.4.4 + ## 1.4.42 ### Patch Changes diff --git a/packages/core/api/package.json b/packages/core/api/package.json index c2f53d954..2cd9f8ac5 100644 --- a/packages/core/api/package.json +++ b/packages/core/api/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/api", - "version": "1.4.42", + "version": "1.5.0", "private": true, "type": "module", "exports": { diff --git a/packages/core/cli/CHANGELOG.md b/packages/core/cli/CHANGELOG.md index c37883591..bed1a56ca 100644 --- a/packages/core/cli/CHANGELOG.md +++ b/packages/core/cli/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/cli +## 0.2.29 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 0.2.28 ### Patch Changes diff --git a/packages/core/cli/package.json b/packages/core/cli/package.json index e02474f3d..8118ffdb1 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cli", - "version": "0.2.28", + "version": "0.2.29", "description": "CLI for the executor SDK — schema generation, migrations", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/cli", "bugs": { diff --git a/packages/core/config/CHANGELOG.md b/packages/core/config/CHANGELOG.md index bfbd02356..bee246651 100644 --- a/packages/core/config/CHANGELOG.md +++ b/packages/core/config/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/config +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/core/config/package.json b/packages/core/config/package.json index a01b40d83..b6c6f7803 100644 --- a/packages/core/config/package.json +++ b/packages/core/config/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/config", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/config", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/core/execution/CHANGELOG.md b/packages/core/execution/CHANGELOG.md index d686513f6..e70fba51a 100644 --- a/packages/core/execution/CHANGELOG.md +++ b/packages/core/execution/CHANGELOG.md @@ -1,5 +1,13 @@ # @executor-js/execution +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + - @executor-js/codemode-core@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/core/execution/package.json b/packages/core/execution/package.json index 88f3a0009..def1b757e 100644 --- a/packages/core/execution/package.json +++ b/packages/core/execution/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/execution", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/execution", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/core/sdk/CHANGELOG.md b/packages/core/sdk/CHANGELOG.md index ed94c9015..b5a5ed4e9 100644 --- a/packages/core/sdk/CHANGELOG.md +++ b/packages/core/sdk/CHANGELOG.md @@ -1,5 +1,7 @@ # @executor-js/sdk +## 2.0.0 + ## 1.5.22 ## 1.5.21 diff --git a/packages/core/sdk/package.json b/packages/core/sdk/package.json index b318481c1..a9acf96a4 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/sdk", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/sdk", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/core/vite-plugin/CHANGELOG.md b/packages/core/vite-plugin/CHANGELOG.md index a07531cd3..6053c2853 100644 --- a/packages/core/vite-plugin/CHANGELOG.md +++ b/packages/core/vite-plugin/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/vite-plugin +## 0.0.40 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 0.0.39 ### Patch Changes diff --git a/packages/core/vite-plugin/package.json b/packages/core/vite-plugin/package.json index 22aae8890..8e7b7a998 100644 --- a/packages/core/vite-plugin/package.json +++ b/packages/core/vite-plugin/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/vite-plugin", - "version": "0.0.39", + "version": "0.0.40", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/core/vite-plugin", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/hosts/cloudflare/CHANGELOG.md b/packages/hosts/cloudflare/CHANGELOG.md index 3429d4f35..97e25ef38 100644 --- a/packages/hosts/cloudflare/CHANGELOG.md +++ b/packages/hosts/cloudflare/CHANGELOG.md @@ -1,5 +1,15 @@ # @executor-js/cloudflare +## 0.0.22 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/sdk@2.0.0 + - @executor-js/execution@2.0.0 + - @executor-js/host-mcp@1.4.4 + ## 0.0.21 ### Patch Changes diff --git a/packages/hosts/cloudflare/package.json b/packages/hosts/cloudflare/package.json index 5e8bedafe..892332a25 100644 --- a/packages/hosts/cloudflare/package.json +++ b/packages/hosts/cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cloudflare", - "version": "0.0.21", + "version": "0.0.22", "private": true, "type": "module", "exports": { diff --git a/packages/kernel/core/CHANGELOG.md b/packages/kernel/core/CHANGELOG.md index 0b2bc0276..9ce6721b3 100644 --- a/packages/kernel/core/CHANGELOG.md +++ b/packages/kernel/core/CHANGELOG.md @@ -1,5 +1,7 @@ # @executor-js/codemode-core +## 2.0.0 + ## 1.5.22 ## 1.5.21 diff --git a/packages/kernel/core/package.json b/packages/kernel/core/package.json index 4ae6a5096..b780449c7 100644 --- a/packages/kernel/core/package.json +++ b/packages/kernel/core/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/codemode-core", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/kernel/core", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/kernel/runtime-quickjs/CHANGELOG.md b/packages/kernel/runtime-quickjs/CHANGELOG.md index 2aed5810a..e8500d7d9 100644 --- a/packages/kernel/runtime-quickjs/CHANGELOG.md +++ b/packages/kernel/runtime-quickjs/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/runtime-quickjs +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/codemode-core@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/kernel/runtime-quickjs/package.json b/packages/kernel/runtime-quickjs/package.json index 0896805fc..795f92783 100644 --- a/packages/kernel/runtime-quickjs/package.json +++ b/packages/kernel/runtime-quickjs/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/runtime-quickjs", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/kernel/runtime-quickjs", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/desktop-settings/CHANGELOG.md b/packages/plugins/desktop-settings/CHANGELOG.md index 89d4319d3..b2fcef90a 100644 --- a/packages/plugins/desktop-settings/CHANGELOG.md +++ b/packages/plugins/desktop-settings/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/plugin-desktop-settings +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/desktop-settings/package.json b/packages/plugins/desktop-settings/package.json index b2b05839d..ef9f5e635 100644 --- a/packages/plugins/desktop-settings/package.json +++ b/packages/plugins/desktop-settings/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-desktop-settings", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/desktop-settings", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/encrypted-secrets/CHANGELOG.md b/packages/plugins/encrypted-secrets/CHANGELOG.md index 4bda29fc8..a5c2f1168 100644 --- a/packages/plugins/encrypted-secrets/CHANGELOG.md +++ b/packages/plugins/encrypted-secrets/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/plugin-encrypted-secrets +## 0.0.22 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 0.0.21 ### Patch Changes diff --git a/packages/plugins/encrypted-secrets/package.json b/packages/plugins/encrypted-secrets/package.json index 23d8c4011..ac0f4c784 100644 --- a/packages/plugins/encrypted-secrets/package.json +++ b/packages/plugins/encrypted-secrets/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-encrypted-secrets", - "version": "0.0.21", + "version": "0.0.22", "private": true, "type": "module", "exports": { diff --git a/packages/plugins/example/CHANGELOG.md b/packages/plugins/example/CHANGELOG.md index ba3fc0713..e487f554a 100644 --- a/packages/plugins/example/CHANGELOG.md +++ b/packages/plugins/example/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/plugin-example +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/example/package.json b/packages/plugins/example/package.json index 488d2ccbf..accc46627 100644 --- a/packages/plugins/example/package.json +++ b/packages/plugins/example/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-example", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/example", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/file-secrets/CHANGELOG.md b/packages/plugins/file-secrets/CHANGELOG.md index 8ba04decf..8118da236 100644 --- a/packages/plugins/file-secrets/CHANGELOG.md +++ b/packages/plugins/file-secrets/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/plugin-file-secrets +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/file-secrets/package.json b/packages/plugins/file-secrets/package.json index 0e02900d0..37a7a32b3 100644 --- a/packages/plugins/file-secrets/package.json +++ b/packages/plugins/file-secrets/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-file-secrets", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/file-secrets", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/google/CHANGELOG.md b/packages/plugins/google/CHANGELOG.md index bff48aa8e..06a41cebb 100644 --- a/packages/plugins/google/CHANGELOG.md +++ b/packages/plugins/google/CHANGELOG.md @@ -1,5 +1,15 @@ # @executor-js/plugin-google +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/sdk@2.0.0 + ## 1.5.21 ### Patch Changes diff --git a/packages/plugins/google/package.json b/packages/plugins/google/package.json index dff35716f..58fd7f1d2 100644 --- a/packages/plugins/google/package.json +++ b/packages/plugins/google/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-google", - "version": "1.5.21", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/google", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/graphql/CHANGELOG.md b/packages/plugins/graphql/CHANGELOG.md index 2f4ea116f..54dd2e955 100644 --- a/packages/plugins/graphql/CHANGELOG.md +++ b/packages/plugins/graphql/CHANGELOG.md @@ -1,5 +1,21 @@ # @executor-js/plugin-graphql +## 2.0.0 + +### Patch Changes + +- [#1173](https://github.com/RhysSullivan/executor/pull/1173) [`cc94666`](https://github.com/RhysSullivan/executor/commit/cc94666fa6adf5a0c7ceb667b3797334020327b1) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Fix the GraphQL plugin generating invalid operations against large schemas, and make field selection caller-controlled instead of a baked-in guess. + + Previously each tool froze a recursive, depth- and count-bounded selection at sync time. Against a rich schema (GitLab) this produced invalid GraphQL (composite fields with no sub-selection, nested fields missing required arguments) so every call over a rich return type failed, and the arbitrary bound silently truncated which fields came back. + + Generated tools now default to selecting only scalar/enum leaf fields of the return type (always valid, always within a server's query-complexity budget), and expose an optional `select` input carrying a GraphQL selection set so a caller can request nested or list data per call (including supplying nested required arguments). Fixes [#1146](https://github.com/RhysSullivan/executor/issues/1146). + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/sdk@2.0.0 + - @executor-js/config@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/graphql/package.json b/packages/plugins/graphql/package.json index c6736d58e..0c88043d0 100644 --- a/packages/plugins/graphql/package.json +++ b/packages/plugins/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-graphql", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/graphql", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/keychain/CHANGELOG.md b/packages/plugins/keychain/CHANGELOG.md index 7771add1c..8c4bf7161 100644 --- a/packages/plugins/keychain/CHANGELOG.md +++ b/packages/plugins/keychain/CHANGELOG.md @@ -1,5 +1,12 @@ # @executor-js/plugin-keychain +## 2.0.0 + +### Patch Changes + +- Updated dependencies []: + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/keychain/package.json b/packages/plugins/keychain/package.json index 2ddb7b5ca..6ee095c3a 100644 --- a/packages/plugins/keychain/package.json +++ b/packages/plugins/keychain/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-keychain", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/keychain", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/mcp/CHANGELOG.md b/packages/plugins/mcp/CHANGELOG.md index c7ca95457..b66dce7c3 100644 --- a/packages/plugins/mcp/CHANGELOG.md +++ b/packages/plugins/mcp/CHANGELOG.md @@ -1,5 +1,15 @@ # @executor-js/plugin-mcp +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/sdk@2.0.0 + - @executor-js/config@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/mcp/package.json b/packages/plugins/mcp/package.json index 2d51f5597..2fb083461 100644 --- a/packages/plugins/mcp/package.json +++ b/packages/plugins/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-mcp", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/mcp", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/microsoft/CHANGELOG.md b/packages/plugins/microsoft/CHANGELOG.md index 98b72b8ae..381d09cf8 100644 --- a/packages/plugins/microsoft/CHANGELOG.md +++ b/packages/plugins/microsoft/CHANGELOG.md @@ -1,5 +1,15 @@ # @executor-js/plugin-microsoft +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/plugin-openapi@2.0.0 + - @executor-js/sdk@2.0.0 + ## 1.5.21 ### Patch Changes diff --git a/packages/plugins/microsoft/package.json b/packages/plugins/microsoft/package.json index d3d60aed8..177b2fe5a 100644 --- a/packages/plugins/microsoft/package.json +++ b/packages/plugins/microsoft/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-microsoft", - "version": "1.5.21", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/microsoft", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/onepassword/CHANGELOG.md b/packages/plugins/onepassword/CHANGELOG.md index f513cd3c9..70e7a1c69 100644 --- a/packages/plugins/onepassword/CHANGELOG.md +++ b/packages/plugins/onepassword/CHANGELOG.md @@ -1,5 +1,14 @@ # @executor-js/plugin-onepassword +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/sdk@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/onepassword/package.json b/packages/plugins/onepassword/package.json index 7ba86b757..6dec07e3b 100644 --- a/packages/plugins/onepassword/package.json +++ b/packages/plugins/onepassword/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-onepassword", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/onepassword", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/openapi/CHANGELOG.md b/packages/plugins/openapi/CHANGELOG.md index a444d1122..4d13ed515 100644 --- a/packages/plugins/openapi/CHANGELOG.md +++ b/packages/plugins/openapi/CHANGELOG.md @@ -1,5 +1,15 @@ # @executor-js/plugin-openapi +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/sdk@2.0.0 + - @executor-js/config@2.0.0 + ## 1.5.22 ### Patch Changes diff --git a/packages/plugins/openapi/package.json b/packages/plugins/openapi/package.json index 12887f36e..448c5eab8 100644 --- a/packages/plugins/openapi/package.json +++ b/packages/plugins/openapi/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-openapi", - "version": "1.5.22", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/openapi", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/plugins/toolkits/CHANGELOG.md b/packages/plugins/toolkits/CHANGELOG.md index ed5af9bd0..35d041d49 100644 --- a/packages/plugins/toolkits/CHANGELOG.md +++ b/packages/plugins/toolkits/CHANGELOG.md @@ -1,5 +1,14 @@ # @executor-js/plugin-toolkits +## 2.0.0 + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/react@1.5.0 + - @executor-js/sdk@2.0.0 + ## 1.5.14 ### Patch Changes diff --git a/packages/plugins/toolkits/package.json b/packages/plugins/toolkits/package.json index 880751288..b5060fb51 100644 --- a/packages/plugins/toolkits/package.json +++ b/packages/plugins/toolkits/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-toolkits", - "version": "1.5.14", + "version": "2.0.0", "homepage": "https://github.com/RhysSullivan/executor/tree/main/packages/plugins/toolkits", "bugs": { "url": "https://github.com/RhysSullivan/executor/issues" diff --git a/packages/react/CHANGELOG.md b/packages/react/CHANGELOG.md index ec6b83f61..30f5de52b 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,5 +1,17 @@ # @executor-js/react +## 1.5.0 + +### Minor Changes + +- [#1182](https://github.com/RhysSullivan/executor/pull/1182) [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Notify when a newer Executor is published. The CLI now prints an "update available" line under its ready banner, and the web shell's sidebar update card works for real (a new `/v1/app/npm/dist-tags` endpoint backs it). In the desktop app the card shows a native "Restart to update" action wired to the in-app updater instead of the npm command. The check is best-effort and offline-safe, and can be disabled with `EXECUTOR_DISABLE_UPDATE_CHECK`. + +### Patch Changes + +- Updated dependencies [[`fd29abe`](https://github.com/RhysSullivan/executor/commit/fd29abe23a329e8e8c50ce185bfc23f58a5348d0), [`b6c8968`](https://github.com/RhysSullivan/executor/commit/b6c8968c2a3dd3cf8d8b2fa5ecdbd2a1f9cad4f2)]: + - @executor-js/api@1.5.0 + - @executor-js/sdk@2.0.0 + ## 1.4.42 ### Patch Changes diff --git a/packages/react/package.json b/packages/react/package.json index 6781f7e68..23b469697 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/react", - "version": "1.4.42", + "version": "1.5.0", "private": true, "type": "module", "exports": { diff --git a/vision.md b/vision.md index 780169eec..a25dd8386 100644 --- a/vision.md +++ b/vision.md @@ -19,7 +19,7 @@ it safely. The bet: as work shifts toward agents acting through software, every company needs one layer where anything a human could do is callable — auditable, across every account — and where new -capability is *composed* on a shared substrate, not rebuilt per integration. One primitive +capability is _composed_ on a shared substrate, not rebuilt per integration. One primitive unlocks the whole slice: catalog + auth + tools + scoping + UI + workflows + storage. It runs the same two ways from one codebase: an **in-process SDK** (no server, single-player, @@ -40,12 +40,12 @@ multiplayer must be powerful; neither carries the other's weight. - **Secret** — never lives in Executor and never reaches the agent. A connection holds a `SecretRef` (a pointer — `op://`, `keychain://`, `env://`, `vault://`); a provider resolves it at call time, in trusted space, behind a proxy. -- **Scope** — placement and identity. An ordered, merged set (see *Scopes*). Every record is +- **Scope** — placement and identity. An ordered, merged set (see _Scopes_). Every record is placed in a scope. - **Policy** — gates execution (allow / require-approval / block). Attached to sources and - connections (see *Policies*). + connections (see _Policies_). - **Plugin** — registers sources, tools, providers, storage, surfaces. The one open extension - seam (see *The model*). + seam (see _The model_). - **Manager / Invoker** — the core runtime roles: a manager owns a source's tools and config; an invoker executes a tool through the right connection and proxy. @@ -58,10 +58,10 @@ extension seam**, and **surfaces** that expose it. **connections**; **scopes**; **policies/guardrails**; and `scope()` — narrow the executor to a subset, the seam everything composes through. -**First-party capabilities** are a fixed, known set, included or omitted as modules — *not* a +**First-party capabilities** are a fixed, known set, included or omitted as modules — _not_ a generic plugin registry: toolkits, the MCP host, generative UI, workflows, storage, skills, audit/runs, the internal-apps catalog. They're separable but they don't go through an abstract -plugin contract, because nobody outside you needs to add a new *kind* of them. +plugin contract, because nobody outside you needs to add a new _kind_ of them. **One open plugin seam: sources.** There are thousands of APIs; you'll never enumerate them; you want others to add them. That is where an open contract (`resolveTools` / `invokeTool`) earns its @@ -83,17 +83,17 @@ coordinates, not bespoke subsystems — this is what keeps the breadth tractable - **lifetime** — ephemeral (a turn/session) / durable (deployed, addressable, re-openable) - **origin** — imported (a spec) / authored (code) / invoked-inline (produced by a call) - **surface** — in-process / MCP / HTTP / CLI / trigger / web -- **delivery** — inline value / handle / embedded resource / deep link *(negotiated by client - capability)* +- **delivery** — inline value / handle / embedded resource / deep link _(negotiated by client + capability)_ Two rules fall out and dissolve most "how does X compose" confusion: -1. **Artifacts vs surfaces.** What you *build* (kind) is separate from how it's *reached* +1. **Artifacts vs surfaces.** What you _build_ (kind) is separate from how it's _reached_ (surface). Build once; a surface projects it. A workflow defined once is reachable via cron, MCP, or in-process. A view defined once renders standalone or returns over MCP. Not everything fits every surface (a workflow isn't a slow tool; a UI isn't an HTTP handler). 2. **Rich outputs negotiate delivery.** Too big or too rich for the channel → return a - *reference* the client resolves per its capability. A large result → a **storage handle**. A + _reference_ the client resolves per its capability. A large result → a **storage handle**. A UI → an **embedded UI resource** if the client renders it (MCP apps), else a **deep link** into the web app. UI is not special; it's a rich output under the same rules as everything. @@ -105,24 +105,25 @@ policies per scope; and create temporary scopes. Single-player is one scope; mul same model with more entries. Three fixed merge rules, nothing configurable: + - **visibility = union** (you see everything placed in any scope you hold); - **guardrails/policy = deny-union, outer-wins** (an outer scope's `block` can't be weakened inward; mandatory flows in); - **scalars/config/secret-overrides = innermost-wins** (the nearest scope to the actor wins). `org | user` is just the **two-element case** of this. The current codebase collapsed scopes to -fixed org/user; the direction is to model it as an *ordered list that today has two entries*, so +fixed org/user; the direction is to model it as an _ordered list that today has two entries_, so the resolver is already the general one and inserting a "team" or "environment" level later is additive, not a rewrite — added demand-driven, only when a real case needs the middle level. **Why scopes are a dimension, not indirection.** A past mistake (the credential-binding model: credential / slot / binding as separate objects wired together) caused an overcorrection that flattened scopes along with killing bindings. The lesson: **fuse indirection, keep dimensions.** -A binding is a layer whose only job is to *connect* two things — fuse it away (born-wired +A binding is a layer whose only job is to _connect_ two things — fuse it away (born-wired connections did this). A scope is a property that varies independently and meaningfully — keep it; flatten it and it leaks back as workarounds. Placement stays a **direct, inline property** on each record (the way `scope` already sits on a connection); never reintroduce an object whose job -is to *attach* a record to a scope. +is to _attach_ a record to a scope. ## Connections, secrets & auth @@ -131,7 +132,7 @@ is to *attach* a record to a scope. - **Multiple accounts per source per scope** (distinct names). Per-member auth (each connects their own) and team-level shared auth (one credential placed in an outer scope) are both just placement. -- **Auth template vs credential.** A source declares *how* it authenticates (OAuth / bearer / +- **Auth template vs credential.** A source declares _how_ it authenticates (OAuth / bearer / API key — a discriminated set); each connection fills that template. - **Secrets never reach the agent.** Resolved by a provider at call time, in trusted space, behind a **tool-proxy** — credentials never enter agent or sandbox code. **No escape hatch:** a @@ -147,18 +148,18 @@ Each kind is added through the **one open seam** (`resolveTools` + `invokeTool`) later **direct database** and **email**. The plugin owns the opaque config and raw spec; the core reasons over a **normalized manifest** (schemas, side-effect class, auth template, data labels, required capabilities, an LLM-authored description). **Spec auto-refresh** tracks upstream drift -and **must never auto-expand authority** — new operations appear *ungranted until reviewed*. +and **must never auto-expand authority** — new operations appear _ungranted until reviewed_. An **integrations registry** lets people discover and add sources. ## Policies Policies gate **execution** — `approve` / `require_approval` / `block` — and are distinct from -toolkits (which gate visibility). Resolution is *most-restrictive-wins*; **plugin defaults** let +toolkits (which gate visibility). Resolution is _most-restrictive-wins_; **plugin defaults** let a source ship a tool pre-marked `require_approval` (destructive detection), with `approve` as the override when an import wrongly flags a safe action. -How people actually use them today (real usage): glob patterns over the address, where *every* +How people actually use them today (real usage): glob patterns over the address, where _every_ rule targets a **source** and wildcards the scope/connection (`stripe_api.*.*.disputes.*`, `pscale.*.*.execute_write_query`) — i.e. faking structural targeting because there's nowhere to attach it. The direction: @@ -166,7 +167,7 @@ attach it. The direction: - **Kill the global glob list. Attach policy to the source and connection records** — the two structural levels. **Connection overrides source** (innermost-wins), with **scope authority layered on top** (outer/org mandatory, can't be weakened inward). -- Fixing a mis-flagged tool becomes `approve` *on that source/connection*, directly. +- Fixing a mis-flagged tool becomes `approve` _on that source/connection_, directly. - **Toolkits carry no policy** — they're pure curation and inherit whatever source/connection policies apply to the tools they expose. This dissolves the old global-vs-toolkit merge conflict. @@ -175,7 +176,7 @@ attach it. The direction: A **toolkit is pure curation** — a named subset of tools (a `ToolSet`) that yields a **scoped view** of the executor. Used for **per-agent capability control**: lock down exactly what an -added agent can reach (a background firewall-monitor agent gets *only* a monitor tool and an +added agent can reach (a background firewall-monitor agent gets _only_ a monitor tool and an update-firewall tool, and nothing that builds). **`toolkits.list` feeds a consent screen** — the grantable slices an agent or OAuth flow requests. Single-player keeps toolkits too. @@ -198,7 +199,7 @@ no advisory mode — the local isolate and the cloud worker enforce the same mem You build once; surfaces project. - **In-process** — `execute`, the SDK path. No server. -- **MCP** — a scoped endpoint (`/mcp?toolkit=...`) over a *scoped executor*; the host +- **MCP** — a scoped endpoint (`/mcp?toolkit=...`) over a _scoped executor_; the host authenticates → resolves the toolkit → `scope()` → hands the narrowed executor to the MCP server, which never sees a toolkit. Default shape is **meta-tools** (`search` + `describe` + `execute` + `run_code`) so a huge catalog doesn't blow context, with a direct-tools opt-out. @@ -209,7 +210,7 @@ You build once; surfaces project. - **MCP channels** — talk back to the agent mid-tool-call (the "Claude Code over Discord" pattern), for human-in-the-loop and elicitation. - **HTTP** — any capability projected as a route, after policy/auth/versioning/CORS. -- **CLI** — the same operations from the terminal (see *Distribution*). +- **CLI** — the same operations from the terminal (see _Distribution_). - **Triggers** — a schedule (cron) or an event that fires an artifact. - **Web app** — the UI-capable surface where views render and deep links land. @@ -221,13 +222,13 @@ You build once; surfaces project. SDK** for everything added. - **Workflows.** Multi-step sequences of tool calls with **durable run semantics**, built ideally on `use workflow` (or Cloudflare Workflows). User-defined entry points; **cron + event - triggers**; infrastructure-as-code. A step *is* a catalog tool call. + triggers**; infrastructure-as-code. A step _is_ a catalog tool call. - **Generative UI.** A **view** governed by lifetime × delivery: ephemeral (the agent calls `render`) or durable (an authored dashboard). Rich UI runs in a sandbox; it calls only the tools its scope grants, proxied server-side, never holding credentials. - **Skills.** Shared, code-authored knowledge — the company knowledge base as code — that agents draw on, that **surfaces in tool search**, and can **run tools inline** to cut round-trips. - Served off MCP and from a `.well-known`. File-backed (see *Authoring model*). + Served off MCP and from a `.well-known`. File-backed (see _Authoring model_). - **Internal apps catalog & custom UI snippets.** Store and share custom UI and internal apps. - **Configure Executor via Executor** — managing sources, connections, scopes, policies, toolkits is itself done through tools. @@ -277,7 +278,7 @@ it**: audit log, human-in-the-loop approvals, workflow runs, and resumability/de Pause a call and require a human before it proceeds: **MCP elicitation**, a **gated `resume` tool** (the user simply doesn't always allow it), a **resume URL**, or an **MCP channel** -talk-back mid-call. A gated call returns a *pending* Run with a resume reference. +talk-back mid-call. A gated call returns a _pending_ Run with a resume reference. ## Sandbox & runtime @@ -291,7 +292,7 @@ whatever it needs; ship instructions (skills) as part of Executor. ## Distribution, the CLI & remotes The `executor` CLI is **three things at once**: the **local runtime** (run a full instance and -start using it), the **control plane** (local *and* remote, same commands), and an +start using it), the **control plane** (local _and_ remote, same commands), and an **agent-facing surface**. Distribution surfaces are all "local": `executor` (CLI), `executor service install` (daemon), `executor web` (web app) — one instance, delivered differently. @@ -325,7 +326,7 @@ Cloudflare Artifacts, local SQLite for hosted storage. ## Architecture -Built on **Effect**. The same SDK is in-memory *and* client/server; SDK-only users need no +Built on **Effect**. The same SDK is in-memory _and_ client/server; SDK-only users need no server; serving is a standard Web `Request → Response` handler. The discipline that keeps breadth cheap is the **seam discipline**: the platform owns generic concerns (auth, caching, retries, schema, rendering, transport, the Run); a plugin owns only the source-specific resolve/invoke. @@ -358,8 +359,8 @@ schema, rendering, transport, the Run); a plugin owns only the source-specific r substrate-generic and source-specific code. - **Vision mode vs build mode.** This document is vision mode — generativity ("and then you'd want X") is the point. In **build mode, every "and then you'd want X" is a YAGNI to defer**, not - a dependency to satisfy. Build the smallest thing useful on its own; let the next be *pulled* by - real pain, not *pushed* by imagined composition. The tell that you've slipped back to vision + a dependency to satisfy. Build the smallest thing useful on its own; let the next be _pulled_ by + real pain, not _pushed_ by imagined composition. The tell that you've slipped back to vision mode: the next step needs two other things built first. (Example: v1 skills = read a folder, expose `skills.search` + `skills.get`. No scopes, toolkits, environments, or git required.) @@ -368,7 +369,7 @@ schema, rendering, transport, the Run); a plugin owns only the source-specific r - **The shared-data loop.** "Every morning at 9am, load my GitHub issues into SQLite": a scheduled workflow writes to storage; a generative-UI front end reads it live; you chat with the agent over the same data. One substrate, three readers. -- **The scoped agent.** "An agent I can message that can *only* update my calendar." A toolkit +- **The scoped agent.** "An agent I can message that can _only_ update my calendar." A toolkit exposes a one-tool slice; the agent connects to a scoped MCP endpoint; it physically cannot reach anything else.