diff --git a/.changeset/cimd-org-redirect-uri.md b/.changeset/cimd-org-redirect-uri.md new file mode 100644 index 000000000..9b1c232e2 --- /dev/null +++ b/.changeset/cimd-org-redirect-uri.md @@ -0,0 +1,12 @@ +--- +"@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 new file mode 100644 index 000000000..35e038678 --- /dev/null +++ b/.changeset/desktop-background-service-consent-seam.md @@ -0,0 +1,5 @@ +--- +"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 new file mode 100644 index 000000000..c6d965a2b --- /dev/null +++ b/.changeset/desktop-sidecar-auth-token-dash.md @@ -0,0 +1,5 @@ +--- +"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 new file mode 100644 index 000000000..33f3543df --- /dev/null +++ b/.changeset/graphql-valid-selections.md @@ -0,0 +1,9 @@ +--- +"@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 new file mode 100644 index 000000000..e16d11931 --- /dev/null +++ b/.changeset/update-available-notifications.md @@ -0,0 +1,8 @@ +--- +"executor": patch +"@executor-js/desktop": patch +"@executor-js/api": patch +"@executor-js/react": patch +--- + +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 950b63930..e92c30743 100644 --- a/apps/cli/CHANGELOG.md +++ b/apps/cli/CHANGELOG.md @@ -1,23 +1,5 @@ # 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 df935141f..2210e0f7f 100644 --- a/apps/cli/package.json +++ b/apps/cli/package.json @@ -1,6 +1,6 @@ { "name": "executor", - "version": "2.0.0", + "version": "1.5.22", "private": true, "bin": { "executor": "./bin/executor.ts" diff --git a/apps/cloud/CHANGELOG.md b/apps/cloud/CHANGELOG.md index c5880b586..83938c85c 100644 --- a/apps/cloud/CHANGELOG.md +++ b/apps/cloud/CHANGELOG.md @@ -1,27 +1,5 @@ # @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 bc0aa5de8..e3b50657f 100644 --- a/apps/cloud/package.json +++ b/apps/cloud/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cloud", - "version": "1.4.41", + "version": "1.4.40", "private": true, "type": "module", "scripts": { diff --git a/apps/desktop/CHANGELOG.md b/apps/desktop/CHANGELOG.md index c94136630..1339e4b5c 100644 --- a/apps/desktop/CHANGELOG.md +++ b/apps/desktop/CHANGELOG.md @@ -1,11 +1,5 @@ # @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 bb17acf9d..39529c940 100644 --- a/apps/desktop/package.json +++ b/apps/desktop/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/desktop", - "version": "2.0.0", + "version": "1.5.22", "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 9e8fefb02..afdedf446 100644 --- a/apps/host-selfhost/CHANGELOG.md +++ b/apps/host-selfhost/CHANGELOG.md @@ -1,25 +1,5 @@ # @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 279c28390..d56738019 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.22", + "version": "0.0.21", "private": true, "type": "module", "exports": { diff --git a/bun.lock b/bun.lock index 20d7be944..56c0d8d67 100644 --- a/bun.lock +++ b/bun.lock @@ -30,7 +30,7 @@ }, "apps/cli": { "name": "executor", - "version": "2.0.0", + "version": "1.5.22", "bin": { "executor": "./bin/executor.ts", }, @@ -55,7 +55,7 @@ }, "apps/cloud": { "name": "@executor-js/cloud", - "version": "1.4.41", + "version": "1.4.40", "dependencies": { "@cloudflare/vite-plugin": "^1.31.1", "@effect/atom-react": "catalog:", @@ -126,7 +126,7 @@ }, "apps/desktop": { "name": "@executor-js/desktop", - "version": "2.0.0", + "version": "1.5.22", "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.22", + "version": "0.0.21", "dependencies": { "@better-auth/api-key": "^1.6.11", "@effect/atom-react": "catalog:", @@ -340,7 +340,7 @@ }, "e2e": { "name": "@executor-js/e2e", - "version": "0.0.20", + "version": "0.0.19", "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.41", + "version": "0.0.40", "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.26", + "version": "0.0.25", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -450,7 +450,7 @@ }, "packages/core/api": { "name": "@executor-js/api", - "version": "1.5.0", + "version": "1.4.42", "dependencies": { "@executor-js/execution": "workspace:*", "@executor-js/host-mcp": "workspace:*", @@ -467,7 +467,7 @@ }, "packages/core/cli": { "name": "@executor-js/cli", - "version": "0.2.29", + "version": "0.2.28", "bin": { "executor-sdk": "./dist/index.js", }, @@ -488,7 +488,7 @@ }, "packages/core/config": { "name": "@executor-js/config", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/sdk": "workspace:*", "jiti": "^2.6.1", @@ -509,7 +509,7 @@ }, "packages/core/execution": { "name": "@executor-js/execution", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/codemode-core": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -575,7 +575,7 @@ }, "packages/core/sdk": { "name": "@executor-js/sdk", - "version": "2.0.0", + "version": "1.5.22", "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.40", + "version": "0.0.39", "dependencies": { "@executor-js/sdk": "workspace:*", "jiti": "^2.6.1", @@ -647,7 +647,7 @@ }, "packages/hosts/cloudflare": { "name": "@executor-js/cloudflare", - "version": "0.0.22", + "version": "0.0.21", "dependencies": { "@executor-js/api": "workspace:*", "@executor-js/execution": "workspace:*", @@ -686,7 +686,7 @@ }, "packages/kernel/core": { "name": "@executor-js/codemode-core", - "version": "2.0.0", + "version": "1.5.22", "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": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/codemode-core": "workspace:*", "quickjs-emscripten": "catalog:", @@ -779,7 +779,7 @@ }, "packages/plugins/desktop-settings": { "name": "@executor-js/plugin-desktop-settings", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/sdk": "workspace:*", "react": "catalog:", @@ -792,7 +792,7 @@ }, "packages/plugins/encrypted-secrets": { "name": "@executor-js/plugin-encrypted-secrets", - "version": "0.0.22", + "version": "0.0.21", "dependencies": { "@executor-js/sdk": "workspace:*", "effect": "catalog:", @@ -807,7 +807,7 @@ }, "packages/plugins/example": { "name": "@executor-js/plugin-example", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -830,7 +830,7 @@ }, "packages/plugins/file-secrets": { "name": "@executor-js/plugin-file-secrets", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -847,7 +847,7 @@ }, "packages/plugins/google": { "name": "@executor-js/plugin-google", - "version": "2.0.0", + "version": "1.5.21", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -884,7 +884,7 @@ }, "packages/plugins/graphql": { "name": "@executor-js/plugin-graphql", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@effect/platform-node": "catalog:", "@executor-js/config": "workspace:*", @@ -923,7 +923,7 @@ }, "packages/plugins/keychain": { "name": "@executor-js/plugin-keychain", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@executor-js/sdk": "workspace:*", "@napi-rs/keyring": "^1.2.0", @@ -942,7 +942,7 @@ }, "packages/plugins/mcp": { "name": "@executor-js/plugin-mcp", - "version": "2.0.0", + "version": "1.5.22", "dependencies": { "@cfworker/json-schema": "^4.1.1", "@effect/platform-node": "catalog:", @@ -982,7 +982,7 @@ }, "packages/plugins/microsoft": { "name": "@executor-js/plugin-microsoft", - "version": "2.0.0", + "version": "1.5.21", "dependencies": { "@executor-js/plugin-openapi": "workspace:*", "@executor-js/sdk": "workspace:*", @@ -1019,7 +1019,7 @@ }, "packages/plugins/onepassword": { "name": "@executor-js/plugin-onepassword", - "version": "2.0.0", + "version": "1.5.22", "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": "2.0.0", + "version": "1.5.22", "dependencies": { "@effect/platform-node": "catalog:", "@executor-js/config": "workspace:*", @@ -1094,7 +1094,7 @@ }, "packages/plugins/toolkits": { "name": "@executor-js/plugin-toolkits", - "version": "2.0.0", + "version": "1.5.14", "dependencies": { "@executor-js/sdk": "workspace:*", }, @@ -1163,7 +1163,7 @@ }, "packages/react": { "name": "@executor-js/react", - "version": "1.5.0", + "version": "1.4.42", "dependencies": { "@base-ui/react": "^1.3.0", "@effect/atom-react": "catalog:", diff --git a/e2e/AGENTS.md b/e2e/AGENTS.md index 0105e51a6..78964b0bd 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 0437231f8..54b24cc0e 100644 --- a/e2e/CHANGELOG.md +++ b/e2e/CHANGELOG.md @@ -1,18 +1,5 @@ # @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 5c74a79d9..25d798d8f 100644 --- a/e2e/package.json +++ b/e2e/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/e2e", - "version": "0.0.20", + "version": "0.0.19", "private": true, "type": "module", "scripts": { diff --git a/examples/all-plugins/CHANGELOG.md b/examples/all-plugins/CHANGELOG.md index 27a6d2cdb..6a11f4435 100644 --- a/examples/all-plugins/CHANGELOG.md +++ b/examples/all-plugins/CHANGELOG.md @@ -1,20 +1,5 @@ # @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 148393cad..64ec79eca 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.41", + "version": "0.0.40", "private": true, "type": "module", "scripts": { diff --git a/examples/docs-sdk-quickstart/CHANGELOG.md b/examples/docs-sdk-quickstart/CHANGELOG.md index 8efc6d55d..3ce86c998 100644 --- a/examples/docs-sdk-quickstart/CHANGELOG.md +++ b/examples/docs-sdk-quickstart/CHANGELOG.md @@ -1,13 +1,5 @@ # @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 105f357bf..0272dd4a0 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.26", + "version": "0.0.25", "private": true, "type": "module", "scripts": { diff --git a/packages/core/api/CHANGELOG.md b/packages/core/api/CHANGELOG.md index 11798f21c..b1c19acb4 100644 --- a/packages/core/api/CHANGELOG.md +++ b/packages/core/api/CHANGELOG.md @@ -1,27 +1,5 @@ # @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 2cd9f8ac5..c2f53d954 100644 --- a/packages/core/api/package.json +++ b/packages/core/api/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/api", - "version": "1.5.0", + "version": "1.4.42", "private": true, "type": "module", "exports": { diff --git a/packages/core/cli/CHANGELOG.md b/packages/core/cli/CHANGELOG.md index bed1a56ca..c37883591 100644 --- a/packages/core/cli/CHANGELOG.md +++ b/packages/core/cli/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 8118ffdb1..e02474f3d 100644 --- a/packages/core/cli/package.json +++ b/packages/core/cli/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cli", - "version": "0.2.29", + "version": "0.2.28", "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 bee246651..bfbd02356 100644 --- a/packages/core/config/CHANGELOG.md +++ b/packages/core/config/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 b6c6f7803..a01b40d83 100644 --- a/packages/core/config/package.json +++ b/packages/core/config/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/config", - "version": "2.0.0", + "version": "1.5.22", "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 e70fba51a..d686513f6 100644 --- a/packages/core/execution/CHANGELOG.md +++ b/packages/core/execution/CHANGELOG.md @@ -1,13 +1,5 @@ # @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 def1b757e..88f3a0009 100644 --- a/packages/core/execution/package.json +++ b/packages/core/execution/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/execution", - "version": "2.0.0", + "version": "1.5.22", "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 b5a5ed4e9..ed94c9015 100644 --- a/packages/core/sdk/CHANGELOG.md +++ b/packages/core/sdk/CHANGELOG.md @@ -1,7 +1,5 @@ # @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 a9acf96a4..b318481c1 100644 --- a/packages/core/sdk/package.json +++ b/packages/core/sdk/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/sdk", - "version": "2.0.0", + "version": "1.5.22", "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 6053c2853..a07531cd3 100644 --- a/packages/core/vite-plugin/CHANGELOG.md +++ b/packages/core/vite-plugin/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 8e7b7a998..22aae8890 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.40", + "version": "0.0.39", "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 97e25ef38..3429d4f35 100644 --- a/packages/hosts/cloudflare/CHANGELOG.md +++ b/packages/hosts/cloudflare/CHANGELOG.md @@ -1,15 +1,5 @@ # @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 892332a25..5e8bedafe 100644 --- a/packages/hosts/cloudflare/package.json +++ b/packages/hosts/cloudflare/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/cloudflare", - "version": "0.0.22", + "version": "0.0.21", "private": true, "type": "module", "exports": { diff --git a/packages/kernel/core/CHANGELOG.md b/packages/kernel/core/CHANGELOG.md index 9ce6721b3..0b2bc0276 100644 --- a/packages/kernel/core/CHANGELOG.md +++ b/packages/kernel/core/CHANGELOG.md @@ -1,7 +1,5 @@ # @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 b780449c7..4ae6a5096 100644 --- a/packages/kernel/core/package.json +++ b/packages/kernel/core/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/codemode-core", - "version": "2.0.0", + "version": "1.5.22", "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 e8500d7d9..2aed5810a 100644 --- a/packages/kernel/runtime-quickjs/CHANGELOG.md +++ b/packages/kernel/runtime-quickjs/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 795f92783..0896805fc 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": "2.0.0", + "version": "1.5.22", "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 b2fcef90a..89d4319d3 100644 --- a/packages/plugins/desktop-settings/CHANGELOG.md +++ b/packages/plugins/desktop-settings/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 ef9f5e635..b2b05839d 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": "2.0.0", + "version": "1.5.22", "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 a5c2f1168..4bda29fc8 100644 --- a/packages/plugins/encrypted-secrets/CHANGELOG.md +++ b/packages/plugins/encrypted-secrets/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 ac0f4c784..23d8c4011 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.22", + "version": "0.0.21", "private": true, "type": "module", "exports": { diff --git a/packages/plugins/example/CHANGELOG.md b/packages/plugins/example/CHANGELOG.md index e487f554a..ba3fc0713 100644 --- a/packages/plugins/example/CHANGELOG.md +++ b/packages/plugins/example/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 accc46627..488d2ccbf 100644 --- a/packages/plugins/example/package.json +++ b/packages/plugins/example/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-example", - "version": "2.0.0", + "version": "1.5.22", "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 8118da236..8ba04decf 100644 --- a/packages/plugins/file-secrets/CHANGELOG.md +++ b/packages/plugins/file-secrets/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 37a7a32b3..0e02900d0 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": "2.0.0", + "version": "1.5.22", "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 06a41cebb..bff48aa8e 100644 --- a/packages/plugins/google/CHANGELOG.md +++ b/packages/plugins/google/CHANGELOG.md @@ -1,15 +1,5 @@ # @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 58fd7f1d2..dff35716f 100644 --- a/packages/plugins/google/package.json +++ b/packages/plugins/google/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-google", - "version": "2.0.0", + "version": "1.5.21", "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 54dd2e955..2f4ea116f 100644 --- a/packages/plugins/graphql/CHANGELOG.md +++ b/packages/plugins/graphql/CHANGELOG.md @@ -1,21 +1,5 @@ # @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 0c88043d0..c6736d58e 100644 --- a/packages/plugins/graphql/package.json +++ b/packages/plugins/graphql/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-graphql", - "version": "2.0.0", + "version": "1.5.22", "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 8c4bf7161..7771add1c 100644 --- a/packages/plugins/keychain/CHANGELOG.md +++ b/packages/plugins/keychain/CHANGELOG.md @@ -1,12 +1,5 @@ # @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 6ee095c3a..2ddb7b5ca 100644 --- a/packages/plugins/keychain/package.json +++ b/packages/plugins/keychain/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-keychain", - "version": "2.0.0", + "version": "1.5.22", "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 b66dce7c3..c7ca95457 100644 --- a/packages/plugins/mcp/CHANGELOG.md +++ b/packages/plugins/mcp/CHANGELOG.md @@ -1,15 +1,5 @@ # @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 2fb083461..2d51f5597 100644 --- a/packages/plugins/mcp/package.json +++ b/packages/plugins/mcp/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-mcp", - "version": "2.0.0", + "version": "1.5.22", "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 381d09cf8..98b72b8ae 100644 --- a/packages/plugins/microsoft/CHANGELOG.md +++ b/packages/plugins/microsoft/CHANGELOG.md @@ -1,15 +1,5 @@ # @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 177b2fe5a..d3d60aed8 100644 --- a/packages/plugins/microsoft/package.json +++ b/packages/plugins/microsoft/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-microsoft", - "version": "2.0.0", + "version": "1.5.21", "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 70e7a1c69..f513cd3c9 100644 --- a/packages/plugins/onepassword/CHANGELOG.md +++ b/packages/plugins/onepassword/CHANGELOG.md @@ -1,14 +1,5 @@ # @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 6dec07e3b..7ba86b757 100644 --- a/packages/plugins/onepassword/package.json +++ b/packages/plugins/onepassword/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-onepassword", - "version": "2.0.0", + "version": "1.5.22", "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 4d13ed515..a444d1122 100644 --- a/packages/plugins/openapi/CHANGELOG.md +++ b/packages/plugins/openapi/CHANGELOG.md @@ -1,15 +1,5 @@ # @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 448c5eab8..12887f36e 100644 --- a/packages/plugins/openapi/package.json +++ b/packages/plugins/openapi/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-openapi", - "version": "2.0.0", + "version": "1.5.22", "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 35d041d49..ed5af9bd0 100644 --- a/packages/plugins/toolkits/CHANGELOG.md +++ b/packages/plugins/toolkits/CHANGELOG.md @@ -1,14 +1,5 @@ # @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 b5060fb51..880751288 100644 --- a/packages/plugins/toolkits/package.json +++ b/packages/plugins/toolkits/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/plugin-toolkits", - "version": "2.0.0", + "version": "1.5.14", "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 30f5de52b..ec6b83f61 100644 --- a/packages/react/CHANGELOG.md +++ b/packages/react/CHANGELOG.md @@ -1,17 +1,5 @@ # @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 23b469697..6781f7e68 100644 --- a/packages/react/package.json +++ b/packages/react/package.json @@ -1,6 +1,6 @@ { "name": "@executor-js/react", - "version": "1.5.0", + "version": "1.4.42", "private": true, "type": "module", "exports": { diff --git a/vision.md b/vision.md index a25dd8386..780169eec 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,25 +105,24 @@ 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 @@ -132,7 +131,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 @@ -148,18 +147,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: @@ -167,7 +166,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. @@ -176,7 +175,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. @@ -199,7 +198,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. @@ -210,7 +209,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. @@ -222,13 +221,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. @@ -278,7 +277,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 @@ -292,7 +291,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. @@ -326,7 +325,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. @@ -359,8 +358,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.) @@ -369,7 +368,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.