History

Version Packages (#1743)

Rhys Sullivan committed 2 months agov1.6.1

Commit bc8dd391 parent a3a73e084 files · +471 −224Browse files

Unified · Split

84 files
  1. .changeset/cli-credential-store-permissions.md +0 −11
  2. .changeset/concurrent-data-migration-stamps.md +0 −5
  3. .changeset/connection-edit-sheet-agent-preview.md +0 −9
  4. .changeset/desktop-settings-owner-only.md +0 −9
  5. .changeset/graph-slice-urls-first-class.md +0 −5
  6. .changeset/graph-spec-slices.md +0 −5
  7. .changeset/lazy-mcp-client-module.md +0 −5
  8. .changeset/mcp-abort-releases-response-body.md +0 −7
  9. .changeset/mcp-health-missing-credential.md +0 −11
  10. .changeset/mcp-namespace-search-tools.md +0 −8
  11. .changeset/mcp-pool-key-credential-retention.md +0 −11
  12. .changeset/mcp-session-idle-runtime-reclaim.md +0 −15
  13. .changeset/oauth-dcr-application-type.md +0 −9
  14. .changeset/oauth-popup-localstorage-residue.md +0 −9
  15. .changeset/onepassword-service-account-token-lifetime.md +0 −11
  16. .changeset/openapi-streaming-preview.md +0 −5
  17. .changeset/slim-search-tools.md +0 −6
  18. .changeset/storage-error-shaping.md +0 −8
  19. .changeset/worker-bundler-staging-contract.md +0 −11
  20. apps/cli/CHANGELOG.md +88 −0
  21. apps/cli/package.json +1 −1
  22. apps/cloud/CHANGELOG.md +21 −0
  23. apps/cloud/package.json +1 −1
  24. apps/desktop/CHANGELOG.md +2 −0
  25. apps/desktop/package.json +1 −1
  26. apps/host-selfhost/CHANGELOG.md +21 −0
  27. apps/host-selfhost/package.json +1 −1
  28. apps/local/CHANGELOG.md +27 −0
  29. apps/local/package.json +1 −1
  30. bun.lock +32 −32
  31. e2e/CHANGELOG.md +12 −0
  32. e2e/package.json +1 −1
  33. examples/all-plugins/CHANGELOG.md +14 −0
  34. examples/all-plugins/package.json +1 −1
  35. examples/docs-sdk-quickstart/CHANGELOG.md +8 −0
  36. examples/docs-sdk-quickstart/package.json +1 −1
  37. packages/core/analytics/CHANGELOG.md +7 −0
  38. packages/core/analytics/package.json +1 −1
  39. packages/core/api/CHANGELOG.md +13 −0
  40. packages/core/api/package.json +1 −1
  41. packages/core/cli/CHANGELOG.md +7 −0
  42. packages/core/cli/package.json +1 −1
  43. packages/core/config/CHANGELOG.md +7 −0
  44. packages/core/config/package.json +1 −1
  45. packages/core/execution/CHANGELOG.md +14 −0
  46. packages/core/execution/package.json +1 −1
  47. packages/core/sdk/CHANGELOG.md +8 −0
  48. packages/core/sdk/package.json +1 −1
  49. packages/core/vite-plugin/CHANGELOG.md +7 −0
  50. packages/core/vite-plugin/package.json +1 −1
  51. packages/hosts/cloudflare/CHANGELOG.md +10 −0
  52. packages/hosts/cloudflare/package.json +1 −1
  53. packages/hosts/mcp-apps-shell/CHANGELOG.md +8 −0
  54. packages/hosts/mcp-apps-shell/package.json +1 −1
  55. packages/kernel/core/CHANGELOG.md +2 −0
  56. packages/kernel/core/package.json +1 −1
  57. packages/kernel/runtime-quickjs/CHANGELOG.md +7 −0
  58. packages/kernel/runtime-quickjs/package.json +1 −1
  59. packages/kernel/runtime-workerd-subprocess/CHANGELOG.md +7 −0
  60. packages/kernel/runtime-workerd-subprocess/package.json +1 −1
  61. packages/plugins/desktop-settings/CHANGELOG.md +7 −0
  62. packages/plugins/desktop-settings/package.json +1 −1
  63. packages/plugins/encrypted-secrets/CHANGELOG.md +7 −0
  64. packages/plugins/encrypted-secrets/package.json +1 −1
  65. packages/plugins/example/CHANGELOG.md +7 −0
  66. packages/plugins/example/package.json +1 −1
  67. packages/plugins/file-secrets/CHANGELOG.md +7 −0
  68. packages/plugins/file-secrets/package.json +1 −1
  69. packages/plugins/graphql/CHANGELOG.md +10 −0
  70. packages/plugins/graphql/package.json +1 −1
  71. packages/plugins/keychain/CHANGELOG.md +7 −0
  72. packages/plugins/keychain/package.json +1 −1
  73. packages/plugins/mcp/CHANGELOG.md +16 −0
  74. packages/plugins/mcp/package.json +1 −1
  75. packages/plugins/onepassword/CHANGELOG.md +9 −0
  76. packages/plugins/onepassword/package.json +1 −1
  77. packages/plugins/openapi/CHANGELOG.md +16 −0
  78. packages/plugins/openapi/package.json +1 −1
  79. packages/plugins/provider-service-split/CHANGELOG.md +8 −0
  80. packages/plugins/provider-service-split/package.json +1 −1
  81. packages/plugins/toolkits/CHANGELOG.md +9 −0
  82. packages/plugins/toolkits/package.json +1 −1
  83. packages/react/CHANGELOG.md +14 −0
  84. packages/react/package.json +1 −1
.changeset/cli-credential-store-permissions.md+0−11
@@ -1,11 +0,0 @@
1---
2"executor": patch
3---
4
5**The CLI's server-connection store is written owner-only, and two of its tests now actually run**
6
7`~/.executor/server-connections.json` holds live credentials for a hosted server — a bearer token, or an OAuth access token together with its long-lived refresh token, rewritten on every silent refresh. It was created with no explicit mode, so the process umask applied and it landed world-readable (0644 by default). Any other account on the machine — or anything that copies a home directory, such as a backup or a container layer — could read a durable credential until the user ran `executor logout`.
8
9It is now created `0600` with a follow-up `chmod`, matching what the local-server manifest already does for the sibling secret it keeps under `server-control/`. Both steps are needed: `mode` applies only on create, and the `chmod` covers rewriting a store that already exists with looser permissions — which is the common path here, since the file is rewritten on every token refresh.
10
11Separately, two tests in `server-profile.test.ts` were written as `it("…", () => Effect.gen(…))`. An `Effect` is not a thenable, so Vitest treated each as passing without ever running its body — a deliberately falsified assertion still passed. They are now `it.effect` and execute for real. No production behaviour was wrong; the tests simply were not checking it.
.changeset/concurrent-data-migration-stamps.md+0−5
@@ -1,5 +0,0 @@
1---
2"executor": patch
3---
4
5Prevent concurrent SQLite data-migration runners from failing when another runner commits the same ledger stamp first.
.changeset/connection-edit-sheet-agent-preview.md+0−9
@@ -1,9 +0,0 @@
1---
2"@executor-js/react": patch
3---
4
5**The connection edit sheet now previews what agents actually read**
6
7The "What agents see" preview in the connection edit sheet rendered a `- \`<prefix>\` — <description>`inventory line. That line left the`execute`tool description when the inventory was slimmed to bare integration slugs, so the preview showed text no agent reads. The account label was also marked "Display-only", but`connections.list` returns it to agents alongside the description.
8
9The preview now mirrors the `connections.list` item for the connection (`name`, `identityLabel`, `description`), and the sheet copy says that both fields are agent-visible while the callable name stays as it was at connect time.
.changeset/desktop-settings-owner-only.md+0−9
@@ -1,9 +0,0 @@
1---
2"executor": patch
3---
4
5**The desktop settings store is written owner-only**
6
7`settings.json` holds `serverProfiles`, which carries a remote server's credential — a bearer token, or a basic-auth username and password — for any "Custom server" the user connects to. `conf` (under electron-store) defaults to `configFileMode: 0o666`, so with no explicit mode the file was created `0644`. On Linux, where `~/.config` is not reliably `0700`, that is readable by every other account on the machine. macOS is protected by `~/Library` being `0700` and Windows by ACLs, so this is primarily a Linux-desktop exposure — but owner-only credential files are already this app's standard: `local-auth.ts` writes `auth.json` at `0o600`, and the sidecar manifest is chmodded the same way.
8
9One option is sufficient here, rather than the mode-plus-chmod pair used elsewhere: `atomically` chmods the temp inode only when the requested mode differs from its own default, and the atomic rename then carries the tight mode onto an already-loose file. Verified against the installed `conf` — with no option a fresh file lands `0644`; with `configFileMode: 0o600` a fresh file lands `0600` and an existing `0644` file becomes `0600` on the next write.
.changeset/graph-slice-urls-first-class.md+0−5
@@ -1,5 +0,0 @@
1---
2"@executor-js/plugin-openapi": patch
3---
4
5Make Microsoft Graph slice URLs first-class spec sources instead of a hidden substitution. Catalog tiles now point directly at the slice release assets, the stored specUrl is exactly what gets fetched, and selection narrowing travels visibly in the URL fragment; requesting the upstream monolith URL fetches the monolith, never a silently swapped slice.
.changeset/graph-spec-slices.md+0−5
@@ -1,5 +0,0 @@
1---
2"@executor-js/plugin-openapi": patch
3---
4
5Serve Microsoft Graph preset selections from precomputed slice release assets instead of the 43MB upstream monolith. The monolith fetch almost never survives a 128MB Workers isolate (production traces show one completion in 30 days), so covered selections — every catalog preset, plus any combination within the default bundle — now read a 4–19MB filtered document built offline by the graph-slices workflow, with the monolith path kept only as a fallback and for full-graph/custom-scope selections.
.changeset/lazy-mcp-client-module.md+0−5
@@ -1,5 +0,0 @@
1---
2"@executor-js/plugin-mcp": patch
3---
4
5Load the MCP client SDK lazily on first outbound connection instead of at module evaluation. Runtimes that bundle the plugin (notably Cloudflare Workers) no longer pay the client package's module-eval memory and CPU on startup or on code paths that never dial an MCP server.
.changeset/mcp-abort-releases-response-body.md+0−7
@@ -1,7 +0,0 @@
1---
2"@executor-js/plugin-mcp": patch
3---
4
5**Closing a remote MCP connection now ends its streamable-http SSE request**
6
7On a supplied `httpClientLayer`, the fetch adapter wired the caller's `AbortSignal` only to the pending response promise, never to the response body, so closing a connection left the long-lived `GET` channel in flight forever — one abandoned request per dial. Under Bun each holds one of the 256 concurrent-request slots, so a long-running process eventually exhausts the pool and every connection starts failing with `MCP discovery timed out after 15000ms`. The response stream is now interrupted when the signal aborts.
.changeset/mcp-health-missing-credential.md+0−11
@@ -1,11 +0,0 @@
1---
2"executor": patch
3---
4
5**An MCP health check no longer reports `healthy` when the connection's credential is missing**
6
7Rendering skips an auth placement whose value is unresolved — that is the renderer's documented behaviour, and callers own the missing-value policy. The MCP health check had no such policy, so it dialled unauthenticated, and any server that lists tools without auth answered. `discoverTools` succeeding maps straight to `healthy`, so a connection whose credential was gone reported as healthy.
8
9Health status is the signal telling a user to re-authenticate, which makes `healthy` the one answer it must never give in that state. The check now reports `expired` with the unresolved input names, mirroring the OpenAPI health check, which already did exactly this.
10
11The MCP tool-invocation path already refused for the same reason. `resolveTools` is deliberately left alone — its own comment records that discovery tolerating unresolved credentials is intended, since an open server lists tools unauthenticated.
.changeset/mcp-namespace-search-tools.md+0−8
@@ -1,8 +0,0 @@
1---
2"@executor-js/execution": patch
3"executor": patch
4---
5
6**Opt-in per-integration search tools on the MCP surface**
7
8Connecting with `?search_tools=true` (stdio: `executor mcp --search-tools`) adds one minimally-described `search_<integration>` MCP tool per connected integration, so the integration namespaces reach the model as tool names it can see without calling anything. Each call routes through the same flow as `tools.search({ namespace })` inside `execute`, and the tool list comes from the same inventory the `execute` description shows. Off by default; a clean endpoint URL is unchanged.
.changeset/mcp-pool-key-credential-retention.md+0−11
@@ -1,11 +0,0 @@
1---
2"executor": patch
3---
4
5**The MCP connection pool no longer keeps credentials in its cache key**
6
7A pooled remote MCP session is looked up by a key describing the connection's identity, and that key included the connection's resolved credential values — plus the headers and query params those same secrets had already been rendered into. The key is retained as a `Map` key for the pool's lifetime, so the secret stayed readable in process memory long after the call that needed it had finished, with nothing left to read it.
8
9The key is now the SHA-256 digest of that identity rather than the identity itself. Reuse is unchanged, because equal identities still produce equal keys, and separation is unchanged too: a rotated access token, a different rendered auth header and a credential carried in a query param each still dial a fresh session instead of reusing one authenticated as somebody else. Hashing the whole identity rather than only the fields known to be sensitive means a field added later is covered without anyone having to remember it carries a secret.
10
11Nothing reads the key back — the pool only compares it, and it reaches no log, span or error message — so nothing observable changes.
.changeset/mcp-session-idle-runtime-reclaim.md+0−15
@@ -1,15 +0,0 @@
1---
2"executor": patch
3---
4
5**Idle MCP session runtimes are actually reclaimed**
6
7The MCP session Durable Object has an idle timeout that disposes a session's execution runtime — the execution engine and its executor closure, the built tool catalog, and a live database handle — once the session has gone quiet. That timeout never ran.
8
9The session arms an idle alarm on every request. The agents framework independently recomputes the Durable Object alarm from its own schedule table and keep-alive refcount, and when it finds neither it does not leave the alarm alone: it deletes it. It releases the last keep-alive reference at the end of every ordinary tool call, from a `waitUntil` that runs just after the response goes out — so the idle alarm the session had armed moments earlier was erased, and a session that had just served a request was left with no alarm at all. Its runtime then stayed resident until the platform evicted the whole object.
10
11Durable Objects are colocated many-to-one onto an isolate with a single heap, so runtimes that are never reclaimed accumulate there. When the heap is exhausted the allocation that fails is whichever comes next, anywhere in the isolate — which is why the failure tended to surface from storage rather than from the runtimes that had consumed the memory.
12
13The idle deadline belongs to the session, not to the framework's scheduler, so it is now re-asserted after the framework has arranged whatever it needs — and only while a runtime is actually resident, since once there is nothing left to reclaim the framework's answer is correct.
14
15Disposal also now emits a span carrying a per-isolate resident-runtime gauge, alongside the same gauge on runtime build, so the reclaim can be confirmed in production rather than inferred.
.changeset/oauth-dcr-application-type.md+0−9
@@ -1,9 +0,0 @@
1---
2"executor": patch
3---
4
5**Fix: declare the OAuth application type during dynamic client registration**
6
7Dynamic OAuth registrations now identify HTTPS callbacks as web applications
8and loopback HTTP callbacks as native applications. This lets strict OAuth
9servers validate Executor's redirect URI against the correct client type.
.changeset/oauth-popup-localstorage-residue.md+0−9
@@ -1,9 +0,0 @@
1---
2"executor": patch
3---
4
5**The OAuth popup clears its result out of `localStorage` after handing it over**
6
7The popup writes its result to `localStorage` as the fallback completion channel, because `postMessage` is severed when a provider's consent page sets COOP and `BroadcastChannel` can be partitioned or raced by the auto-close. Nothing removed that entry afterwards, so the payload — which carries the identity label, an email, and on failure the error preview — stayed parked in the user's browser profile.
8
9The entry is now cleared once the handover has had time to land, and on `pagehide` as a backstop — the failure page never auto-closes so the user can read the error, and closing it by hand would otherwise cancel the pending timer and strand the entry. This cannot cost a listener the result: a `storage` event captures `newValue` at dispatch, so an opener that has been notified already holds it.
.changeset/onepassword-service-account-token-lifetime.md+0−11
@@ -1,11 +0,0 @@
1---
2"executor": patch
3---
4
5**The 1Password service-account token is cleared from the op-js global after each call**
6
7`@1password/op-js` keeps the service-account token on a module-level CLI instance (`cli.serviceAccountToken`) and reads it when it spawns `op`. The CLI backend set that global before each call and never cleared it, so one reachable reference to the token stayed live for the rest of the process.
8
9It is now cleared as soon as the call that needed it is done, on success, failure and interruption alike. Authentication is unaffected: every read and write of that global already happens inside the backend's semaphore, so the next operation re-sets the token before it spawns anything.
10
11This is hygiene rather than a boundary change. No unrelated `op` child ever received a stale token — every call routes through the same critical section that sets the correct one immediately before invoking — and the token is separately persisted in plaintext in the plugin's config blob, so an attacker's reach is unchanged. What it removes is a long-lived reachable reference that nothing needed to keep.
.changeset/openapi-streaming-preview.md+0−5
@@ -1,5 +0,0 @@
1---
2"@executor-js/plugin-openapi": patch
3---
4
5Preview OpenAPI spec-format selections (Microsoft Graph) through the streaming structural-split path instead of a whole-document parse, and guard generic whole-document parses by parsed-tree size (line count for block YAML, text size for JSON). Previewing a Graph preset URL previously parsed the 43MB source whole and killed the 128MB Workers isolate mid-request, surfacing as an empty 503; it now streams within budget, and oversized generic specs fail with an actionable error instead of taking down the isolate.
.changeset/slim-search-tools.md+0−6
@@ -1,6 +0,0 @@
1---
2"@executor-js/execution": patch
3"executor": patch
4---
5
6Slim the per-integration `search_<integration>` tool definitions to under half their size: one shared one-line description (the tool name already carries the namespace) and a single bare `query` parameter, dropping the `limit`/`offset` knobs. A session pays for these definitions once per connected integration, so the surface now costs ~2k tokens instead of ~5k at 30 integrations; paging through a namespace belongs in `execute`.
.changeset/storage-error-shaping.md+0−8
@@ -1,8 +0,0 @@
1---
2"@executor-js/sdk": patch
3"@executor-js/api": patch
4---
5
6Build `StorageError.message` from the call-site label plus the driver's error code instead of the driver's raw text. The driver text is drizzle's `Failed query: <sql>\nparams: <bound values>`, so error reporting grouped one storage defect by statement shape and printed bound parameters into issue titles. The full driver error stays on `cause`.
7
8Add `StorageConnectionError`, a `StorageFailure` variant for postgres.js connection faults (`CONNECTION_ENDED`, `CONNECTION_CLOSED`, `CONNECTION_DESTROYED`, `CONNECT_TIMEOUT`, `ECONNREFUSED`, `ECONNRESET`) and workerd's cross-request I/O rejection. It carries the fault `code` and a `retryable` flag so a lost socket can be told apart from a pool-lifetime bug.
.changeset/worker-bundler-staging-contract.md+0−11
@@ -1,11 +0,0 @@
1---
2"executor": patch
3---
4
5**The packed Worker toolchain is verified at build time, and an incomplete copy is now reported instead of silently ignored**
6
7`@cloudflare/worker-bundler` cannot live inside the compiled binary: bunfs has no `node_modules`, so a bare specifier is unresolvable there by construction. The build instead copies the package's `dist/` next to the executable and `native-bindings.ts` publishes that path as `EXECUTOR_WORKER_BUNDLER_DIR` for consumers to load from.
8
9That handoff was described in two places that were free to drift, and did. The build writes `dist/index.bundled.js` — the entry consumers actually load, packed so it has no bare imports of its own — while the runtime check only looked for `dist/index.js` and `dist/esbuild.wasm`. Nothing verified the staged copy after the compile, so a partial staging produced a binary that looked fine on the build machine and failed on the user's, at startup. Worse, the runtime check failed open: when a file was missing it silently declined to set the environment variable, leaving a consumer to fall through to the bare specifier and crash.
10
11The required file list is now one shared contract used by both sides, so they cannot disagree. The build asserts the staged copy after compiling each target — every required file present, a size floor on the packed entry, and the `\0asm` magic on the wasm so a truncated copy cannot pass — turning a packaging slip into a failed build rather than a broken install. At runtime, a directory that is present but incomplete is reported on stderr naming the missing files, instead of being swallowed. An absent directory stays quiet, since that is the normal non-packaged path.
apps/cli/CHANGELOG.md+88−0
@@ -1,5 +1,93 @@
1# executor1# executor
2 2
3## 1.6.1
4
5### Patch Changes
6
7- [#1576](https://github.com/UsefulSoftwareCo/executor/pull/1576) [`6535a74`](https://github.com/UsefulSoftwareCo/executor/commit/6535a74de4860e376e5a2e273cb2d5a662f98c5c) Thanks [@GeiserX](https://github.com/GeiserX)! - **The CLI's server-connection store is written owner-only, and two of its tests now actually run**
8
9 `~/.executor/server-connections.json` holds live credentials for a hosted server — a bearer token, or an OAuth access token together with its long-lived refresh token, rewritten on every silent refresh. It was created with no explicit mode, so the process umask applied and it landed world-readable (0644 by default). Any other account on the machine — or anything that copies a home directory, such as a backup or a container layer — could read a durable credential until the user ran `executor logout`.
10
11 It is now created `0600` with a follow-up `chmod`, matching what the local-server manifest already does for the sibling secret it keeps under `server-control/`. Both steps are needed: `mode` applies only on create, and the `chmod` covers rewriting a store that already exists with looser permissions — which is the common path here, since the file is rewritten on every token refresh.
12
13 Separately, two tests in `server-profile.test.ts` were written as `it("…", () => Effect.gen(…))`. An `Effect` is not a thenable, so Vitest treated each as passing without ever running its body — a deliberately falsified assertion still passed. They are now `it.effect` and execute for real. No production behaviour was wrong; the tests simply were not checking it.
14
15- [#1454](https://github.com/UsefulSoftwareCo/executor/pull/1454) [`e8ea62c`](https://github.com/UsefulSoftwareCo/executor/commit/e8ea62c8ba295931cf969cd310278b6a50771bdc) Thanks [@jadch](https://github.com/jadch)! - Prevent concurrent SQLite data-migration runners from failing when another runner commits the same ledger stamp first.
16
17- [#1579](https://github.com/UsefulSoftwareCo/executor/pull/1579) [`31e17c7`](https://github.com/UsefulSoftwareCo/executor/commit/31e17c725f0987f86896519f0626f9c94d39ccb7) Thanks [@GeiserX](https://github.com/GeiserX)! - **The desktop settings store is written owner-only**
18
19 `settings.json` holds `serverProfiles`, which carries a remote server's credential — a bearer token, or a basic-auth username and password — for any "Custom server" the user connects to. `conf` (under electron-store) defaults to `configFileMode: 0o666`, so with no explicit mode the file was created `0644`. On Linux, where `~/.config` is not reliably `0700`, that is readable by every other account on the machine. macOS is protected by `~/Library` being `0700` and Windows by ACLs, so this is primarily a Linux-desktop exposure — but owner-only credential files are already this app's standard: `local-auth.ts` writes `auth.json` at `0o600`, and the sidecar manifest is chmodded the same way.
20
21 One option is sufficient here, rather than the mode-plus-chmod pair used elsewhere: `atomically` chmods the temp inode only when the requested mode differs from its own default, and the atomic rename then carries the tight mode onto an already-loose file. Verified against the installed `conf` — with no option a fresh file lands `0644`; with `configFileMode: 0o600` a fresh file lands `0600` and an existing `0644` file becomes `0600` on the next write.
22
23- [#1582](https://github.com/UsefulSoftwareCo/executor/pull/1582) [`e8e97c4`](https://github.com/UsefulSoftwareCo/executor/commit/e8e97c4c008fce702ee07ec0ffe2a8d3e6946a21) Thanks [@GeiserX](https://github.com/GeiserX)! - **An MCP health check no longer reports `healthy` when the connection's credential is missing**
24
25 Rendering skips an auth placement whose value is unresolved — that is the renderer's documented behaviour, and callers own the missing-value policy. The MCP health check had no such policy, so it dialled unauthenticated, and any server that lists tools without auth answered. `discoverTools` succeeding maps straight to `healthy`, so a connection whose credential was gone reported as healthy.
26
27 Health status is the signal telling a user to re-authenticate, which makes `healthy` the one answer it must never give in that state. The check now reports `expired` with the unresolved input names, mirroring the OpenAPI health check, which already did exactly this.
28
29 The MCP tool-invocation path already refused for the same reason. `resolveTools` is deliberately left alone — its own comment records that discovery tolerating unresolved credentials is intended, since an open server lists tools unauthenticated.
30
31- [#1741](https://github.com/UsefulSoftwareCo/executor/pull/1741) [`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - **Opt-in per-integration search tools on the MCP surface**
32
33 Connecting with `?search_tools=true` (stdio: `executor mcp --search-tools`) adds one minimally-described `search_<integration>` MCP tool per connected integration, so the integration namespaces reach the model as tool names it can see without calling anything. Each call routes through the same flow as `tools.search({ namespace })` inside `execute`, and the tool list comes from the same inventory the `execute` description shows. Off by default; a clean endpoint URL is unchanged.
34
35- [#1573](https://github.com/UsefulSoftwareCo/executor/pull/1573) [`45ba141`](https://github.com/UsefulSoftwareCo/executor/commit/45ba1419b4e33ad10b0856c5fbc40fabc8f6efe1) Thanks [@GeiserX](https://github.com/GeiserX)! - **The MCP connection pool no longer keeps credentials in its cache key**
36
37 A pooled remote MCP session is looked up by a key describing the connection's identity, and that key included the connection's resolved credential values — plus the headers and query params those same secrets had already been rendered into. The key is retained as a `Map` key for the pool's lifetime, so the secret stayed readable in process memory long after the call that needed it had finished, with nothing left to read it.
38
39 The key is now the SHA-256 digest of that identity rather than the identity itself. Reuse is unchanged, because equal identities still produce equal keys, and separation is unchanged too: a rotated access token, a different rendered auth header and a credential carried in a query param each still dial a fresh session instead of reusing one authenticated as somebody else. Hashing the whole identity rather than only the fields known to be sensitive means a field added later is covered without anyone having to remember it carries a secret.
40
41 Nothing reads the key back — the pool only compares it, and it reaches no log, span or error message — so nothing observable changes.
42
43- [#1800](https://github.com/UsefulSoftwareCo/executor/pull/1800) [`eac13e7`](https://github.com/UsefulSoftwareCo/executor/commit/eac13e7032c027d866c06728f1d5b634fd9ef7dd) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - **Idle MCP session runtimes are actually reclaimed**
44
45 The MCP session Durable Object has an idle timeout that disposes a session's execution runtime — the execution engine and its executor closure, the built tool catalog, and a live database handle — once the session has gone quiet. That timeout never ran.
46
47 The session arms an idle alarm on every request. The agents framework independently recomputes the Durable Object alarm from its own schedule table and keep-alive refcount, and when it finds neither it does not leave the alarm alone: it deletes it. It releases the last keep-alive reference at the end of every ordinary tool call, from a `waitUntil` that runs just after the response goes out — so the idle alarm the session had armed moments earlier was erased, and a session that had just served a request was left with no alarm at all. Its runtime then stayed resident until the platform evicted the whole object.
48
49 Durable Objects are colocated many-to-one onto an isolate with a single heap, so runtimes that are never reclaimed accumulate there. When the heap is exhausted the allocation that fails is whichever comes next, anywhere in the isolate — which is why the failure tended to surface from storage rather than from the runtimes that had consumed the memory.
50
51 The idle deadline belongs to the session, not to the framework's scheduler, so it is now re-asserted after the framework has arranged whatever it needs — and only while a runtime is actually resident, since once there is nothing left to reclaim the framework's answer is correct.
52
53 Disposal also now emits a span carrying a per-isolate resident-runtime gauge, alongside the same gauge on runtime build, so the reclaim can be confirmed in production rather than inferred.
54
55- [#1609](https://github.com/UsefulSoftwareCo/executor/pull/1609) [`662ebe2`](https://github.com/UsefulSoftwareCo/executor/commit/662ebe28d5109156a1aa3b27eaa80ba9daacaf11) Thanks [@timkley](https://github.com/timkley)! - **Fix: declare the OAuth application type during dynamic client registration**
56
57 Dynamic OAuth registrations now identify HTTPS callbacks as web applications
58 and loopback HTTP callbacks as native applications. This lets strict OAuth
59 servers validate Executor's redirect URI against the correct client type.
60
61- [#1570](https://github.com/UsefulSoftwareCo/executor/pull/1570) [`e66a3d8`](https://github.com/UsefulSoftwareCo/executor/commit/e66a3d893c948fcccc7fc028870d051cb2d31860) Thanks [@GeiserX](https://github.com/GeiserX)! - **The OAuth popup clears its result out of `localStorage` after handing it over**
62
63 The popup writes its result to `localStorage` as the fallback completion channel, because `postMessage` is severed when a provider's consent page sets COOP and `BroadcastChannel` can be partitioned or raced by the auto-close. Nothing removed that entry afterwards, so the payload — which carries the identity label, an email, and on failure the error preview — stayed parked in the user's browser profile.
64
65 The entry is now cleared once the handover has had time to land, and on `pagehide` as a backstop — the failure page never auto-closes so the user can read the error, and closing it by hand would otherwise cancel the pending timer and strand the entry. This cannot cost a listener the result: a `storage` event captures `newValue` at dispatch, so an opener that has been notified already holds it.
66
67- [#1574](https://github.com/UsefulSoftwareCo/executor/pull/1574) [`c8bb857`](https://github.com/UsefulSoftwareCo/executor/commit/c8bb8578c3afdc9731274d9e9abc68d7ce32d9ab) Thanks [@GeiserX](https://github.com/GeiserX)! - **The 1Password service-account token is cleared from the op-js global after each call**
68
69 `@1password/op-js` keeps the service-account token on a module-level CLI instance (`cli.serviceAccountToken`) and reads it when it spawns `op`. The CLI backend set that global before each call and never cleared it, so one reachable reference to the token stayed live for the rest of the process.
70
71 It is now cleared as soon as the call that needed it is done, on success, failure and interruption alike. Authentication is unaffected: every read and write of that global already happens inside the backend's semaphore, so the next operation re-sets the token before it spawns anything.
72
73 This is hygiene rather than a boundary change. No unrelated `op` child ever received a stale token — every call routes through the same critical section that sets the correct one immediately before invoking — and the token is separately persisted in plaintext in the plugin's config blob, so an attacker's reach is unchanged. What it removes is a long-lived reachable reference that nothing needed to keep.
74
75- [#1749](https://github.com/UsefulSoftwareCo/executor/pull/1749) [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Slim the per-integration `search_<integration>` tool definitions to under half their size: one shared one-line description (the tool name already carries the namespace) and a single bare `query` parameter, dropping the `limit`/`offset` knobs. A session pays for these definitions once per connected integration, so the surface now costs ~2k tokens instead of ~5k at 30 integrations; paging through a namespace belongs in `execute`.
76
77- [#1798](https://github.com/UsefulSoftwareCo/executor/pull/1798) [`69b0e64`](https://github.com/UsefulSoftwareCo/executor/commit/69b0e6413737599f11848b3877048f789ca84ac5) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - **The packed Worker toolchain is verified at build time, and an incomplete copy is now reported instead of silently ignored**
78
79 `@cloudflare/worker-bundler` cannot live inside the compiled binary: bunfs has no `node_modules`, so a bare specifier is unresolvable there by construction. The build instead copies the package's `dist/` next to the executable and `native-bindings.ts` publishes that path as `EXECUTOR_WORKER_BUNDLER_DIR` for consumers to load from.
80
81 That handoff was described in two places that were free to drift, and did. The build writes `dist/index.bundled.js` — the entry consumers actually load, packed so it has no bare imports of its own — while the runtime check only looked for `dist/index.js` and `dist/esbuild.wasm`. Nothing verified the staged copy after the compile, so a partial staging produced a binary that looked fine on the build machine and failed on the user's, at startup. Worse, the runtime check failed open: when a file was missing it silently declined to set the environment variable, leaving a consumer to fall through to the bare specifier and crash.
82
83 The required file list is now one shared contract used by both sides, so they cannot disagree. The build asserts the staged copy after compiling each target — every required file present, a size floor on the packed entry, and the `\0asm` magic on the wasm so a truncated copy cannot pass — turning a packaging slip into a failed build rather than a broken install. At runtime, a directory that is present but incomplete is reported on stderr naming the missing files, instead of being swallowed. An absent directory stays quiet, since that is the normal non-packaged path.
84
85- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
86 - @executor-js/sdk@1.6.1
87 - @executor-js/api@1.4.64
88 - @executor-js/local@1.6.1
89 - @executor-js/runtime-quickjs@1.6.1
90
3## 1.6.091## 1.6.0
4 92
5### Patch Changes93### Patch Changes
apps/cli/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "executor",2 "name": "executor",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "private": true,4 "private": true,
5 "bin": {5 "bin": {
6 "executor": "./bin/executor.ts"6 "executor": "./bin/executor.ts"
apps/cloud/CHANGELOG.md+21−0
@@ -1,5 +1,26 @@
1# @executor-js/cloud1# @executor-js/cloud
2 2
3## 1.4.62
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa), [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d), [`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/plugin-openapi@1.6.1
10 - @executor-js/plugin-mcp@1.6.1
11 - @executor-js/execution@1.6.1
12 - @executor-js/sdk@1.6.1
13 - @executor-js/api@1.4.64
14 - @executor-js/mcp-apps-shell@1.4.12
15 - @executor-js/plugin-graphql@1.6.1
16 - @executor-js/plugin-toolkits@1.5.36
17 - @executor-js/plugin-workos-vault@0.0.2
18 - @executor-js/runtime-dynamic-worker@1.4.4
19 - @executor-js/cloudflare@0.0.43
20 - @executor-js/host-mcp@1.4.4
21 - @executor-js/vite-plugin@0.0.61
22 - @executor-js/runtime-quickjs@1.6.1
23
3## 1.4.6124## 1.4.61
4 25
5### Patch Changes26### Patch Changes
apps/cloud/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/cloud",2 "name": "@executor-js/cloud",
3 "version": "1.4.61",3 "version": "1.4.62",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "scripts": {6 "scripts": {
apps/desktop/CHANGELOG.md+2−0
@@ -1,5 +1,7 @@
1# @executor-js/desktop1# @executor-js/desktop
2 2
3## 1.6.1
4
3## 1.6.05## 1.6.0
4 6
5## 1.5.427## 1.5.42
apps/desktop/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/desktop",2 "name": "@executor-js/desktop",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "private": true,4 "private": true,
5 "homepage": "https://github.com/UsefulSoftwareCo/executor",5 "homepage": "https://github.com/UsefulSoftwareCo/executor",
6 "license": "MIT",6 "license": "MIT",
apps/host-selfhost/CHANGELOG.md+21−0
@@ -1,5 +1,26 @@
1# @executor-js/host-selfhost1# @executor-js/host-selfhost
2 2
3## 0.0.43
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa), [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d), [`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/plugin-openapi@1.6.1
10 - @executor-js/plugin-mcp@1.6.1
11 - @executor-js/execution@1.6.1
12 - @executor-js/sdk@1.6.1
13 - @executor-js/api@1.4.64
14 - @executor-js/app@1.4.4
15 - @executor-js/mcp-apps-shell@1.4.12
16 - @executor-js/plugin-graphql@1.6.1
17 - @executor-js/plugin-toolkits@1.5.36
18 - @executor-js/plugin-provider-service-split@0.0.15
19 - @executor-js/analytics@0.1.8
20 - @executor-js/host-mcp@1.4.4
21 - @executor-js/plugin-encrypted-secrets@0.0.43
22 - @executor-js/runtime-quickjs@1.6.1
23
3## 0.0.4224## 0.0.42
4 25
5### Patch Changes26### Patch Changes
apps/host-selfhost/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/host-selfhost",2 "name": "@executor-js/host-selfhost",
3 "version": "0.0.42",3 "version": "0.0.43",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
apps/local/CHANGELOG.md+27−0
@@ -1,5 +1,32 @@
1# @executor-js/local1# @executor-js/local
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa), [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d), [`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/plugin-openapi@1.6.1
10 - @executor-js/plugin-mcp@1.6.1
11 - @executor-js/execution@1.6.1
12 - @executor-js/sdk@1.6.1
13 - @executor-js/api@1.4.64
14 - @executor-js/app@1.4.4
15 - @executor-js/mcp-apps-shell@1.4.12
16 - @executor-js/plugin-graphql@1.6.1
17 - @executor-js/plugin-onepassword@1.6.1
18 - @executor-js/plugin-toolkits@1.5.36
19 - @executor-js/plugin-provider-service-split@0.0.15
20 - @executor-js/analytics@0.1.8
21 - @executor-js/host-mcp@1.4.4
22 - @executor-js/config@1.6.1
23 - @executor-js/vite-plugin@0.0.61
24 - @executor-js/plugin-desktop-settings@1.6.1
25 - @executor-js/plugin-example@1.6.1
26 - @executor-js/plugin-file-secrets@1.6.1
27 - @executor-js/plugin-keychain@1.6.1
28 - @executor-js/runtime-quickjs@1.6.1
29
3## 1.6.030## 1.6.0
4 31
5### Patch Changes32### Patch Changes
apps/local/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/local",2 "name": "@executor-js/local",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
bun.lock+32−32
@@ -31,7 +31,7 @@ · 30 unmodified lines
31 },31 },
32 "apps/cli": {32 "apps/cli": {
33 "name": "executor",33 "name": "executor",
34 "version": "1.6.0",34 "version": "1.6.1",
35 "bin": {35 "bin": {
36 "executor": "./bin/executor.ts",36 "executor": "./bin/executor.ts",
37 },37 },
@@ -60,7 +60,7 @@ · 22 unmodified lines
60 },60 },
61 "apps/cloud": {61 "apps/cloud": {
62 "name": "@executor-js/cloud",62 "name": "@executor-js/cloud",
63 "version": "1.4.61",63 "version": "1.4.62",
64 "dependencies": {64 "dependencies": {
65 "@cloudflare/vite-plugin": "^1.31.1",65 "@cloudflare/vite-plugin": "^1.31.1",
66 "@effect/atom-react": "catalog:",66 "@effect/atom-react": "catalog:",
@@ -133,7 +133,7 @@ · 66 unmodified lines
133 },133 },
134 "apps/desktop": {134 "apps/desktop": {
135 "name": "@executor-js/desktop",135 "name": "@executor-js/desktop",
136 "version": "1.6.0",136 "version": "1.6.1",
137 "dependencies": {137 "dependencies": {
138 "@sentry/bun": "^10.57.0",138 "@sentry/bun": "^10.57.0",
139 "@sentry/electron": "^7.13.0",139 "@sentry/electron": "^7.13.0",
@@ -220,7 +220,7 @@ · 80 unmodified lines
220 },220 },
221 "apps/host-selfhost": {221 "apps/host-selfhost": {
222 "name": "@executor-js/host-selfhost",222 "name": "@executor-js/host-selfhost",
223 "version": "0.0.42",223 "version": "0.0.43",
224 "dependencies": {224 "dependencies": {
225 "@better-auth/api-key": "^1.6.11",225 "@better-auth/api-key": "^1.6.11",
226 "@cloudflare/worker-bundler": "0.2.1",226 "@cloudflare/worker-bundler": "0.2.1",
@@ -272,7 +272,7 @@ · 45 unmodified lines
272 },272 },
273 "apps/local": {273 "apps/local": {
274 "name": "@executor-js/local",274 "name": "@executor-js/local",
275 "version": "1.6.0",275 "version": "1.6.1",
276 "dependencies": {276 "dependencies": {
277 "@effect/atom-react": "catalog:",277 "@effect/atom-react": "catalog:",
278 "@effect/platform-node": "catalog:",278 "@effect/platform-node": "catalog:",
@@ -352,7 +352,7 @@ · 73 unmodified lines
352 },352 },
353 "e2e": {353 "e2e": {
354 "name": "@executor-js/e2e",354 "name": "@executor-js/e2e",
355 "version": "0.0.40",355 "version": "0.0.41",
356 "dependencies": {356 "dependencies": {
357 "@executor-js/api": "workspace:*",357 "@executor-js/api": "workspace:*",
358 "@executor-js/emulate": "^0.14.0",358 "@executor-js/emulate": "^0.14.0",
@@ -387,7 +387,7 @@ · 28 unmodified lines
387 },387 },
388 "examples/all-plugins": {388 "examples/all-plugins": {
389 "name": "@executor-js/example-all-plugins",389 "name": "@executor-js/example-all-plugins",
390 "version": "0.0.61",390 "version": "0.0.62",
391 "dependencies": {391 "dependencies": {
392 "@executor-js/plugin-file-secrets": "workspace:*",392 "@executor-js/plugin-file-secrets": "workspace:*",
393 "@executor-js/plugin-graphql": "workspace:*",393 "@executor-js/plugin-graphql": "workspace:*",
@@ -406,7 +406,7 @@ · 12 unmodified lines
406 },406 },
407 "examples/docs-sdk-quickstart": {407 "examples/docs-sdk-quickstart": {
408 "name": "@executor-js/example-docs-sdk-quickstart",408 "name": "@executor-js/example-docs-sdk-quickstart",
409 "version": "0.0.46",409 "version": "0.0.47",
410 "dependencies": {410 "dependencies": {
411 "@executor-js/plugin-openapi": "workspace:*",411 "@executor-js/plugin-openapi": "workspace:*",
412 "@executor-js/sdk": "workspace:*",412 "@executor-js/sdk": "workspace:*",
@@ -463,7 +463,7 @@ · 50 unmodified lines
463 },463 },
464 "packages/core/analytics": {464 "packages/core/analytics": {
465 "name": "@executor-js/analytics",465 "name": "@executor-js/analytics",
466 "version": "0.1.7",466 "version": "0.1.8",
467 "dependencies": {467 "dependencies": {
468 "@effect/platform-node": "catalog:",468 "@effect/platform-node": "catalog:",
469 "@executor-js/execution": "workspace:*",469 "@executor-js/execution": "workspace:*",
@@ -479,7 +479,7 @@ · 9 unmodified lines
479 },479 },
480 "packages/core/api": {480 "packages/core/api": {
481 "name": "@executor-js/api",481 "name": "@executor-js/api",
482 "version": "1.4.63",482 "version": "1.4.64",
483 "dependencies": {483 "dependencies": {
484 "@executor-js/execution": "workspace:*",484 "@executor-js/execution": "workspace:*",
485 "@executor-js/host-mcp": "workspace:*",485 "@executor-js/host-mcp": "workspace:*",
@@ -496,7 +496,7 @@ · 10 unmodified lines
496 },496 },
497 "packages/core/cli": {497 "packages/core/cli": {
498 "name": "@executor-js/cli",498 "name": "@executor-js/cli",
499 "version": "0.2.50",499 "version": "0.2.51",
500 "bin": {500 "bin": {
501 "executor-sdk": "./dist/index.js",501 "executor-sdk": "./dist/index.js",
502 },502 },
@@ -517,7 +517,7 @@ · 14 unmodified lines
517 },517 },
518 "packages/core/config": {518 "packages/core/config": {
519 "name": "@executor-js/config",519 "name": "@executor-js/config",
520 "version": "1.6.0",520 "version": "1.6.1",
521 "dependencies": {521 "dependencies": {
522 "@executor-js/sdk": "workspace:*",522 "@executor-js/sdk": "workspace:*",
523 "jiti": "^2.6.1",523 "jiti": "^2.6.1",
@@ -538,7 +538,7 @@ · 14 unmodified lines
538 },538 },
539 "packages/core/execution": {539 "packages/core/execution": {
540 "name": "@executor-js/execution",540 "name": "@executor-js/execution",
541 "version": "1.6.0",541 "version": "1.6.1",
542 "dependencies": {542 "dependencies": {
543 "@executor-js/codemode-core": "workspace:*",543 "@executor-js/codemode-core": "workspace:*",
544 "@executor-js/sdk": "workspace:*",544 "@executor-js/sdk": "workspace:*",
@@ -604,7 +604,7 @@ · 59 unmodified lines
604 },604 },
605 "packages/core/sdk": {605 "packages/core/sdk": {
606 "name": "@executor-js/sdk",606 "name": "@executor-js/sdk",
607 "version": "1.6.0",607 "version": "1.6.1",
608 "dependencies": {608 "dependencies": {
609 "@executor-js/fumadb": "workspace:*",609 "@executor-js/fumadb": "workspace:*",
610 "@standard-schema/spec": "^1.1.0",610 "@standard-schema/spec": "^1.1.0",
@@ -657,7 +657,7 @@ · 46 unmodified lines
657 },657 },
658 "packages/core/vite-plugin": {658 "packages/core/vite-plugin": {
659 "name": "@executor-js/vite-plugin",659 "name": "@executor-js/vite-plugin",
660 "version": "0.0.60",660 "version": "0.0.61",
661 "dependencies": {661 "dependencies": {
662 "@executor-js/sdk": "workspace:*",662 "@executor-js/sdk": "workspace:*",
663 "jiti": "^2.6.1",663 "jiti": "^2.6.1",
@@ -677,7 +677,7 @@ · 13 unmodified lines
677 },677 },
678 "packages/hosts/cloudflare": {678 "packages/hosts/cloudflare": {
679 "name": "@executor-js/cloudflare",679 "name": "@executor-js/cloudflare",
680 "version": "0.0.42",680 "version": "0.0.43",
681 "dependencies": {681 "dependencies": {
682 "@executor-js/api": "workspace:*",682 "@executor-js/api": "workspace:*",
683 "@executor-js/execution": "workspace:*",683 "@executor-js/execution": "workspace:*",
@@ -718,7 +718,7 @@ · 34 unmodified lines
718 },718 },
719 "packages/hosts/mcp-apps-shell": {719 "packages/hosts/mcp-apps-shell": {
720 "name": "@executor-js/mcp-apps-shell",720 "name": "@executor-js/mcp-apps-shell",
721 "version": "1.4.11",721 "version": "1.4.12",
722 "dependencies": {722 "dependencies": {
723 "@executor-js/react": "workspace:*",723 "@executor-js/react": "workspace:*",
724 "@executor-js/runtime-quickjs": "workspace:*",724 "@executor-js/runtime-quickjs": "workspace:*",
@@ -756,7 +756,7 @@ · 31 unmodified lines
756 },756 },
757 "packages/kernel/core": {757 "packages/kernel/core": {
758 "name": "@executor-js/codemode-core",758 "name": "@executor-js/codemode-core",
759 "version": "1.6.0",759 "version": "1.6.1",
760 "dependencies": {760 "dependencies": {
761 "@babel/parser": "^7.29.2",761 "@babel/parser": "^7.29.2",
762 "@standard-schema/spec": "^1.0.0",762 "@standard-schema/spec": "^1.0.0",
@@ -829,7 +829,7 @@ · 66 unmodified lines
829 },829 },
830 "packages/kernel/runtime-quickjs": {830 "packages/kernel/runtime-quickjs": {
831 "name": "@executor-js/runtime-quickjs",831 "name": "@executor-js/runtime-quickjs",
832 "version": "1.6.0",832 "version": "1.6.1",
833 "dependencies": {833 "dependencies": {
834 "@executor-js/codemode-core": "workspace:*",834 "@executor-js/codemode-core": "workspace:*",
835 "quickjs-emscripten": "catalog:",835 "quickjs-emscripten": "catalog:",
@@ -849,7 +849,7 @@ · 13 unmodified lines
849 },849 },
850 "packages/kernel/runtime-workerd-subprocess": {850 "packages/kernel/runtime-workerd-subprocess": {
851 "name": "@executor-js/runtime-workerd-subprocess",851 "name": "@executor-js/runtime-workerd-subprocess",
852 "version": "0.0.15",852 "version": "0.0.16",
853 "dependencies": {853 "dependencies": {
854 "@executor-js/codemode-core": "workspace:*",854 "@executor-js/codemode-core": "workspace:*",
855 "effect": "catalog:",855 "effect": "catalog:",
@@ -864,7 +864,7 @@ · 8 unmodified lines
864 },864 },
865 "packages/plugins/desktop-settings": {865 "packages/plugins/desktop-settings": {
866 "name": "@executor-js/plugin-desktop-settings",866 "name": "@executor-js/plugin-desktop-settings",
867 "version": "1.6.0",867 "version": "1.6.1",
868 "dependencies": {868 "dependencies": {
869 "@executor-js/sdk": "workspace:*",869 "@executor-js/sdk": "workspace:*",
870 "react": "catalog:",870 "react": "catalog:",
@@ -877,7 +877,7 @@ · 6 unmodified lines
877 },877 },
878 "packages/plugins/encrypted-secrets": {878 "packages/plugins/encrypted-secrets": {
879 "name": "@executor-js/plugin-encrypted-secrets",879 "name": "@executor-js/plugin-encrypted-secrets",
880 "version": "0.0.42",880 "version": "0.0.43",
881 "dependencies": {881 "dependencies": {
882 "@executor-js/sdk": "workspace:*",882 "@executor-js/sdk": "workspace:*",
883 "effect": "catalog:",883 "effect": "catalog:",
@@ -892,7 +892,7 @@ · 8 unmodified lines
892 },892 },
893 "packages/plugins/example": {893 "packages/plugins/example": {
894 "name": "@executor-js/plugin-example",894 "name": "@executor-js/plugin-example",
895 "version": "1.6.0",895 "version": "1.6.1",
896 "dependencies": {896 "dependencies": {
897 "@executor-js/sdk": "workspace:*",897 "@executor-js/sdk": "workspace:*",
898 },898 },
@@ -915,7 +915,7 @@ · 16 unmodified lines
915 },915 },
916 "packages/plugins/file-secrets": {916 "packages/plugins/file-secrets": {
917 "name": "@executor-js/plugin-file-secrets",917 "name": "@executor-js/plugin-file-secrets",
918 "version": "1.6.0",918 "version": "1.6.1",
919 "dependencies": {919 "dependencies": {
920 "@executor-js/sdk": "workspace:*",920 "@executor-js/sdk": "workspace:*",
921 },921 },
@@ -932,7 +932,7 @@ · 10 unmodified lines
932 },932 },
933 "packages/plugins/graphql": {933 "packages/plugins/graphql": {
934 "name": "@executor-js/plugin-graphql",934 "name": "@executor-js/plugin-graphql",
935 "version": "1.6.0",935 "version": "1.6.1",
936 "dependencies": {936 "dependencies": {
937 "@effect/platform-node": "catalog:",937 "@effect/platform-node": "catalog:",
938 "@executor-js/config": "workspace:*",938 "@executor-js/config": "workspace:*",
@@ -971,7 +971,7 @@ · 32 unmodified lines
971 },971 },
972 "packages/plugins/keychain": {972 "packages/plugins/keychain": {
973 "name": "@executor-js/plugin-keychain",973 "name": "@executor-js/plugin-keychain",
974 "version": "1.6.0",974 "version": "1.6.1",
975 "dependencies": {975 "dependencies": {
976 "@executor-js/sdk": "workspace:*",976 "@executor-js/sdk": "workspace:*",
977 "@napi-rs/keyring": "^1.2.0",977 "@napi-rs/keyring": "^1.2.0",
@@ -990,7 +990,7 @@ · 12 unmodified lines
990 },990 },
991 "packages/plugins/mcp": {991 "packages/plugins/mcp": {
992 "name": "@executor-js/plugin-mcp",992 "name": "@executor-js/plugin-mcp",
993 "version": "1.6.0",993 "version": "1.6.1",
994 "dependencies": {994 "dependencies": {
995 "@cfworker/json-schema": "^4.1.1",995 "@cfworker/json-schema": "^4.1.1",
996 "@effect/platform-node": "catalog:",996 "@effect/platform-node": "catalog:",
@@ -1033,7 +1033,7 @@ · 36 unmodified lines
1033 },1033 },
1034 "packages/plugins/onepassword": {1034 "packages/plugins/onepassword": {
1035 "name": "@executor-js/plugin-onepassword",1035 "name": "@executor-js/plugin-onepassword",
1036 "version": "1.6.0",1036 "version": "1.6.1",
1037 "dependencies": {1037 "dependencies": {
1038 "@1password/op-js": "^0.1.13",1038 "@1password/op-js": "^0.1.13",
1039 "@1password/sdk": "^0.4.1-beta.1",1039 "@1password/sdk": "^0.4.1-beta.1",
@@ -1067,7 +1067,7 @@ · 27 unmodified lines
1067 },1067 },
1068 "packages/plugins/openapi": {1068 "packages/plugins/openapi": {
1069 "name": "@executor-js/plugin-openapi",1069 "name": "@executor-js/plugin-openapi",
1070 "version": "1.6.0",1070 "version": "1.6.1",
1071 "dependencies": {1071 "dependencies": {
1072 "@effect/platform-node": "catalog:",1072 "@effect/platform-node": "catalog:",
1073 "@executor-js/config": "workspace:*",1073 "@executor-js/config": "workspace:*",
@@ -1108,7 +1108,7 @@ · 34 unmodified lines
1108 },1108 },
1109 "packages/plugins/provider-service-split": {1109 "packages/plugins/provider-service-split": {
1110 "name": "@executor-js/plugin-provider-service-split",1110 "name": "@executor-js/plugin-provider-service-split",
1111 "version": "0.0.14",1111 "version": "0.0.15",
1112 "dependencies": {1112 "dependencies": {
1113 "@executor-js/plugin-openapi": "workspace:*",1113 "@executor-js/plugin-openapi": "workspace:*",
1114 "@executor-js/sdk": "workspace:*",1114 "@executor-js/sdk": "workspace:*",
@@ -1125,7 +1125,7 @@ · 10 unmodified lines
1125 },1125 },
1126 "packages/plugins/toolkits": {1126 "packages/plugins/toolkits": {
1127 "name": "@executor-js/plugin-toolkits",1127 "name": "@executor-js/plugin-toolkits",
1128 "version": "1.5.35",1128 "version": "1.5.36",
1129 "dependencies": {1129 "dependencies": {
1130 "@executor-js/sdk": "workspace:*",1130 "@executor-js/sdk": "workspace:*",
1131 },1131 },
@@ -1194,7 +1194,7 @@ · 62 unmodified lines
1194 },1194 },
1195 "packages/react": {1195 "packages/react": {
1196 "name": "@executor-js/react",1196 "name": "@executor-js/react",
1197 "version": "1.4.63",1197 "version": "1.4.64",
1198 "dependencies": {1198 "dependencies": {
1199 "@base-ui/react": "^1.3.0",1199 "@base-ui/react": "^1.3.0",
1200 "@effect/atom-react": "catalog:",1200 "@effect/atom-react": "catalog:",
e2e/CHANGELOG.md+12−0
@@ -1,5 +1,17 @@
1# @executor-js/e2e1# @executor-js/e2e
2 2
3## 0.0.41
4
5### Patch Changes
6
7- Updated dependencies [[`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa), [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/plugin-openapi@1.6.1
9 - @executor-js/plugin-mcp@1.6.1
10 - @executor-js/sdk@1.6.1
11 - @executor-js/api@1.4.64
12 - @executor-js/plugin-graphql@1.6.1
13 - @executor-js/plugin-toolkits@1.5.36
14
3## 0.0.4015## 0.0.40
4 16
5### Patch Changes17### Patch Changes
e2e/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/e2e",2 "name": "@executor-js/e2e",
3 "version": "0.0.40",3 "version": "0.0.41",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "scripts": {6 "scripts": {
examples/all-plugins/CHANGELOG.md+14−0
@@ -1,5 +1,19 @@
1# @executor-js/example-all-plugins1# @executor-js/example-all-plugins
2 2
3## 0.0.62
4
5### Patch Changes
6
7- Updated dependencies [[`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa), [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/plugin-openapi@1.6.1
9 - @executor-js/plugin-mcp@1.6.1
10 - @executor-js/sdk@1.6.1
11 - @executor-js/plugin-graphql@1.6.1
12 - @executor-js/plugin-onepassword@1.6.1
13 - @executor-js/plugin-workos-vault@0.0.2
14 - @executor-js/plugin-file-secrets@1.6.1
15 - @executor-js/plugin-keychain@1.6.1
16
3## 0.0.6117## 0.0.61
4 18
5### Patch Changes19### Patch Changes
examples/all-plugins/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/example-all-plugins",2 "name": "@executor-js/example-all-plugins",
3 "version": "0.0.61",3 "version": "0.0.62",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "scripts": {6 "scripts": {
examples/docs-sdk-quickstart/CHANGELOG.md+8−0
@@ -1,5 +1,13 @@
1# @executor-js/example-docs-sdk-quickstart1# @executor-js/example-docs-sdk-quickstart
2 2
3## 0.0.47
4
5### Patch Changes
6
7- Updated dependencies [[`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/plugin-openapi@1.6.1
9 - @executor-js/sdk@1.6.1
10
3## 0.0.4611## 0.0.46
4 12
5### Patch Changes13### Patch Changes
examples/docs-sdk-quickstart/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/example-docs-sdk-quickstart",2 "name": "@executor-js/example-docs-sdk-quickstart",
3 "version": "0.0.46",3 "version": "0.0.47",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "scripts": {6 "scripts": {
packages/core/analytics/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/analytics1# @executor-js/analytics
2 2
3## 0.1.8
4
5### Patch Changes
6
7- Updated dependencies [[`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19)]:
8 - @executor-js/execution@1.6.1
9
3## 0.1.710## 0.1.7
4 11
5### Patch Changes12### Patch Changes
packages/core/analytics/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/analytics",2 "name": "@executor-js/analytics",
3 "version": "0.1.7",3 "version": "0.1.8",
4 "private": true,4 "private": true,
5 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/analytics",5 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/analytics",
6 "bugs": {6 "bugs": {
packages/core/api/CHANGELOG.md+13−0
@@ -1,5 +1,18 @@
1# @executor-js/api1# @executor-js/api
2 2
3## 1.4.64
4
5### Patch Changes
6
7- [#1784](https://github.com/UsefulSoftwareCo/executor/pull/1784) [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Build `StorageError.message` from the call-site label plus the driver's error code instead of the driver's raw text. The driver text is drizzle's `Failed query: <sql>\nparams: <bound values>`, so error reporting grouped one storage defect by statement shape and printed bound parameters into issue titles. The full driver error stays on `cause`.
8
9 Add `StorageConnectionError`, a `StorageFailure` variant for postgres.js connection faults (`CONNECTION_ENDED`, `CONNECTION_CLOSED`, `CONNECTION_DESTROYED`, `CONNECT_TIMEOUT`, `ECONNREFUSED`, `ECONNRESET`) and workerd's cross-request I/O rejection. It carries the fault `code` and a `retryable` flag so a lost socket can be told apart from a pool-lifetime bug.
10
11- Updated dependencies [[`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
12 - @executor-js/execution@1.6.1
13 - @executor-js/sdk@1.6.1
14 - @executor-js/host-mcp@1.4.4
15
3## 1.4.6316## 1.4.63
4 17
5### Patch Changes18### Patch Changes
packages/core/api/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/api",2 "name": "@executor-js/api",
3 "version": "1.4.63",3 "version": "1.4.64",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/core/cli/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/cli1# @executor-js/cli
2 2
3## 0.2.51
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 0.2.5010## 0.2.50
4 11
5### Patch Changes12### Patch Changes
packages/core/cli/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/cli",2 "name": "@executor-js/cli",
3 "version": "0.2.50",3 "version": "0.2.51",
4 "description": "CLI for the executor SDK — schema generation, migrations",4 "description": "CLI for the executor SDK — schema generation, migrations",
5 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/cli",5 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/cli",
6 "bugs": {6 "bugs": {
packages/core/config/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/config1# @executor-js/config
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/core/config/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/config",2 "name": "@executor-js/config",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/config",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/config",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/core/execution/CHANGELOG.md+14−0
@@ -1,5 +1,19 @@
1# @executor-js/execution1# @executor-js/execution
2 2
3## 1.6.1
4
5### Patch Changes
6
7- [#1741](https://github.com/UsefulSoftwareCo/executor/pull/1741) [`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - **Opt-in per-integration search tools on the MCP surface**
8
9 Connecting with `?search_tools=true` (stdio: `executor mcp --search-tools`) adds one minimally-described `search_<integration>` MCP tool per connected integration, so the integration namespaces reach the model as tool names it can see without calling anything. Each call routes through the same flow as `tools.search({ namespace })` inside `execute`, and the tool list comes from the same inventory the `execute` description shows. Off by default; a clean endpoint URL is unchanged.
10
11- [#1749](https://github.com/UsefulSoftwareCo/executor/pull/1749) [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Slim the per-integration `search_<integration>` tool definitions to under half their size: one shared one-line description (the tool name already carries the namespace) and a single bare `query` parameter, dropping the `limit`/`offset` knobs. A session pays for these definitions once per connected integration, so the surface now costs ~2k tokens instead of ~5k at 30 integrations; paging through a namespace belongs in `execute`.
12
13- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
14 - @executor-js/sdk@1.6.1
15 - @executor-js/codemode-core@1.6.1
16
3## 1.6.017## 1.6.0
4 18
5### Patch Changes19### Patch Changes
packages/core/execution/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/execution",2 "name": "@executor-js/execution",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/execution",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/execution",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/core/sdk/CHANGELOG.md+8−0
@@ -1,5 +1,13 @@
1# @executor-js/sdk1# @executor-js/sdk
2 2
3## 1.6.1
4
5### Patch Changes
6
7- [#1784](https://github.com/UsefulSoftwareCo/executor/pull/1784) [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Build `StorageError.message` from the call-site label plus the driver's error code instead of the driver's raw text. The driver text is drizzle's `Failed query: <sql>\nparams: <bound values>`, so error reporting grouped one storage defect by statement shape and printed bound parameters into issue titles. The full driver error stays on `cause`.
8
9 Add `StorageConnectionError`, a `StorageFailure` variant for postgres.js connection faults (`CONNECTION_ENDED`, `CONNECTION_CLOSED`, `CONNECTION_DESTROYED`, `CONNECT_TIMEOUT`, `ECONNREFUSED`, `ECONNRESET`) and workerd's cross-request I/O rejection. It carries the fault `code` and a `retryable` flag so a lost socket can be told apart from a pool-lifetime bug.
10
3## 1.6.011## 1.6.0
4 12
5### Patch Changes13### Patch Changes
packages/core/sdk/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/sdk",2 "name": "@executor-js/sdk",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/sdk",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/sdk",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/core/vite-plugin/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/vite-plugin1# @executor-js/vite-plugin
2 2
3## 0.0.61
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 0.0.6010## 0.0.60
4 11
5### Patch Changes12### Patch Changes
packages/core/vite-plugin/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/vite-plugin",2 "name": "@executor-js/vite-plugin",
3 "version": "0.0.60",3 "version": "0.0.61",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/vite-plugin",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/core/vite-plugin",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/hosts/cloudflare/CHANGELOG.md+10−0
@@ -1,5 +1,15 @@
1# @executor-js/cloudflare1# @executor-js/cloudflare
2 2
3## 0.0.43
4
5### Patch Changes
6
7- Updated dependencies [[`62748e8`](https://github.com/UsefulSoftwareCo/executor/commit/62748e86122b747226c76c2e112c5c4d2b4f7095), [`d4afe0c`](https://github.com/UsefulSoftwareCo/executor/commit/d4afe0c79f146dd169a00988a2d5d0469297be19), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/execution@1.6.1
9 - @executor-js/sdk@1.6.1
10 - @executor-js/api@1.4.64
11 - @executor-js/host-mcp@1.4.4
12
3## 0.0.4213## 0.0.42
4 14
5### Patch Changes15### Patch Changes
packages/hosts/cloudflare/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/cloudflare",2 "name": "@executor-js/cloudflare",
3 "version": "0.0.42",3 "version": "0.0.43",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/hosts/mcp-apps-shell/CHANGELOG.md+8−0
@@ -1,5 +1,13 @@
1# @executor-js/mcp-apps-shell1# @executor-js/mcp-apps-shell
2 2
3## 1.4.12
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/runtime-quickjs@1.6.1
10
3## 1.4.1111## 1.4.11
4 12
5### Patch Changes13### Patch Changes
packages/hosts/mcp-apps-shell/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/mcp-apps-shell",2 "name": "@executor-js/mcp-apps-shell",
3 "version": "1.4.11",3 "version": "1.4.12",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/kernel/core/CHANGELOG.md+2−0
@@ -1,5 +1,7 @@
1# @executor-js/codemode-core1# @executor-js/codemode-core
2 2
3## 1.6.1
4
3## 1.6.05## 1.6.0
4 6
5## 1.5.427## 1.5.42
packages/kernel/core/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/codemode-core",2 "name": "@executor-js/codemode-core",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/kernel/core",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/kernel/core",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/kernel/runtime-quickjs/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/runtime-quickjs1# @executor-js/runtime-quickjs
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies []:
8 - @executor-js/codemode-core@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/kernel/runtime-quickjs/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/runtime-quickjs",2 "name": "@executor-js/runtime-quickjs",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/kernel/runtime-quickjs",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/kernel/runtime-quickjs",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/kernel/runtime-workerd-subprocess/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/runtime-workerd-subprocess1# @executor-js/runtime-workerd-subprocess
2 2
3## 0.0.16
4
5### Patch Changes
6
7- Updated dependencies []:
8 - @executor-js/codemode-core@1.6.1
9
3## 0.0.1510## 0.0.15
4 11
5### Patch Changes12### Patch Changes
packages/kernel/runtime-workerd-subprocess/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/runtime-workerd-subprocess",2 "name": "@executor-js/runtime-workerd-subprocess",
3 "version": "0.0.15",3 "version": "0.0.16",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/plugins/desktop-settings/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/plugin-desktop-settings1# @executor-js/plugin-desktop-settings
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/plugins/desktop-settings/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-desktop-settings",2 "name": "@executor-js/plugin-desktop-settings",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/desktop-settings",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/desktop-settings",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/encrypted-secrets/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/plugin-encrypted-secrets1# @executor-js/plugin-encrypted-secrets
2 2
3## 0.0.43
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 0.0.4210## 0.0.42
4 11
5### Patch Changes12### Patch Changes
packages/plugins/encrypted-secrets/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-encrypted-secrets",2 "name": "@executor-js/plugin-encrypted-secrets",
3 "version": "0.0.42",3 "version": "0.0.43",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/plugins/example/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/plugin-example1# @executor-js/plugin-example
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/plugins/example/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-example",2 "name": "@executor-js/plugin-example",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/example",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/example",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/file-secrets/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/plugin-file-secrets1# @executor-js/plugin-file-secrets
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/plugins/file-secrets/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-file-secrets",2 "name": "@executor-js/plugin-file-secrets",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/file-secrets",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/file-secrets",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/graphql/CHANGELOG.md+10−0
@@ -1,5 +1,15 @@
1# @executor-js/plugin-graphql1# @executor-js/plugin-graphql
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/sdk@1.6.1
10 - @executor-js/api@1.4.64
11 - @executor-js/config@1.6.1
12
3## 1.6.013## 1.6.0
4 14
5### Patch Changes15### Patch Changes
packages/plugins/graphql/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-graphql",2 "name": "@executor-js/plugin-graphql",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/graphql",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/graphql",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/keychain/CHANGELOG.md+7−0
@@ -1,5 +1,12 @@
1# @executor-js/plugin-keychain1# @executor-js/plugin-keychain
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/sdk@1.6.1
9
3## 1.6.010## 1.6.0
4 11
5### Patch Changes12### Patch Changes
packages/plugins/keychain/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-keychain",2 "name": "@executor-js/plugin-keychain",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/keychain",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/keychain",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/mcp/CHANGELOG.md+16−0
@@ -1,5 +1,21 @@
1# @executor-js/plugin-mcp1# @executor-js/plugin-mcp
2 2
3## 1.6.1
4
5### Patch Changes
6
7- [#1747](https://github.com/UsefulSoftwareCo/executor/pull/1747) [`91062c2`](https://github.com/UsefulSoftwareCo/executor/commit/91062c2b1d7b8edbc8470ca5eaa544045652afaa) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Load the MCP client SDK lazily on first outbound connection instead of at module evaluation. Runtimes that bundle the plugin (notably Cloudflare Workers) no longer pay the client package's module-eval memory and CPU on startup or on code paths that never dial an MCP server.
8
9- [#1716](https://github.com/UsefulSoftwareCo/executor/pull/1716) [`9c35f26`](https://github.com/UsefulSoftwareCo/executor/commit/9c35f269dd5de3548111fe5c83cf1e877f23c80d) Thanks [@xav-ie](https://github.com/xav-ie)! - **Closing a remote MCP connection now ends its streamable-http SSE request**
10
11 On a supplied `httpClientLayer`, the fetch adapter wired the caller's `AbortSignal` only to the pending response promise, never to the response body, so closing a connection left the long-lived `GET` channel in flight forever — one abandoned request per dial. Under Bun each holds one of the 256 concurrent-request slots, so a long-running process eventually exhausts the pool and every connection starts failing with `MCP discovery timed out after 15000ms`. The response stream is now interrupted when the signal aborts.
12
13- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
14 - @executor-js/react@1.4.64
15 - @executor-js/sdk@1.6.1
16 - @executor-js/api@1.4.64
17 - @executor-js/config@1.6.1
18
3## 1.6.019## 1.6.0
4 20
5### Minor Changes21### Minor Changes
packages/plugins/mcp/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-mcp",2 "name": "@executor-js/plugin-mcp",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/mcp",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/mcp",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/onepassword/CHANGELOG.md+9−0
@@ -1,5 +1,14 @@
1# @executor-js/plugin-onepassword1# @executor-js/plugin-onepassword
2 2
3## 1.6.1
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/sdk@1.6.1
10 - @executor-js/api@1.4.64
11
3## 1.6.012## 1.6.0
4 13
5### Patch Changes14### Patch Changes
packages/plugins/onepassword/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-onepassword",2 "name": "@executor-js/plugin-onepassword",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/onepassword",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/onepassword",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/openapi/CHANGELOG.md+16−0
@@ -1,5 +1,21 @@
1# @executor-js/plugin-openapi1# @executor-js/plugin-openapi
2 2
3## 1.6.1
4
5### Patch Changes
6
7- [#1755](https://github.com/UsefulSoftwareCo/executor/pull/1755) [`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Make Microsoft Graph slice URLs first-class spec sources instead of a hidden substitution. Catalog tiles now point directly at the slice release assets, the stored specUrl is exactly what gets fetched, and selection narrowing travels visibly in the URL fragment; requesting the upstream monolith URL fetches the monolith, never a silently swapped slice.
8
9- [#1753](https://github.com/UsefulSoftwareCo/executor/pull/1753) [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Serve Microsoft Graph preset selections from precomputed slice release assets instead of the 43MB upstream monolith. The monolith fetch almost never survives a 128MB Workers isolate (production traces show one completion in 30 days), so covered selections — every catalog preset, plus any combination within the default bundle — now read a 4–19MB filtered document built offline by the graph-slices workflow, with the monolith path kept only as a fallback and for full-graph/custom-scope selections.
10
11- [#1751](https://github.com/UsefulSoftwareCo/executor/pull/1751) [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f) Thanks [@RhysSullivan](https://github.com/RhysSullivan)! - Preview OpenAPI spec-format selections (Microsoft Graph) through the streaming structural-split path instead of a whole-document parse, and guard generic whole-document parses by parsed-tree size (line count for block YAML, text size for JSON). Previewing a Graph preset URL previously parsed the 43MB source whole and killed the 128MB Workers isolate mid-request, surfacing as an empty 503; it now streams within budget, and oversized generic specs fail with an actionable error instead of taking down the isolate.
12
13- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
14 - @executor-js/react@1.4.64
15 - @executor-js/sdk@1.6.1
16 - @executor-js/api@1.4.64
17 - @executor-js/config@1.6.1
18
3## 1.6.019## 1.6.0
4 20
5### Patch Changes21### Patch Changes
packages/plugins/openapi/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-openapi",2 "name": "@executor-js/plugin-openapi",
3 "version": "1.6.0",3 "version": "1.6.1",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/openapi",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/openapi",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/plugins/provider-service-split/CHANGELOG.md+8−0
@@ -1,5 +1,13 @@
1# @executor-js/plugin-provider-service-split1# @executor-js/plugin-provider-service-split
2 2
3## 0.0.15
4
5### Patch Changes
6
7- Updated dependencies [[`7c12aee`](https://github.com/UsefulSoftwareCo/executor/commit/7c12aeea390225291ce4c97865b392237ee7934d), [`ddbf0fe`](https://github.com/UsefulSoftwareCo/executor/commit/ddbf0feba38c8502d78fa20c3081391b8ba3d112), [`0007474`](https://github.com/UsefulSoftwareCo/executor/commit/0007474602d8da3642648f216bfdb0f09eb0914f), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/plugin-openapi@1.6.1
9 - @executor-js/sdk@1.6.1
10
3## 0.0.1411## 0.0.14
4 12
5### Patch Changes13### Patch Changes
packages/plugins/provider-service-split/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-provider-service-split",2 "name": "@executor-js/plugin-provider-service-split",
3 "version": "0.0.14",3 "version": "0.0.15",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {
packages/plugins/toolkits/CHANGELOG.md+9−0
@@ -1,5 +1,14 @@
1# @executor-js/plugin-toolkits1# @executor-js/plugin-toolkits
2 2
3## 1.5.36
4
5### Patch Changes
6
7- Updated dependencies [[`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb), [`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
8 - @executor-js/react@1.4.64
9 - @executor-js/sdk@1.6.1
10 - @executor-js/api@1.4.64
11
3## 1.5.3512## 1.5.35
4 13
5### Patch Changes14### Patch Changes
packages/plugins/toolkits/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/plugin-toolkits",2 "name": "@executor-js/plugin-toolkits",
3 "version": "1.5.35",3 "version": "1.5.36",
4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/toolkits",4 "homepage": "https://github.com/UsefulSoftwareCo/executor/tree/main/packages/plugins/toolkits",
5 "bugs": {5 "bugs": {
6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"6 "url": "https://github.com/UsefulSoftwareCo/executor/issues"
packages/react/CHANGELOG.md+14−0
@@ -1,5 +1,19 @@
1# @executor-js/react1# @executor-js/react
2 2
3## 1.4.64
4
5### Patch Changes
6
7- [#1746](https://github.com/UsefulSoftwareCo/executor/pull/1746) [`9dff4e8`](https://github.com/UsefulSoftwareCo/executor/commit/9dff4e8e6598e7d3108634a71269245ba9b480bb) Thanks [@sergical](https://github.com/sergical)! - **The connection edit sheet now previews what agents actually read**
8
9 The "What agents see" preview in the connection edit sheet rendered a `- \`<prefix>\` — <description>`inventory line. That line left the`execute`tool description when the inventory was slimmed to bare integration slugs, so the preview showed text no agent reads. The account label was also marked "Display-only", but`connections.list` returns it to agents alongside the description.
10
11 The preview now mirrors the `connections.list` item for the connection (`name`, `identityLabel`, `description`), and the sheet copy says that both fields are agent-visible while the callable name stays as it was at connect time.
12
13- Updated dependencies [[`55180cb`](https://github.com/UsefulSoftwareCo/executor/commit/55180cb1487f9a3a28ddc0ee0bedfab8464c1f72)]:
14 - @executor-js/sdk@1.6.1
15 - @executor-js/api@1.4.64
16
3## 1.4.6317## 1.4.63
4 18
5### Patch Changes19### Patch Changes
packages/react/package.json+1−1
@@ -1,6 +1,6 @@
1{1{
2 "name": "@executor-js/react",2 "name": "@executor-js/react",
3 "version": "1.4.63",3 "version": "1.4.64",
4 "private": true,4 "private": true,
5 "type": "module",5 "type": "module",
6 "exports": {6 "exports": {