executor 1.1.8 → 1.1.10-beta.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +42 -12
- package/bin/emscripten-module.wasm +0 -0
- package/bin/executor.mjs +367241 -157868
- package/bin/impl/edit.js +201 -0
- package/bin/impl/format.js +275 -0
- package/bin/impl/parser.js +682 -0
- package/bin/impl/scanner.js +456 -0
- package/bin/impl/string-intern.js +42 -0
- package/bin/openapi-extractor-wasm/openapi_extractor_bg.wasm +0 -0
- package/package.json +1 -1
- package/resources/web/assets/__vite-browser-external-BIHI7g3E.js +1 -0
- package/resources/web/assets/{highlighted-body-TPN3WLV5-Cy1EFOo2.js → highlighted-body-TPN3WLV5-CNtoUE2O.js} +1 -1
- package/resources/web/assets/{index-3N-BEhR_.js → index-Dyhx5qgf.js} +2 -2
- package/resources/web/assets/mermaid-O7DHMXV3-CfqEcqYS.js +658 -0
- package/resources/web/assets/mermaid-O7DHMXV3-D1toCiZx.css +1 -0
- package/resources/web/assets/openapi_extractor_bg-IMRXzuHp.wasm +0 -0
- package/resources/web/index.html +2 -2
- package/bin/pglite.data +0 -0
- package/bin/pglite.wasm +0 -0
- package/resources/migrations/20260306091536_abnormal_martin_li/migration.sql +0 -158
- package/resources/migrations/20260306091536_abnormal_martin_li/snapshot.json +0 -1937
- package/resources/migrations/20260306094249_large_giant_girl/migration.sql +0 -39
- package/resources/migrations/20260306094249_large_giant_girl/snapshot.json +0 -2425
- package/resources/migrations/20260307090915_blue_bullseye/migration.sql +0 -70
- package/resources/migrations/20260307090915_blue_bullseye/snapshot.json +0 -3122
- package/resources/migrations/20260307134000_openapi_tool_identity/migration.sql +0 -37
- package/resources/migrations/20260307152000_source_document_text/migration.sql +0 -1
- package/resources/migrations/20260308041000_credentials_model/migration.sql +0 -41
- package/resources/migrations/20260308120000_search_and_indexes/migration.sql +0 -16
- package/resources/migrations/20260308140000_secret_materials_name/migration.sql +0 -1
- package/resources/migrations/20260309103000_policy_scope_and_interaction_purpose/migration.sql +0 -17
- package/resources/web/assets/mermaid-O7DHMXV3-2oBmyuDr.js +0 -393
- package/resources/web/assets/mermaid-O7DHMXV3-DgCU8P81.css +0 -1
- package/resources/web/assets/openapi_extractor_bg-DZrbVm4x.wasm +0 -0
package/README.md
CHANGED
|
@@ -4,6 +4,10 @@
|
|
|
4
4
|
|
|
5
5
|
It gives an agent a TypeScript runtime, a discoverable tool catalog, and a single local place to connect external systems such as MCP servers, OpenAPI APIs, and GraphQL APIs. Instead of pasting large MCP manifests into every chat or giving an agent broad shell access, you run code inside `executor` and let it call typed `tools.*` functions.
|
|
6
6
|
|
|
7
|
+
## Community
|
|
8
|
+
|
|
9
|
+
Join the Discord community: https://discord.gg/eF29HBHwM6
|
|
10
|
+
|
|
7
11
|
At runtime, `executor` behaves like one local product:
|
|
8
12
|
|
|
9
13
|
- a CLI for starting the runtime and executing code
|
|
@@ -11,7 +15,12 @@ At runtime, `executor` behaves like one local product:
|
|
|
11
15
|
- a local web UI for connecting sources, inspecting tools, and managing secrets
|
|
12
16
|
- an MCP endpoint for hosts that want to drive `executor` through MCP
|
|
13
17
|
|
|
14
|
-
The current codebase
|
|
18
|
+
The current codebase lives in `apps/` and `packages/`. Older experiments stay in `legacy/` and `legacy2/`.
|
|
19
|
+
|
|
20
|
+
## Attribution
|
|
21
|
+
|
|
22
|
+
- [Crystian](https://www.linkedin.com/in/crystian/) provided the npm package name `executor`.
|
|
23
|
+
- The `codemode` concept in this project is inspired by Cloudflare's [Code Mode announcement](https://blog.cloudflare.com/code-mode/).
|
|
15
24
|
|
|
16
25
|
## Why this exists
|
|
17
26
|
|
|
@@ -105,12 +114,22 @@ For each source you can:
|
|
|
105
114
|
|
|
106
115
|
## Quick start
|
|
107
116
|
|
|
108
|
-
If you
|
|
117
|
+
If you want to use this a package distribution, install it via npm:
|
|
118
|
+
|
|
119
|
+
```bash
|
|
120
|
+
npm install -g executor
|
|
121
|
+
executor up
|
|
122
|
+
```
|
|
123
|
+
|
|
124
|
+
Then either tell your agent to use the CLI or to open the web UI and copy the MCP CLI install command.
|
|
125
|
+
|
|
126
|
+
Then you can run the CLI as `executor`.
|
|
127
|
+
|
|
128
|
+
If you are working from this repository locally, the easiest path is:
|
|
109
129
|
|
|
110
130
|
```bash
|
|
111
131
|
bun install
|
|
112
|
-
bun
|
|
113
|
-
bun run executor up
|
|
132
|
+
bun dev
|
|
114
133
|
```
|
|
115
134
|
|
|
116
135
|
That starts the local runtime. The default base URL is:
|
|
@@ -194,7 +213,8 @@ return await tools.executor.sources.add({
|
|
|
194
213
|
return await tools.executor.sources.add({
|
|
195
214
|
kind: "openapi",
|
|
196
215
|
endpoint: "https://api.github.com",
|
|
197
|
-
specUrl:
|
|
216
|
+
specUrl:
|
|
217
|
+
"https://raw.githubusercontent.com/github/rest-api-description/main/descriptions/api.github.com/api.github.com.json",
|
|
198
218
|
name: "GitHub",
|
|
199
219
|
namespace: "github",
|
|
200
220
|
});
|
|
@@ -208,7 +228,7 @@ At a high level, every execution follows the same loop:
|
|
|
208
228
|
|
|
209
229
|
1. `executor` resolves the current local installation and workspace.
|
|
210
230
|
2. It builds a tool catalog from built-in tools plus all connected workspace sources.
|
|
211
|
-
3. It runs your TypeScript inside the
|
|
231
|
+
3. It runs your TypeScript inside the QuickJS sandbox runtime by default.
|
|
212
232
|
4. Tool calls are dispatched through `executor` rather than directly from your code.
|
|
213
233
|
5. If a tool needs interaction, the run pauses and records a pending interaction.
|
|
214
234
|
6. Once the interaction is resolved, the execution continues and eventually completes or fails.
|
|
@@ -260,18 +280,16 @@ The server also maintains local PID and log files in its runtime directory.
|
|
|
260
280
|
|
|
261
281
|
## Persistence and data
|
|
262
282
|
|
|
263
|
-
`executor` persists the local control plane to
|
|
264
|
-
|
|
265
|
-
By default it uses embedded PGlite for a local install, which keeps the product self-contained. If you provide a Postgres URL, the persistence layer can target real Postgres instead.
|
|
283
|
+
`executor` persists the local control plane to local files.
|
|
266
284
|
|
|
267
285
|
Persisted concepts include:
|
|
268
286
|
|
|
269
|
-
-
|
|
270
|
-
- organizations and workspaces provisioned for that install
|
|
287
|
+
- local installation identity
|
|
271
288
|
- connected sources
|
|
272
289
|
- indexed tool artifacts and related metadata
|
|
273
290
|
- credentials and secret material bindings
|
|
274
291
|
- source auth sessions
|
|
292
|
+
- execution and interaction state
|
|
275
293
|
- executions and execution interactions
|
|
276
294
|
- policies
|
|
277
295
|
|
|
@@ -299,10 +317,22 @@ If you are exploring the repo, these are the directories that matter most:
|
|
|
299
317
|
- `apps/web`: local React web UI
|
|
300
318
|
- `packages/server`: local HTTP server that serves API, MCP, and UI
|
|
301
319
|
- `packages/control-plane`: source management, secrets, persistence, execution, and inspection
|
|
302
|
-
- `packages/runtime-
|
|
320
|
+
- `packages/runtime-quickjs`: default QuickJS sandbox runtime for TypeScript execution
|
|
321
|
+
- `packages/runtime-ses`: optional SES sandbox runtime for TypeScript execution
|
|
303
322
|
- `packages/executor-mcp`: MCP bridge for `execute` and `resume`
|
|
304
323
|
- `packages/codemode-*`: core tool abstractions plus MCP and OpenAPI adapters
|
|
305
324
|
|
|
325
|
+
## Releasing
|
|
326
|
+
|
|
327
|
+
- `bun run release:beta` is the simplest beta flow. It bumps `apps/executor/package.json`, runs the local publish dry-run, commits, pushes the branch, pushes the matching tag, and lets GitHub Actions publish it.
|
|
328
|
+
- `bun run release:beta:dry-run` prints the next beta version and the exact git actions without changing anything.
|
|
329
|
+
- `bun run --cwd apps/executor release:publish` is the only supported publish command.
|
|
330
|
+
- One-time npm setup: either configure npm trusted publishing for `RhysSullivan/executor` with the workflow file `.github/workflows/publish-executor-package.yml`, or add a GitHub Actions secret named `NPM_TOKEN` that can publish the `executor` package.
|
|
331
|
+
- Stable releases use a normal semver like `1.2.3` and publish to npm under `latest`.
|
|
332
|
+
- Beta releases use a prerelease semver like `1.3.0-beta.1` and publish to npm under `beta`.
|
|
333
|
+
- Push a matching git tag such as `v1.2.3` or `v1.3.0-beta.1` to trigger `.github/workflows/publish-executor-package.yml`.
|
|
334
|
+
- To build and pack the publish artifact locally without publishing, run `bun run --cwd apps/executor release:publish:dry-run`.
|
|
335
|
+
|
|
306
336
|
## Project status
|
|
307
337
|
|
|
308
338
|
This repository is explicitly on its third major architecture iteration.
|
|
Binary file
|