@beeos-ai/bma-executor-sdk 0.0.0-stage → 0.4.0

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.
@@ -0,0 +1 @@
1
+ {"version":3,"file":"harness.js","sourceRoot":"","sources":["../src/harness.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,8 @@
1
+ export * from './generated/executor.js';
2
+ export * from './errors.js';
3
+ export { ExecutorClient, channelUrl, isTerminalCloseCode, retryableToolResultError, staticToken, webSocketDialer, DEFAULT_BASE_URL, DEFAULT_MAX_RECONNECT_ATTEMPTS, DEFAULT_RECONNECT_BASE_DELAY_MS, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_TOOL_RESULT_RETRY_ATTEMPTS, DEFAULT_TOOL_RESULT_RETRY_BASE_DELAY_MS, type ChannelTarget, type Dialer, type DrainHandler, type ExecutorClientOptions, type RequestHandler, type SessionAssignHandler, type SessionStopHandler, type TokenSource, type ToolCallHandler, type ToolContext, type ToolResult, type WebSocketDialerOptions, } from './client.js';
4
+ export { AgentTurn, type AgentHandler } from './agent.js';
5
+ export { Harness, HarnessExecutor, HarnessMcpChannel, HarnessSession, DEFAULT_HARNESS_HEARTBEAT_INTERVAL_MS, DEFAULT_HARNESS_LEASE_TTL_MS, type AcceptOptions, type AgentEventRecord, type AgentPlatform, type HarnessOptions, type Principal, } from './harness.js';
6
+ export { bearerAuthenticator, createLocalToken, defaultLocalEndpoint, listenExecutor, localSocketPath, localUrl, readLocalToken, DEFAULT_PROTOCOLS, type ExecutorListener, type ListenExecutorOptions, } from './local.js';
7
+ export { type LogEvent, type LogLevel, type Logger } from './rpc.js';
8
+ export { dialWebSocket, inProcessPair, webSocketConn, FrameChannel, MAX_FRAME_BYTES, type Conn, type ConnHandlers, } from './transport.js';
package/dist/index.js ADDED
@@ -0,0 +1,12 @@
1
+ // @beeos-ai/bma-executor-sdk: the BMA executor protocol (bma.executor.v1.1
2
+ // and v1) for Node.js. Protocol types are generated from contracts/bma
3
+ // (src/generated/executor.ts); the executor end, harness end, agent
4
+ // capability and transports are handwritten to match go/executor.
5
+ export * from './generated/executor.js';
6
+ export * from './errors.js';
7
+ export { ExecutorClient, channelUrl, isTerminalCloseCode, retryableToolResultError, staticToken, webSocketDialer, DEFAULT_BASE_URL, DEFAULT_MAX_RECONNECT_ATTEMPTS, DEFAULT_RECONNECT_BASE_DELAY_MS, DEFAULT_REQUEST_TIMEOUT_MS, DEFAULT_TOOL_RESULT_RETRY_ATTEMPTS, DEFAULT_TOOL_RESULT_RETRY_BASE_DELAY_MS, } from './client.js';
8
+ export { AgentTurn } from './agent.js';
9
+ export { Harness, HarnessExecutor, HarnessMcpChannel, HarnessSession, DEFAULT_HARNESS_HEARTBEAT_INTERVAL_MS, DEFAULT_HARNESS_LEASE_TTL_MS, } from './harness.js';
10
+ export { bearerAuthenticator, createLocalToken, defaultLocalEndpoint, listenExecutor, localSocketPath, localUrl, readLocalToken, DEFAULT_PROTOCOLS, } from './local.js';
11
+ export { dialWebSocket, inProcessPair, webSocketConn, FrameChannel, MAX_FRAME_BYTES, } from './transport.js';
12
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,2EAA2E;AAC3E,uEAAuE;AACvE,oEAAoE;AACpE,kEAAkE;AAElE,cAAc,yBAAyB,CAAA;AACvC,cAAc,aAAa,CAAA;AAC3B,OAAO,EACL,cAAc,EACd,UAAU,EACV,mBAAmB,EACnB,wBAAwB,EACxB,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,8BAA8B,EAC9B,+BAA+B,EAC/B,0BAA0B,EAC1B,kCAAkC,EAClC,uCAAuC,GAaxC,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,SAAS,EAAqB,MAAM,YAAY,CAAA;AACzD,OAAO,EACL,OAAO,EACP,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,qCAAqC,EACrC,4BAA4B,GAM7B,MAAM,cAAc,CAAA;AACrB,OAAO,EACL,mBAAmB,EACnB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,eAAe,EACf,QAAQ,EACR,cAAc,EACd,iBAAiB,GAGlB,MAAM,YAAY,CAAA;AAEnB,OAAO,EACL,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,eAAe,GAGhB,MAAM,gBAAgB,CAAA"}
@@ -0,0 +1,49 @@
1
+ import { type IncomingMessage, type Server } from 'node:http';
2
+ import type { Duplex } from 'node:stream';
3
+ import type { Dialer } from './client.js';
4
+ export declare const DEFAULT_PROTOCOLS: ("bma.executor.v1" | "bma.executor.v1.1")[];
5
+ /** The unix:// or npipe:// URL of a local socket path. */
6
+ export declare function localUrl(path: string): string;
7
+ /** The socket path of a unix:// or npipe:// URL; undefined for any other scheme. */
8
+ export declare function localSocketPath(url: string): string | undefined;
9
+ /** The default local endpoint and token file for the current user. */
10
+ export declare function defaultLocalEndpoint(): {
11
+ path: string;
12
+ tokenFile: string;
13
+ };
14
+ /** Writes a fresh local token (0600, in a 0700 directory) and returns it. */
15
+ export declare function createLocalToken(tokenFile: string): Promise<string>;
16
+ export declare function readLocalToken(tokenFile: string): Promise<string>;
17
+ /** A HarnessOptions.authenticate that accepts exactly `Authorization: Bearer <token>`. */
18
+ export declare function bearerAuthenticator(token: string): (request: IncomingMessage) => Record<string, never>;
19
+ /**
20
+ * Serves an HTTP server on a local socket path. On Unix the socket lives in a
21
+ * 0700 directory and is chmod 0600; a stale socket file is replaced.
22
+ * @internal
23
+ */
24
+ export declare function listenHttpLocal(server: Server, path: string): Promise<() => Promise<void>>;
25
+ /** @internal Answers a refused WebSocket upgrade with a bare HTTP status. */
26
+ export declare function refuseUpgrade(socket: Duplex, status: number, message: string): void;
27
+ export interface ListenExecutorOptions {
28
+ /** Unix socket path or \\.\pipe\<name>. */
29
+ path: string;
30
+ /** Required as the harness's bearer token. Omit only in tests. */
31
+ token?: string;
32
+ /** Accepted subprotocols in preference order. */
33
+ protocols?: string[];
34
+ }
35
+ export interface ExecutorListener {
36
+ /** unix:// or npipe:// URL for Harness.dialExecutor. */
37
+ readonly url: string;
38
+ /**
39
+ * The ExecutorClient dialer: every call waits for the harness to open the
40
+ * matching channel (control, or the MCP channel of a session and server key).
41
+ */
42
+ readonly dialer: Dialer;
43
+ close(): Promise<void>;
44
+ }
45
+ /**
46
+ * The executor end of the "harness dials" direction: a WebSocket listener on
47
+ * a local socket whose incoming channels feed an ExecutorClient dialer.
48
+ */
49
+ export declare function listenExecutor(options: ListenExecutorOptions): Promise<ExecutorListener>;
package/dist/local.js ADDED
@@ -0,0 +1,169 @@
1
+ // Local connections carry the same WebSocket protocol as the cloud (same
2
+ // subprotocol negotiation, bearer token and close codes) over a Unix domain
3
+ // socket or a Windows named pipe instead of TCP:
4
+ // unix:///run/user/1000/bma-executor/executor.sock
5
+ // npipe:////./pipe/bma-executor-<user> (\\.\pipe\bma-executor-<user>)
6
+ // The channel query (?channel=mcp&session_id=&server_key=) is the same as on
7
+ // ws:// URLs. Who dials is independent of the protocol role: locally the
8
+ // executor may listen (listenExecutor) and the harness dial it
9
+ // (Harness.dialExecutor); the executor still sends executor.register first.
10
+ // The token is the per-start local token (0600 file), never an environment key.
11
+ import { createHash, randomBytes, timingSafeEqual } from 'node:crypto';
12
+ import { chmod, mkdir, readFile, rm, writeFile } from 'node:fs/promises';
13
+ import { createServer } from 'node:http';
14
+ import { homedir, tmpdir, userInfo } from 'node:os';
15
+ import { dirname, join } from 'node:path';
16
+ import { WebSocketServer } from 'ws';
17
+ import { ChannelScope, ProtocolVersion } from './generated/executor.js';
18
+ import { ClientStoppedError } from './errors.js';
19
+ import { MAX_FRAME_BYTES, webSocketConn } from './transport.js';
20
+ export const DEFAULT_PROTOCOLS = [ProtocolVersion.BmaExecutorV11, ProtocolVersion.BmaExecutorV1];
21
+ const PIPE_PREFIX = '\\\\.\\pipe\\';
22
+ /** The unix:// or npipe:// URL of a local socket path. */
23
+ export function localUrl(path) {
24
+ if (path.startsWith(PIPE_PREFIX))
25
+ return `npipe:////./pipe/${path.slice(PIPE_PREFIX.length)}`;
26
+ return `unix://${path}`;
27
+ }
28
+ /** The socket path of a unix:// or npipe:// URL; undefined for any other scheme. */
29
+ export function localSocketPath(url) {
30
+ const parsed = new URL(url);
31
+ if (parsed.protocol === 'unix:')
32
+ return decodeURIComponent(parsed.pathname);
33
+ if (parsed.protocol === 'npipe:') {
34
+ // WHATWG URL parsing drops the "." segment of //./pipe/<name>.
35
+ const name = decodeURIComponent(parsed.pathname).replace(/^\/\/(\.\/)?pipe\//, '');
36
+ return `${PIPE_PREFIX}${name}`;
37
+ }
38
+ return undefined;
39
+ }
40
+ /** The default local endpoint and token file for the current user. */
41
+ export function defaultLocalEndpoint() {
42
+ const user = userInfo().username.replace(/[^A-Za-z0-9_.-]/g, '_');
43
+ if (process.platform === 'win32') {
44
+ const base = process.env.LOCALAPPDATA ?? join(homedir(), 'AppData', 'Local');
45
+ return { path: `${PIPE_PREFIX}bma-executor-${user}`, tokenFile: join(base, 'bma', 'executor.token') };
46
+ }
47
+ const dir = join(process.env.XDG_RUNTIME_DIR ?? tmpdir(), `bma-executor-${user}`);
48
+ return { path: join(dir, 'executor.sock'), tokenFile: join(dir, 'executor.token') };
49
+ }
50
+ /** Writes a fresh local token (0600, in a 0700 directory) and returns it. */
51
+ export async function createLocalToken(tokenFile) {
52
+ const token = randomBytes(32).toString('hex');
53
+ await mkdir(dirname(tokenFile), { recursive: true, mode: 0o700 });
54
+ await writeFile(tokenFile, token, { mode: 0o600 });
55
+ return token;
56
+ }
57
+ export async function readLocalToken(tokenFile) {
58
+ return (await readFile(tokenFile, 'utf8')).trim();
59
+ }
60
+ function bearerMatches(token, request) {
61
+ const header = request.headers.authorization ?? '';
62
+ const offered = header.startsWith('Bearer ') ? header.slice('Bearer '.length) : '';
63
+ const digest = (value) => createHash('sha256').update(value).digest();
64
+ return offered !== '' && timingSafeEqual(digest(token), digest(offered));
65
+ }
66
+ /** A HarnessOptions.authenticate that accepts exactly `Authorization: Bearer <token>`. */
67
+ export function bearerAuthenticator(token) {
68
+ return (request) => {
69
+ if (!bearerMatches(token, request))
70
+ throw new Error('unauthorized');
71
+ return {};
72
+ };
73
+ }
74
+ /**
75
+ * Serves an HTTP server on a local socket path. On Unix the socket lives in a
76
+ * 0700 directory and is chmod 0600; a stale socket file is replaced.
77
+ * @internal
78
+ */
79
+ export async function listenHttpLocal(server, path) {
80
+ const unix = !path.startsWith(PIPE_PREFIX);
81
+ if (unix) {
82
+ await mkdir(dirname(path), { recursive: true, mode: 0o700 });
83
+ await rm(path, { force: true });
84
+ }
85
+ await new Promise((resolve, reject) => {
86
+ server.once('error', reject);
87
+ server.listen(path, () => {
88
+ server.off('error', reject);
89
+ resolve();
90
+ });
91
+ });
92
+ if (unix)
93
+ await chmod(path, 0o600);
94
+ return () => new Promise((resolve) => {
95
+ server.closeAllConnections();
96
+ server.close(() => resolve());
97
+ if (unix)
98
+ void rm(path, { force: true });
99
+ });
100
+ }
101
+ /** @internal Answers a refused WebSocket upgrade with a bare HTTP status. */
102
+ export function refuseUpgrade(socket, status, message) {
103
+ socket.end(`HTTP/1.1 ${status} ${message}\r\nConnection: close\r\nContent-Length: 0\r\n\r\n`);
104
+ }
105
+ /**
106
+ * The executor end of the "harness dials" direction: a WebSocket listener on
107
+ * a local socket whose incoming channels feed an ExecutorClient dialer.
108
+ */
109
+ export async function listenExecutor(options) {
110
+ const protocols = options.protocols ?? DEFAULT_PROTOCOLS;
111
+ const slotOf = (target) => target.channel === ChannelScope.Mcp ? `mcp\0${target.sessionId ?? ''}\0${target.serverKey ?? ''}` : 'control';
112
+ const ready = new Map();
113
+ const waiting = new Map();
114
+ let closed = false;
115
+ const offer = (slot, conn) => {
116
+ const waiter = waiting.get(slot)?.shift();
117
+ if (waiter)
118
+ waiter.resolve(conn);
119
+ else
120
+ ready.set(slot, [...(ready.get(slot) ?? []), conn]);
121
+ };
122
+ const wss = new WebSocketServer({
123
+ noServer: true,
124
+ maxPayload: MAX_FRAME_BYTES,
125
+ handleProtocols: (offered) => protocols.find((protocol) => offered.has(protocol)) ?? false,
126
+ });
127
+ const server = createServer((_request, response) => response.writeHead(426).end());
128
+ server.on('upgrade', (request, socket, head) => {
129
+ if (options.token !== undefined && !bearerMatches(options.token, request))
130
+ return refuseUpgrade(socket, 401, 'Unauthorized');
131
+ const query = new URL(request.url ?? '/', 'http://localhost').searchParams;
132
+ const channel = query.get('channel') || ChannelScope.Control;
133
+ if (channel !== ChannelScope.Control && channel !== ChannelScope.Mcp)
134
+ return refuseUpgrade(socket, 400, 'Bad Request');
135
+ const offered = (request.headers['sec-websocket-protocol'] ?? '').split(',').map((value) => value.trim());
136
+ if (!protocols.some((protocol) => offered.includes(protocol)))
137
+ return refuseUpgrade(socket, 400, 'Bad Request');
138
+ const target = {
139
+ channel,
140
+ sessionId: query.get('session_id') ?? undefined,
141
+ serverKey: query.get('server_key') ?? undefined,
142
+ };
143
+ wss.handleUpgrade(request, socket, head, (ws) => offer(slotOf(target), webSocketConn(ws)));
144
+ });
145
+ const closeServer = await listenHttpLocal(server, options.path);
146
+ return {
147
+ url: localUrl(options.path),
148
+ dialer: (target) => {
149
+ if (closed)
150
+ return Promise.reject(new ClientStoppedError());
151
+ const slot = slotOf(target);
152
+ const queued = ready.get(slot)?.shift();
153
+ if (queued)
154
+ return Promise.resolve(queued);
155
+ return new Promise((resolve, reject) => waiting.set(slot, [...(waiting.get(slot) ?? []), { resolve, reject }]));
156
+ },
157
+ close: async () => {
158
+ closed = true;
159
+ for (const waiters of waiting.values())
160
+ for (const waiter of waiters)
161
+ waiter.reject(new ClientStoppedError());
162
+ waiting.clear();
163
+ for (const client of wss.clients)
164
+ client.terminate();
165
+ await closeServer();
166
+ },
167
+ };
168
+ }
169
+ //# sourceMappingURL=local.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"local.js","sourceRoot":"","sources":["../src/local.ts"],"names":[],"mappings":"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"}
package/dist/rpc.d.ts ADDED
@@ -0,0 +1,38 @@
1
+ import type { JsonRpcError } from './generated/executor.js';
2
+ import type { Conn } from './transport.js';
3
+ export type LogLevel = 'debug' | 'info' | 'warn' | 'error';
4
+ export interface LogEvent {
5
+ level: LogLevel;
6
+ message: string;
7
+ error?: unknown;
8
+ }
9
+ export type Logger = (event: LogEvent) => void;
10
+ export interface RpcPeerOptions {
11
+ idPrefix: string;
12
+ requestTimeoutMs: number;
13
+ /** Answers a request; a thrown RpcError keeps its code and data. */
14
+ onRequest(method: string, params: unknown, id: string): unknown;
15
+ onNotification(method: string, params: unknown): void;
16
+ onClose(code: number, reason: string): void;
17
+ log?: Logger;
18
+ }
19
+ /** Encodes a handler failure as a JSON-RPC error object. */
20
+ export declare function toWireError(error: unknown): JsonRpcError;
21
+ export declare class RpcPeer {
22
+ readonly conn: Conn;
23
+ private readonly options;
24
+ private nextId;
25
+ private readonly pending;
26
+ constructor(conn: Conn, options: RpcPeerOptions);
27
+ get closed(): boolean;
28
+ /** Sends a request and resolves with its result, or rejects with RpcError. */
29
+ call<T = unknown>(method: string, params: unknown, timeoutMs?: number): Promise<T>;
30
+ notify(method: string, params: unknown): void;
31
+ close(code?: number, reason?: string): void;
32
+ private log;
33
+ private onFrame;
34
+ private dispatch;
35
+ private respond;
36
+ private settle;
37
+ private failPending;
38
+ }
package/dist/rpc.js ADDED
@@ -0,0 +1,123 @@
1
+ // JSON-RPC 2.0 over one Conn, shared by the executor and the harness ends.
2
+ import { Code, NotConnectedError, RequestTimeoutError, RpcError } from './errors.js';
3
+ /** Encodes a handler failure as a JSON-RPC error object. */
4
+ export function toWireError(error) {
5
+ if (error instanceof RpcError)
6
+ return error.toJSON();
7
+ return { code: Code.InternalError, message: error instanceof Error ? error.message : String(error) };
8
+ }
9
+ export class RpcPeer {
10
+ conn;
11
+ options;
12
+ nextId = 0;
13
+ pending = new Map();
14
+ constructor(conn, options) {
15
+ this.conn = conn;
16
+ this.options = options;
17
+ conn.setHandlers({
18
+ message: (frame) => this.onFrame(frame),
19
+ close: (code, reason) => {
20
+ this.failPending(new NotConnectedError(`channel closed (${code})`));
21
+ options.onClose(code, reason);
22
+ },
23
+ });
24
+ }
25
+ get closed() {
26
+ return this.conn.closed;
27
+ }
28
+ /** Sends a request and resolves with its result, or rejects with RpcError. */
29
+ call(method, params, timeoutMs = this.options.requestTimeoutMs) {
30
+ const id = `${this.options.idPrefix}${++this.nextId}`;
31
+ return new Promise((resolve, reject) => {
32
+ const timer = setTimeout(() => {
33
+ this.pending.delete(id);
34
+ reject(new RequestTimeoutError(method));
35
+ }, timeoutMs);
36
+ this.pending.set(id, { resolve: resolve, reject, timer });
37
+ try {
38
+ this.conn.send(JSON.stringify({ jsonrpc: '2.0', id, method, params }));
39
+ }
40
+ catch (error) {
41
+ clearTimeout(timer);
42
+ this.pending.delete(id);
43
+ reject(error);
44
+ }
45
+ });
46
+ }
47
+ notify(method, params) {
48
+ this.conn.send(JSON.stringify({ jsonrpc: '2.0', method, params }));
49
+ }
50
+ close(code = 1000, reason = '') {
51
+ this.conn.close(code, reason);
52
+ }
53
+ log(level, message, error) {
54
+ this.options.log?.({ level, message, error });
55
+ }
56
+ onFrame(frame) {
57
+ let message;
58
+ try {
59
+ message = JSON.parse(frame);
60
+ }
61
+ catch (error) {
62
+ this.log('warn', 'invalid JSON-RPC frame', error);
63
+ return;
64
+ }
65
+ const hasId = message.id !== undefined && message.id !== null;
66
+ if (message.method !== undefined && hasId) {
67
+ this.dispatch(String(message.id), message.method, message.params);
68
+ }
69
+ else if (message.method !== undefined) {
70
+ try {
71
+ this.options.onNotification(message.method, message.params);
72
+ }
73
+ catch (error) {
74
+ this.log('error', `notification ${message.method} handler failed`, error);
75
+ }
76
+ }
77
+ else if (hasId) {
78
+ this.settle(String(message.id), message);
79
+ }
80
+ else {
81
+ this.log('warn', 'JSON-RPC frame is neither request nor response');
82
+ }
83
+ }
84
+ dispatch(id, method, params) {
85
+ let outcome;
86
+ try {
87
+ outcome = this.options.onRequest(method, params, id);
88
+ }
89
+ catch (error) {
90
+ this.respond(id, undefined, toWireError(error));
91
+ return;
92
+ }
93
+ void Promise.resolve(outcome).then((result) => this.respond(id, result, undefined), (error) => this.respond(id, undefined, toWireError(error)));
94
+ }
95
+ respond(id, result, error) {
96
+ const envelope = error ? { jsonrpc: '2.0', id, error } : { jsonrpc: '2.0', id, result: result ?? null };
97
+ try {
98
+ this.conn.send(JSON.stringify(envelope));
99
+ }
100
+ catch (sendError) {
101
+ this.log('debug', 'write JSON-RPC response', sendError);
102
+ }
103
+ }
104
+ settle(id, message) {
105
+ const pending = this.pending.get(id);
106
+ if (!pending)
107
+ return;
108
+ this.pending.delete(id);
109
+ clearTimeout(pending.timer);
110
+ if (message.error)
111
+ pending.reject(new RpcError(message.error.code, message.error.message, message.error.data));
112
+ else
113
+ pending.resolve(message.result);
114
+ }
115
+ failPending(error) {
116
+ for (const [id, pending] of this.pending) {
117
+ clearTimeout(pending.timer);
118
+ pending.reject(error);
119
+ this.pending.delete(id);
120
+ }
121
+ }
122
+ }
123
+ //# sourceMappingURL=rpc.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"rpc.js","sourceRoot":"","sources":["../src/rpc.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,53 @@
1
+ import WebSocket from 'ws';
2
+ /** Largest frame accepted on any transport (1 MiB), as in the Go SDK. */
3
+ export declare const MAX_FRAME_BYTES: number;
4
+ export interface ConnHandlers {
5
+ message(frame: string): void;
6
+ close(code: number, reason: string): void;
7
+ }
8
+ /**
9
+ * Conn is one open, message-oriented channel. Frames received before
10
+ * setHandlers are queued, so a caller may attach handlers after an await.
11
+ */
12
+ export interface Conn {
13
+ /** The negotiated subprotocol, for example bma.executor.v1.1. */
14
+ readonly protocol: string;
15
+ readonly closed: boolean;
16
+ send(frame: string): void;
17
+ /** Closes with a WebSocket close code (1000 when omitted). */
18
+ close(code?: number, reason?: string): void;
19
+ setHandlers(handlers: ConnHandlers): void;
20
+ }
21
+ /** Two connected in-process ends, for a brain and a hand in one process. */
22
+ export declare function inProcessPair(protocol: string): [Conn, Conn];
23
+ /** Wraps an open `ws` WebSocket. */
24
+ export declare function webSocketConn(ws: WebSocket): Conn;
25
+ /**
26
+ * Dials a WebSocket and resolves once it is open. unix:// and npipe:// URLs
27
+ * run the same handshake over the local socket; their query is the request's.
28
+ */
29
+ export declare function dialWebSocket(url: string, options: {
30
+ protocols: string[];
31
+ token?: string;
32
+ maxPayload?: number;
33
+ signal?: AbortSignal;
34
+ }): Promise<Conn>;
35
+ /**
36
+ * FrameChannel reads frames from a Conn one at a time: the raw MCP channel
37
+ * on both ends. read() rejects with NotConnectedError once the channel closed
38
+ * and every queued frame was read.
39
+ */
40
+ export declare class FrameChannel {
41
+ readonly conn: Conn;
42
+ private readonly frames;
43
+ private waiters;
44
+ private closeError?;
45
+ private readonly closedPromise;
46
+ private markClosed;
47
+ constructor(conn: Conn);
48
+ /** Resolves when the channel has closed. */
49
+ get done(): Promise<void>;
50
+ read(signal?: AbortSignal): Promise<string>;
51
+ write(frame: string): void;
52
+ close(): void;
53
+ }