| Name | Last commit date | |
|---|---|---|
| .. | ||
| src | 8 months ago | |
| package.json | 8 months ago | |
| README.md | 8 months ago | |
| tsconfig.json | 8 months ago | |
app-cli
Executor CLI thin-client scaffold.
The CLI proxies all operations to an Executor server target:
localtarget: connects tohttp://127.0.0.1:8788and auto-starts an embedded Executor API server subprocess if the local server is not already running.cloudtarget: proxies to a configured remote base URL.
Implementation note:
- CLI parsing/help/completion behavior is powered by
@effect/cli. - Local CLI server hosting and web API routing both use
@executor-v2/api-httpso request/response handling stays in sync.
Supported commands:
executor initexecutor auth login --client-id ...executor auth statusexecutor server startexecutor target showexecutor target use <local|cloud>executor workspace currentexecutor workspace use <workspace-id>executor run execute --code ...executor run execute --file ...executor run resume --run-id ...(uses cached script from prior execute)executor run resume --run-id ... --file ...(explicit script)executor run describe
Control-plane management from CLI should happen through run execute and discovered
source tool paths (for example, add Executor's own OpenAPI source, then call its
tool paths to manage other sources).
run execute and run resume support --interaction-mode auto|user|agent:
auto(default): usesuserfor TTY, otherwiseagent.user: opens${baseUrl}/interactions/<workspace>/<interaction>in browser and waits.agent: returns a structuredinteraction_requiredpayload and exits with code20.
Run locally:
bun run --cwd apps/cli start -- target showbun run --cwd apps/cli start -- run execute --target local --code "return 1"bun run --cwd apps/cli start -- run describe --target local --workspace ws_localbun run --cwd apps/cli start -- --helpbun run --cwd apps/cli start -- server start --port 8788
Seed Executor's own OpenAPI source (example):
bun run --cwd apps/cli start -- run execute --target local --workspace ws_local --code "const workspaceId='ws_local'; const res=await fetch('http://127.0.0.1:8788/v1/workspaces/'+workspaceId+'/sources',{method:'POST',headers:{'content-type':'application/json'},body:JSON.stringify({id:'src_executor_openapi',name:'executor:openapi',kind:'openapi',endpoint:'http://127.0.0.1:8788/v1/openapi.json',enabled:true,configJson:JSON.stringify({baseUrl:'http://127.0.0.1:8788'})})}); return await res.json();"- Then use
tools.discover(...)inrun executeto locate and call source tool paths.