@beeos-ai/bma-executor-sdk 0.4.9 → 1.0.1

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 CHANGED
@@ -2,6 +2,9 @@
2
2
 
3
3
  [![npm](https://img.shields.io/npm/v/@beeos-ai/bma-executor-sdk.svg)](https://www.npmjs.com/package/@beeos-ai/bma-executor-sdk)
4
4
 
5
+ Connect your machine (hands) or your own agent (brain) to BMA — the executor, harness and agent ends of the `bma.executor` protocol.
6
+ [`@beeos-ai/bma-sdk`](https://github.com/beeos-ai/bma-sdk) drives and uses agents (REST / façade client); `bma-executor-sdk` connects hands or brains to BMA.
7
+
5
8
  Executor (`ExecutorClient`), harness (`Harness`) and agent ends of the BMA
6
9
  Executor Protocol `bma.executor.v1.1` (and `v1`), with the same three parts and
7
10
  behavior as the [Go `executor` module](../README.md). Protocol types are
@@ -12,13 +15,13 @@ socket or Windows named pipe (`unix://`, `npipe://`), in-process.
12
15
 
13
16
  | | |
14
17
  | --- | --- |
15
- | Version | 0.4.9 (tag `v0.4.9`), see [CHANGELOG](../CHANGELOG.md) |
18
+ | Version | 1.0.0 (tag `v1.0.0`), see [CHANGELOG](../CHANGELOG.md) |
16
19
  | Protocol | `bma.executor.v1.1` (contract 1.1.0, [`lock.json`](../contracts/bma/executor/lock.json)) |
17
- | Node.js | 20 or newer; ESM, depends on `ws` |
20
+ | Node.js | 20 or newer; ESM, depends on `ws` and `@types/ws` (the declarations use `ws` types) |
18
21
  | Integration guide | [docs/executor](../docs/executor/README.md) ([中文](../docs/executor/README.zh-CN.md)) |
19
22
 
20
23
  ```sh
21
- npm install @beeos-ai/bma-executor-sdk@0.4.9
24
+ npm install @beeos-ai/bma-executor-sdk@1.0.1
22
25
  ```
23
26
 
24
27
  The REST / façade client is the separate package
@@ -30,24 +33,49 @@ The REST / façade client is the separate package
30
33
  import { ExecutorClient } from "@beeos-ai/bma-executor-sdk";
31
34
 
32
35
  const client = new ExecutorClient({
36
+ baseUrl: process.env.BMA_BASE_URL, // required: see below
33
37
  environmentKey: process.env.BMA_ENVIRONMENT_KEY,
34
38
  environmentId: process.env.BMA_ENVIRONMENT_ID!,
35
39
  executor: { name: "my-executor", os: process.platform, arch: process.arch, version: "0.1.0" },
36
- capabilities: { shell: { enabled: true } },
37
40
  });
38
- client.handleTool("bash", async (call, { signal, progress }) => {
41
+ client.tools.bash.handle(async (input, { signal, progress }) => { // input: BashInput
39
42
  progress("running");
40
- return { outcome: "succeeded", is_error: false, content: [{ type: "text", text: "ok" }] };
43
+ const r = await run(input.command, { cwd: input.cwd, env: input.env, signal });
44
+ return { stdout: r.stdout, stderr: r.stderr, exitCode: r.code }; // rendered like Go Core
41
45
  });
46
+ client.tools.read.handle(async ({ path, offset, limit }) => readText(path, offset, limit)); // string or content blocks
42
47
  await client.start();
43
48
  ```
44
49
 
50
+ Set `baseUrl` to your BMA deployment: the hosted service is in early access and the default
51
+ `DEFAULT_BASE_URL` (`https://api.bma.beeos.ai`) does not resolve yet. It is the deployment
52
+ origin, the same value as `BMA_BASE_URL` in bma-sdk (for example `https://api.staging.bma.beeos.ai`);
53
+ the client posts the environment key to `{baseUrl}/v1/executors/token` and drops a trailing `/api/v1`. The SDK does not read
54
+ `BMA_BASE_URL` itself. A `tokenSource` carries its own channel URL and ignores `baseUrl`.
55
+
45
56
  ### Executor lifecycle, cancellation, and results
46
57
 
47
58
  - `tool.cancel` aborts the handler's `signal` (so do `deadline_ms` and
48
59
  `stop()`); the client answers `{"canceled":true}` and reports
49
60
  `outcome: "canceled"`. A repeated `tool.call` id is acknowledged, not run
50
- twice. `handleTool(name, …)` routes one tool, `onToolCall` the rest.
61
+ twice. Each built-in tool has a typed slot `client.tools.<name>.handle(fn)`
62
+ (`bash`, `read`, `write`, `edit`, `glob`, `grep`, `list_files`; the
63
+ `computer_*` tools get slots once the contract defines their input) whose
64
+ input is the contract's `<Tool>Input`. Input missing a required member
65
+ fails the call (`bash requires command`) before the handler runs. A
66
+ handler returns a string, content blocks or `{ content, isError,
67
+ artifacts }`; bash may return `{ stdout, stderr, exitCode, truncated? }`,
68
+ rendered as Go Core does (stdout, stderr, `exit_code: N`, cut to Core's
69
+ preview beyond `INLINE_RESULT_BYTES`). `throw new ToolError(msg)` reports
70
+ a tool-level error (`is_error: true`); any other exception is
71
+ `outcome: "failed"`. A `tool.call` for a tool without a handler is refused
72
+ before the ack with `-32012` (`data.capability: "tool:<name>"`), as Go
73
+ Core refuses it.
74
+ - The `shell` and `files` capabilities are enabled while a handler of the
75
+ group is registered, unless you set `enabled: false` (which wins, like
76
+ MCP's `RegisteredTool.enabled`); a handler registered after `start()`
77
+ sends `executor.capabilities.update`, as an MCP server sends
78
+ `tools/list_changed`.
51
79
  - Call `sessionReady` after workspace/MCP setup and `sessionEnded` after
52
80
  cleanup. `tool.result` is retried on `-32009`, `-32004` or
53
81
  `data.retryable: true`, idempotent by `tool_call_id`; when every attempt
@@ -60,7 +88,11 @@ await client.start();
60
88
  (`?channel=mcp&session_id=&server_key=`); `read()`/`write()` carry MCP
61
89
  JSON-RPC frames unchanged.
62
90
  - A handler that throws `RpcError` keeps its code and data on the wire.
63
- `onRequest(method, …)` serves `process.*`, `terminal.*` and `skill.install`.
91
+ `onRequest('process.start', (params) => …)` serves `process.*`,
92
+ `terminal.*`, `skill.install` and `workspace.backup` with the contract's
93
+ params and result types; `call(method, params)` and
94
+ `notify(method, params)` send executor-to-harness methods typed the same
95
+ way (`MethodParamsMap` / `MethodResultMap`).
64
96
 
65
97
  ### Harness quick start
66
98
 
@@ -73,12 +105,12 @@ const { url } = await harness.listen(); // or harness.attach(httpServer)
73
105
  const executor = await harness.waitExecutor();
74
106
  const session = await executor.assignSession({ session_id: "sess_1" });
75
107
  await session.ready();
76
- const result = await session.callTool({ tool: "bash", input: { command: "ls" } });
108
+ const result = await session.tools.bash.call({ command: "ls" }); // or callTool("bash", { command: "ls" }, { toolCallId })
77
109
  const mcp = await session.mcp("echo"); // raw MCP JSON-RPC
78
110
  await session.stop("done");
79
111
  ```
80
112
 
81
- Semantics match the Go `Harness`: `callTool` is idempotent by `tool_call_id`;
113
+ Semantics match the Go `Harness`: `callTool` is idempotent by `toolCallId`;
82
114
  an unknown call's `tool.result` is `-32002`, a foreign session `-32007`;
83
115
  sessions and pending calls survive a reconnect within `leaseTtlMs`; a newer
84
116
  connection replaces the old one with 4004; lease expiry or `executor.close`
@@ -141,8 +173,9 @@ executor and in-memory platform in one process).
141
173
  | --- | --- |
142
174
  | `NewClient(Options)` / `Start` / `Stop` | `new ExecutorClient(options)` / `start()` / `stop()` |
143
175
  | `Options.TokenSource`, `StaticToken` | `tokenSource`, `staticToken` (or `dialer`) |
144
- | `OnToolCall(ctx, call)` | `onToolCall(call, { signal, progress })`, `handleTool(name, …)` |
145
- | `OnSessionAssign` / `OnSessionStop` / `OnDrain` / `OnRequest` / `OnNotification` | `onSessionAssign` / `onSessionStop` / `onDrain` / `onRequest` / `onNotification` |
176
+ | `Tools.<Name>.Handle(func(ctx, input, tool))` | `tools.<name>.handle(input, { signal, progress })` |
177
+ | `OnSessionAssign` / `OnSessionStop` / `OnDrain` | `onSessionAssign` / `onSessionStop` / `onDrain` |
178
+ | `Requests.ProcessStart.Handle(client, fn)` / `Calls.X.Call(ctx, client, p)` / `Notifications.X.Notify(ctx, client, p)` | `onRequest('process.start', fn)` / `call('x', p)` / `notify('x', p)` |
146
179
  | `SessionReady` / `SessionEnded` / `ReportToolResult` | `sessionReady` / `sessionEnded` / `reportToolResult` |
147
180
  | `SendSessionStatus` / `SendToolProgress` / `SendExecutorCapabilitiesUpdate` | `sessionStatus` / `toolProgress` / `updateCapabilities` |
148
181
  | `OpenMCPChannel` → `MCPChannel` | `openMcpChannel` → `FrameChannel` |
package/dist/agent.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { type Ack, type AgentCapability, type AgentEvent, type ConnectionState, type EventDeltaType, type InteractionCancelReason, type InteractionRequestParams, type InteractionResponseParams, type SessionEndedParams, type TurnInputParams, type TurnStartParams, type TurnStartResult } from './generated/executor.js';
1
+ import { type Ack, type ExecutorToHarnessNotificationMethod, type ExecutorToHarnessRequestMethod, type MethodParamsMap, type MethodResultMap, type AgentCapability, type AgentEvent, type ConnectionState, type EventDeltaType, type InteractionCancelReason, type InteractionRequestParams, type InteractionResponseParams, type SessionEndedParams, type TurnInputParams, type TurnStartParams, type TurnStartResult } from './generated/executor.js';
2
2
  import { type Deferred } from './errors.js';
3
3
  import type { LogLevel } from './rpc.js';
4
4
  export type { ConnectionState };
@@ -22,8 +22,8 @@ export interface AgentHandler {
22
22
  }
23
23
  /** What the agent runtime needs from the executor client. */
24
24
  export interface AgentHost {
25
- call<T>(method: string, params: unknown): Promise<T>;
26
- notify(method: string, params: unknown): void;
25
+ call<M extends ExecutorToHarnessRequestMethod>(method: M, params: MethodParamsMap[M]): Promise<MethodResultMap[M]>;
26
+ notify<M extends ExecutorToHarnessNotificationMethod>(method: M, params: MethodParamsMap[M]): void;
27
27
  readonly stopSignal: AbortSignal;
28
28
  connected(): boolean;
29
29
  /** Resolves after the next successful executor.register. */
package/dist/agent.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"agent.js","sourceRoot":"","sources":["../src/agent.ts"],"names":[],"mappings":"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"}
package/dist/client.d.ts CHANGED
@@ -1,4 +1,4 @@
1
- import { ChannelScope, ConnectionState, type Ack, type Capabilities, type ExecutorDrainParams, type ExecutorDrainResult, type ExecutorInfo, type ExecutorLoad, type ExecutorRegisterResult, type ExecutorTokenResponse, type SessionAssignParams, type SessionAssignResult, type SessionEndedParams, type SessionEventParams, type SessionEventResult, type SessionReadyParams, type SessionStatusParams, type SessionStopParams, type SessionStopResult, type ToolCallParams, type ToolProgressParams, type ToolResultParams, type AgentCapability } from './generated/executor.js';
1
+ import { ChannelScope, ConnectionState, type Ack, type Capabilities, type ExecutorDrainParams, type ExecutorDrainResult, type ExecutorInfo, type ExecutorLoad, type ExecutorRegisterResult, type ExecutorTokenResponse, type SessionAssignParams, type SessionAssignResult, type SessionEndedParams, type SessionEventParams, type SessionEventResult, type SessionReadyParams, type SessionStatusParams, type SessionStopParams, type SessionStopResult, type ToolProgressParams, type ToolResultParams, type AgentCapability, type ArtifactRef, type ExecutorToHarnessNotificationMethod, type ExecutorToHarnessRequestMethod, type HarnessToExecutorRequestMethod, type MethodParamsMap, type MethodResultMap, type ContentBlock, type ToolCallInputMap, type ToolPermission, ToolName } from './generated/executor.js';
2
2
  import { type AgentHandler } from './agent.js';
3
3
  import { type Logger } from './rpc.js';
4
4
  import { FrameChannel, type Conn } from './transport.js';
@@ -8,6 +8,8 @@ export declare const DEFAULT_MAX_RECONNECT_ATTEMPTS = 10;
8
8
  export declare const DEFAULT_RECONNECT_BASE_DELAY_MS = 500;
9
9
  export declare const DEFAULT_TOOL_RESULT_RETRY_ATTEMPTS = 5;
10
10
  export declare const DEFAULT_TOOL_RESULT_RETRY_BASE_DELAY_MS = 250;
11
+ /** Largest bash output returned inline, as Go Core's DefaultCoreInlineResultBytes. */
12
+ export declare const INLINE_RESULT_BYTES: number;
11
13
  /**
12
14
  * Close codes after which the executor must not reconnect: the contract's
13
15
  * 4003 (unsupported protocol) and 4004 (replaced). Every other close,
@@ -41,19 +43,65 @@ export interface WebSocketDialerOptions {
41
43
  export declare function channelUrl(rawUrl: string, target: ChannelTarget): string;
42
44
  /** The cloud dialer: token bootstrap, then an outbound WebSocket with the bearer token. */
43
45
  export declare function webSocketDialer(options: WebSocketDialerOptions): Dialer;
44
- /** What a tool handler returns; the client fills in session_id and tool_call_id. */
46
+ /** A complete tool result without the ids the client fills in. */
45
47
  export type ToolResult = Omit<ToolResultParams, 'session_id' | 'tool_call_id'>;
46
48
  export interface ToolContext {
47
49
  /** Aborted by tool.cancel, deadline_ms, or stop(). */
48
50
  signal: AbortSignal;
49
51
  /** Sends tool.progress for this call (best-effort). */
50
52
  progress(message: string): void;
53
+ sessionId: string;
54
+ toolCallId: string;
55
+ permission?: ToolPermission;
51
56
  }
52
- export type ToolCallHandler = (call: ToolCallParams, context: ToolContext) => Promise<ToolResult>;
57
+ /**
58
+ * What a tool handler returns. A string is one text block; `isError` reports
59
+ * a tool-level error to the model (outcome succeeded, is_error true), like
60
+ * throwing ToolError. Any other exception is outcome failed.
61
+ */
62
+ export type ToolOutput = string | ContentBlock[] | {
63
+ content: ContentBlock[];
64
+ isError?: boolean;
65
+ artifacts?: ArtifactRef[];
66
+ };
67
+ /**
68
+ * bash output, rendered as Go Core renders it: stdout, stderr, `exit_code: N`.
69
+ * Output beyond INLINE_RESULT_BYTES, or marked `truncated` by the handler, is
70
+ * cut to Core's preview (half the limit of stdout, a quarter of stderr).
71
+ */
72
+ export interface BashResult {
73
+ stdout: string;
74
+ stderr: string;
75
+ exitCode: number;
76
+ /** The handler already cut the output short. */
77
+ truncated?: boolean;
78
+ }
79
+ /** Built-in tools with a slot; computer_observe and computer_action get one once the contract defines their input. */
80
+ export type SlotToolName = Exclude<ToolName, 'computer_observe' | 'computer_action'>;
81
+ export type ToolOutputOf<N extends ToolName> = N extends 'bash' ? ToolOutput | BashResult : ToolOutput;
82
+ export type ToolHandler<N extends ToolName> = (input: ToolCallInputMap[N], context: ToolContext) => Promise<ToolOutputOf<N>>;
83
+ /** One built-in tool of the executor. */
84
+ export interface ToolSlot<N extends ToolName> {
85
+ /**
86
+ * Serves tool.call for this tool; replaces an earlier handler. After
87
+ * start() the changed capabilities are sent with executor.capabilities.update.
88
+ */
89
+ handle(handler: ToolHandler<N>): void;
90
+ }
91
+ /** `client.tools.<name>`: one typed slot per built-in tool. */
92
+ export type ExecutorTools = {
93
+ readonly [N in SlotToolName]: ToolSlot<N>;
94
+ };
95
+ /** Required members of each tool input (schemas/tool.json <Tool>Input.required). */
96
+ export declare const REQUIRED_TOOL_INPUT: Readonly<Record<SlotToolName, readonly string[]>>;
97
+ /** Harness-to-executor requests the client serves itself (tools, sessions, drain, agent). */
98
+ type ServedRequestMethod = 'tool.call' | 'tool.cancel' | 'session.assign' | 'session.stop' | 'executor.drain' | 'turn.start' | 'turn.input' | 'turn.cancel' | 'session.close' | 'interaction.response';
99
+ /** Harness-to-executor requests served with `onRequest`: process.*, terminal.*, skill.install, workspace.backup. */
100
+ export type ExecutorRequestMethod = Exclude<HarnessToExecutorRequestMethod, ServedRequestMethod>;
101
+ export type RequestHandler<M extends ExecutorRequestMethod> = (params: MethodParamsMap[M]) => MethodResultMap[M] | Promise<MethodResultMap[M]>;
53
102
  export type SessionAssignHandler = (params: SessionAssignParams) => Promise<SessionAssignResult>;
54
103
  export type SessionStopHandler = (params: SessionStopParams) => Promise<SessionStopResult>;
55
104
  export type DrainHandler = (params: ExecutorDrainParams) => Promise<ExecutorDrainResult>;
56
- export type RequestHandler = (params: unknown) => unknown;
57
105
  export interface ExecutorClientOptions extends Omit<WebSocketDialerOptions, 'environmentKey' | 'tokenSource'> {
58
106
  environmentKey?: string;
59
107
  tokenSource?: TokenSource;
@@ -101,13 +149,13 @@ export declare class ExecutorClient {
101
149
  private readonly completedToolResults;
102
150
  private readonly seenToolCalls;
103
151
  private readonly running;
104
- private readonly tools;
105
- private toolCallHandler?;
152
+ private readonly handlers;
153
+ /** Typed tool handlers; capabilities shell/files/computer_use follow what is registered. */
154
+ readonly tools: ExecutorTools;
106
155
  private sessionAssignHandler?;
107
156
  private sessionStopHandler?;
108
157
  private drainHandler?;
109
158
  private readonly requestHandlers;
110
- private readonly notificationHandlers;
111
159
  private registration;
112
160
  private agent?;
113
161
  constructor(options: ExecutorClientOptions);
@@ -117,26 +165,26 @@ export declare class ExecutorClient {
117
165
  /** The negotiated protocol of the current connection. */
118
166
  get protocol(): string | undefined;
119
167
  get activeSessions(): string[];
120
- /** Registers the handler for every tool without a handleTool handler. */
121
- onToolCall(handler: ToolCallHandler): void;
122
- /** Registers the handler for one tool name (bash, read, ..., or a custom name). */
123
- handleTool(name: string, handler: ToolCallHandler): void;
124
168
  onSessionAssign(handler: SessionAssignHandler): void;
125
169
  onSessionStop(handler: SessionStopHandler): void;
126
170
  onDrain(handler: DrainHandler): void;
127
- /** Registers a handler for another harness-to-executor request (process.*, terminal.*, skill.install). */
128
- onRequest(method: string, handler: RequestHandler): void;
129
- onNotification(method: string, handler: (params: unknown) => void): void;
171
+ /**
172
+ * Serves a harness-to-executor request (process.*, terminal.*, skill.install,
173
+ * workspace.backup) with the contract's params and result types. Throw an
174
+ * RpcError to answer with a JSON-RPC error.
175
+ */
176
+ onRequest<M extends ExecutorRequestMethod>(method: M, handler: RequestHandler<M>): void;
130
177
  /** Advertises the agent capability and serves turn.*, session.close and interaction.response. Call before start. */
131
178
  serveAgent(handler: AgentHandler, capability?: Omit<AgentCapability, 'enabled'>): void;
132
179
  /** Dials, registers and starts heartbeats. */
133
180
  start(): Promise<ExecutorRegisterResult>;
134
181
  /** Sends executor.close, closes the channel and stops reconnecting. */
135
182
  stop(reason?: string): void;
136
- /** Sends a request on the control channel. */
137
- call<T = unknown>(method: string, params: unknown): Promise<T>;
138
- /** Sends a notification on the control channel. */
139
- notify(method: string, params: unknown): void;
183
+ /** Sends an executor-to-harness request on the control channel, typed by the contract. */
184
+ call<M extends ExecutorToHarnessRequestMethod>(method: M, params: MethodParamsMap[M]): Promise<MethodResultMap[M]>;
185
+ /** Sends an executor-to-harness notification on the control channel, typed by the contract. */
186
+ notify<M extends ExecutorToHarnessNotificationMethod>(method: M, params: MethodParamsMap[M]): void;
187
+ private rawCall;
140
188
  /** Reports that the session is prepared; call after workspace and MCP setup. */
141
189
  sessionReady(params: SessionReadyParams): Promise<Ack>;
142
190
  /** Reports that every process and MCP server of the session stopped. */
@@ -145,7 +193,11 @@ export declare class ExecutorClient {
145
193
  sessionEvent(params: SessionEventParams): Promise<SessionEventResult>;
146
194
  sessionStatus(params: SessionStatusParams): void;
147
195
  toolProgress(params: ToolProgressParams): void;
148
- /** Replaces the advertised capabilities; they are also sent on every re-register. */
196
+ /**
197
+ * Replaces the configured capabilities and sends them; the shell and files
198
+ * groups stay enabled only while a handler of the group is registered, and
199
+ * an explicit `enabled: false` wins. They are also sent on every re-register.
200
+ */
149
201
  updateCapabilities(capabilities: Capabilities): void;
150
202
  /**
151
203
  * Sends tool.result once per tool_call_id, retrying retryable failures with
@@ -154,7 +206,19 @@ export declare class ExecutorClient {
154
206
  reportToolResult(params: ToolResultParams): Promise<Ack>;
155
207
  /** Opens the raw MCP channel for one session.assign mcp_servers entry. */
156
208
  openMcpChannel(sessionId: string, serverKey: string): Promise<FrameChannel>;
209
+ /**
210
+ * The configured capabilities with shell and files enabled while a handler
211
+ * of the group is registered and the option does not turn the group off
212
+ * (`enabled: false` wins, as MCP's RegisteredTool.enabled), so nothing
213
+ * unimplemented is advertised. computer_use stays off: its tools have no slot.
214
+ */
157
215
  private registeredCapabilities;
216
+ /**
217
+ * Registers a tool handler; on a registered connection the changed
218
+ * capabilities go out with executor.capabilities.update (as an MCP server
219
+ * sends tools/list_changed for a tool registered after connecting).
220
+ */
221
+ private setToolHandler;
158
222
  private resumeState;
159
223
  private connect;
160
224
  /**
@@ -183,3 +247,4 @@ export declare class ExecutorClient {
183
247
  private agentHost;
184
248
  }
185
249
  export declare function retryableToolResultError(error: unknown): boolean;
250
+ export {};