@query-farm/vgi-rpc 0.7.5 → 0.9.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.
@@ -18,6 +18,7 @@
18
18
  export { computeHash } from "./hash.js";
19
19
  export { type LaunchConfig, launch } from "./launch.js";
20
20
  export { acquireLock, type FileLockHandle, tryAcquireLock } from "./lock.js";
21
+ export { type ServeTcpHandle, type ServeTcpOptions, serveTcp } from "./serve-tcp.js";
21
22
  export { type ServeUnixHandle, type ServeUnixOptions, serveUnix } from "./serve-unix.js";
22
23
  export { defaultStateDir, type GcResult, gcStateDir, probeSocket, type SocketPaths, type StatusRow, socketPaths, statusRows, } from "./state.js";
23
24
  //# sourceMappingURL=index.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/launcher/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,eAAe,EACf,KAAK,QAAQ,EACb,UAAU,EACV,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/launcher/index.ts"],"names":[],"mappings":"AAGA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,OAAO,EAAE,KAAK,YAAY,EAAE,MAAM,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,EAAE,WAAW,EAAE,KAAK,cAAc,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC7E,OAAO,EAAE,KAAK,cAAc,EAAE,KAAK,eAAe,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AACrF,OAAO,EAAE,KAAK,eAAe,EAAE,KAAK,gBAAgB,EAAE,SAAS,EAAE,MAAM,iBAAiB,CAAC;AACzF,OAAO,EACL,eAAe,EACf,KAAK,QAAQ,EACb,UAAU,EACV,WAAW,EACX,KAAK,WAAW,EAChB,KAAK,SAAS,EACd,WAAW,EACX,UAAU,GACX,MAAM,YAAY,CAAC"}
@@ -0,0 +1,66 @@
1
+ import type { ExternalLocationConfig } from "../external.js";
2
+ import type { Protocol } from "../protocol.js";
3
+ import { type DispatchHook, type ServeStartHook } from "../types.js";
4
+ /** Configuration for {@link serveTcp}. */
5
+ export interface ServeTcpOptions {
6
+ /** Interface to bind. Defaults to `127.0.0.1` (loopback only). Binding a
7
+ * routable address exposes the unauthenticated framing on the network. */
8
+ host?: string;
9
+ /** TCP port to bind. Defaults to `0`, which lets the OS pick a free port
10
+ * (reported via the `TCP:<host>:<port>` line and {@link onBound}). */
11
+ port?: number;
12
+ /** Self-terminate after this many seconds with zero connected clients.
13
+ * Default: 300. `0` disables the timer (server runs until killed). */
14
+ idleTimeout?: number;
15
+ /** Grace period after `listen()` succeeds before the idle timer starts
16
+ * ticking. Default: 5 — gives the first launcher caller a chance to
17
+ * connect after the `TCP:<host>:<port>` announcement. */
18
+ startupGraceSeconds?: number;
19
+ /** Optional logical-service / protocol-contract version label. */
20
+ protocolVersion?: string;
21
+ /** Custom server identifier. */
22
+ serverId?: string;
23
+ /** Enable __describe__ method. Default: true. */
24
+ enableDescribe?: boolean;
25
+ /** Optional dispatch hook for observability. */
26
+ dispatchHook?: DispatchHook;
27
+ /** Optional external-storage config for large-batch externalisation. */
28
+ externalLocation?: ExternalLocationConfig;
29
+ /** Lifecycle hook fired once before the first dispatched request. */
30
+ onServeStart?: ServeStartHook;
31
+ /** Maximum listen backlog. Default: 128. */
32
+ backlog?: number;
33
+ /** Called *after* `listen()` returns successfully but *before*
34
+ * `TCP:<host>:<port>` is printed. Invoked with the bound host and the
35
+ * *actual* bound port (resolved when `port=0`). */
36
+ onBound?: (host: string, port: number) => void;
37
+ /** Override the stream used for the `TCP:<host>:<port>` line. Defaults to
38
+ * `process.stdout`. */
39
+ announcementSink?: NodeJS.WritableStream;
40
+ }
41
+ /** Handle returned by {@link serveTcp} for callers that want to stop the server. */
42
+ export interface ServeTcpHandle {
43
+ /** Host the server is listening on. */
44
+ readonly host: string;
45
+ /** Actual bound TCP port (resolved from `0` when the OS auto-selects). */
46
+ readonly port: number;
47
+ /** Shut down the listener. */
48
+ stop(): Promise<void>;
49
+ /** Promise that resolves when the server has stopped (idle timeout, stop(),
50
+ * or a fatal error). Mirrors Python's blocking `serve()` return. */
51
+ readonly done: Promise<void>;
52
+ }
53
+ /**
54
+ * Bind a TCP socket and serve `protocol` over per-connection IPC streams.
55
+ *
56
+ * The network analog of {@link serveUnix}: same raw Arrow-IPC framing, only
57
+ * the listening socket differs. Nagle's algorithm is disabled
58
+ * (`setNoDelay(true)`) on each connection so the lockstep request/response
59
+ * framing is not delayed waiting to coalesce writes.
60
+ *
61
+ * SECURITY: no authentication or TLS — trusted networks only; the default
62
+ * host is loopback (`127.0.0.1`). Use the HTTP transport for untrusted
63
+ * networks.
64
+ */
65
+ export declare function serveTcp(protocol: Protocol, options?: ServeTcpOptions): Promise<ServeTcpHandle>;
66
+ //# sourceMappingURL=serve-tcp.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-tcp.d.ts","sourceRoot":"","sources":["../../src/launcher/serve-tcp.ts"],"names":[],"mappings":"AAkCA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,gBAAgB,CAAC;AAC7D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,gBAAgB,CAAC;AAC/C,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,cAAc,EAEpB,MAAM,aAAa,CAAC;AAQrB,0CAA0C;AAC1C,MAAM,WAAW,eAAe;IAC9B;+EAC2E;IAC3E,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;2EACuE;IACvE,IAAI,CAAC,EAAE,MAAM,CAAC;IACd;4EACwE;IACxE,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB;;8DAE0D;IAC1D,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,kEAAkE;IAClE,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,gCAAgC;IAChC,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iDAAiD;IACjD,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,gDAAgD;IAChD,YAAY,CAAC,EAAE,YAAY,CAAC;IAC5B,wEAAwE;IACxE,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;IAC1C,qEAAqE;IACrE,YAAY,CAAC,EAAE,cAAc,CAAC;IAC9B,6CAA6C;IAC7C,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB;;wDAEoD;IACpD,OAAO,CAAC,EAAE,CAAC,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,KAAK,IAAI,CAAC;IAC/C;4BACwB;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC,cAAc,CAAC;CAC1C;AAED,oFAAoF;AACpF,MAAM,WAAW,cAAc;IAC7B,uCAAuC;IACvC,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,0EAA0E;IAC1E,QAAQ,CAAC,IAAI,EAAE,MAAM,CAAC;IACtB,8BAA8B;IAC9B,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC,CAAC;IACtB;0EACsE;IACtE,QAAQ,CAAC,IAAI,EAAE,OAAO,CAAC,IAAI,CAAC,CAAC;CAC9B;AAED;;;;;;;;;;;GAWG;AACH,wBAAsB,QAAQ,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,GAAE,eAAoB,GAAG,OAAO,CAAC,cAAc,CAAC,CA2QzG"}
@@ -0,0 +1,23 @@
1
+ import type { Socket } from "node:net";
2
+ import type { Protocol } from "./protocol.js";
3
+ import { VgiRpcServer } from "./server.js";
4
+ import { TransportKind } from "./types.js";
5
+ export interface ServeStreamOptions {
6
+ /** Incoming request bytes — a web `ReadableStream<Uint8Array>` or a Node
7
+ * `Readable` (e.g. a `Duplex` bridging a MessagePort). */
8
+ readable: ReadableStream<Uint8Array> | NodeJS.ReadableStream;
9
+ /** Outgoing response sink — a stdout-like fd number, or a `net.Socket` /
10
+ * structurally-compatible `Duplex`. Omit for the stdout fd. */
11
+ writable?: number | Socket;
12
+ /** Passed through to the `VgiRpcServer` constructor (describe, hooks, …). */
13
+ serverOptions?: ConstructorParameters<typeof VgiRpcServer>[1];
14
+ /** Reported to the `on_serve_start` hook. Defaults to `PIPE`. */
15
+ transportKind?: TransportKind;
16
+ }
17
+ /**
18
+ * Serve `protocol` over the provided `readable`/`writable` until the readable
19
+ * ends. Thin wrapper over {@link VgiRpcServer.serveConnection}. Resolves on
20
+ * clean EOF; rejects on a real protocol/transport error.
21
+ */
22
+ export declare function serveStream(protocol: Protocol, options: ServeStreamOptions): Promise<void>;
23
+ //# sourceMappingURL=serve-stream.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"serve-stream.d.ts","sourceRoot":"","sources":["../src/serve-stream.ts"],"names":[],"mappings":"AAUA,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAEvC,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAE3C,MAAM,WAAW,kBAAkB;IACjC;+DAC2D;IAC3D,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,CAAC;IAC7D;oEACgE;IAChE,QAAQ,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IAC3B,6EAA6E;IAC7E,aAAa,CAAC,EAAE,qBAAqB,CAAC,OAAO,YAAY,CAAC,CAAC,CAAC,CAAC,CAAC;IAC9D,iEAAiE;IACjE,aAAa,CAAC,EAAE,aAAa,CAAC;CAC/B;AAED;;;;GAIG;AACH,wBAAsB,WAAW,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,CAGhG"}
package/dist/server.d.ts CHANGED
@@ -1,6 +1,6 @@
1
1
  import type { ExternalLocationConfig } from "./external.js";
2
2
  import type { Protocol } from "./protocol.js";
3
- import { type DispatchHook, type ServeStartHook } from "./types.js";
3
+ import { type DispatchHook, type ServeStartHook, TransportKind } from "./types.js";
4
4
  /**
5
5
  * RPC server that reads Arrow IPC requests from stdin and writes responses to stdout.
6
6
  * Supports unary and streaming (producer/exchange) methods.
@@ -39,8 +39,24 @@ export declare class VgiRpcServer {
39
39
  * `RpcServer._check_protocol_version`: exact major+minor match, patch
40
40
  * ignored; directional error message names which side is older. */
41
41
  private checkProtocolVersion;
42
- /** Start the server loop. Reads requests until stdin closes. */
42
+ /** Start the server loop over stdin/stdout. Reads requests until stdin closes. */
43
43
  run(): Promise<void>;
44
+ /**
45
+ * Serve requests over an explicit byte-stream pair until the readable ends —
46
+ * the transport-agnostic core that {@link run} (stdin/stdout) is built on.
47
+ *
48
+ * Use this to serve over any duplex channel that the stdio/unix/tcp helpers
49
+ * don't cover: a Web Worker / `MessagePort` bridge, an in-memory pipe, or a
50
+ * pre-connected socket. The loop, on_serve_start firing, and EOF/broken-pipe
51
+ * handling are identical to {@link run}.
52
+ *
53
+ * @param readable incoming request bytes — a web `ReadableStream<Uint8Array>`
54
+ * or a Node `Readable` (e.g. a `Duplex` bridging a MessagePort).
55
+ * @param writable outgoing response sink — a stdout-like fd number, or a
56
+ * `net.Socket` / structurally-compatible `Duplex`. Omit for the stdout fd.
57
+ * @param transportKind reported to the `on_serve_start` hook (default `PIPE`).
58
+ */
59
+ serveConnection(readable: ReadableStream<Uint8Array> | NodeJS.ReadableStream, writable?: number | import("node:net").Socket, transportKind?: TransportKind): Promise<void>;
44
60
  private serveOne;
45
61
  }
46
62
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,cAAc,EAEpB,MAAM,YAAY,CAAC;AAkBpB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAS;IAIzB,OAAO,CAAC,gBAAgB,CAGP;IACjB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,YAAY,CAA+B;IACnD;;;0EAGsE;IACtE,OAAO,CAAC,eAAe,CAAS;gBAG9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;QAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qEAAqE;QACrE,YAAY,CAAC,EAAE,cAAc,CAAC;KAC/B;IAWH;yEACqE;YACvD,eAAe;IAQ7B,iEAAiE;YACnD,YAAY;IAkB1B;;;;wEAIoE;IACpE,OAAO,CAAC,oBAAoB;IAyC5B,gEAAgE;IAC1D,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;YA6CZ,QAAQ;CA2IvB"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAeA,OAAO,KAAK,EAAE,sBAAsB,EAAE,MAAM,eAAe,CAAC;AAC5D,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AAC9C,OAAO,EAEL,KAAK,YAAY,EAGjB,KAAK,cAAc,EACnB,aAAa,EACd,MAAM,YAAY,CAAC;AAkBpB;;;GAGG;AACH,qBAAa,YAAY;IACvB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,cAAc,CAAU;IAChC,OAAO,CAAC,QAAQ,CAAS;IAIzB,OAAO,CAAC,gBAAgB,CAGP;IACjB,OAAO,CAAC,eAAe,CAAS;IAChC,OAAO,CAAC,YAAY,CAA6B;IACjD,OAAO,CAAC,cAAc,CAAqC;IAC3D,OAAO,CAAC,YAAY,CAA+B;IACnD;;;0EAGsE;IACtE,OAAO,CAAC,eAAe,CAAS;gBAG9B,QAAQ,EAAE,QAAQ,EAClB,OAAO,CAAC,EAAE;QACR,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,YAAY,CAAC;QAC5B,gBAAgB,CAAC,EAAE,sBAAsB,CAAC;QAC1C,eAAe,CAAC,EAAE,MAAM,CAAC;QACzB,qEAAqE;QACrE,YAAY,CAAC,EAAE,cAAc,CAAC;KAC/B;IAWH;yEACqE;YACvD,eAAe;IAQ7B,iEAAiE;YACnD,YAAY;IAkB1B;;;;wEAIoE;IACpE,OAAO,CAAC,oBAAoB;IAyC5B,kFAAkF;IAC5E,GAAG,IAAI,OAAO,CAAC,IAAI,CAAC;IAe1B;;;;;;;;;;;;;;OAcG;IACG,eAAe,CACnB,QAAQ,EAAE,cAAc,CAAC,UAAU,CAAC,GAAG,MAAM,CAAC,cAAc,EAC5D,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,UAAU,EAAE,MAAM,EAC7C,aAAa,GAAE,aAAkC,GAChD,OAAO,CAAC,IAAI,CAAC;YAgCF,QAAQ;CA2IvB"}
package/dist/types.d.ts CHANGED
@@ -23,6 +23,8 @@ export declare enum MethodType {
23
23
  * - `PIPE` — Stdio worker (the standalone {@link VgiRpcServer} loop).
24
24
  * - `HTTP` — Fetch-style HTTP handler (`createHttpHandler`).
25
25
  * - `UNIX` — AF_UNIX socket handler (the launcher path).
26
+ * - `TCP` — AF_INET socket handler. Raw Arrow-IPC framing over a bare TCP
27
+ * socket — no auth/TLS; use `HTTP` for untrusted networks.
26
28
  */
27
29
  export declare enum TransportKind {
28
30
  /** Stdio worker — the standalone {@link VgiRpcServer} loop. */
@@ -30,7 +32,10 @@ export declare enum TransportKind {
30
32
  /** Fetch-style HTTP handler (`createHttpHandler`). */
31
33
  HTTP = "http",
32
34
  /** AF_UNIX socket handler (the launcher path). */
33
- UNIX = "unix"
35
+ UNIX = "unix",
36
+ /** AF_INET (TCP) socket handler. Raw Arrow-IPC framing over a bare TCP
37
+ * socket — no authentication or TLS; trusted networks only. */
38
+ TCP = "tcp"
34
39
  }
35
40
  /**
36
41
  * Optional lifecycle hook fired once per process before the first
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@query-farm/vgi-rpc",
3
- "version": "0.7.5",
3
+ "version": "0.9.0",
4
4
  "license": "Apache-2.0",
5
5
  "homepage": "https://vgi-rpc-typescript.query.farm",
6
6
  "repository": {
@@ -22,4 +22,5 @@ export type {
22
22
  PipeConnectOptions,
23
23
  StreamSession,
24
24
  SubprocessConnectOptions,
25
+ TcpConnectOptions,
25
26
  } from "./types.js";
@@ -0,0 +1,68 @@
1
+ // © Copyright 2025-2026, Query.Farm LLC - https://query.farm
2
+ // SPDX-License-Identifier: Apache-2.0
3
+
4
+ /**
5
+ * Raw-TCP RPC client.
6
+ *
7
+ * Node/Bun only — statically imports `node:net`, so this module is exported
8
+ * exclusively from the node barrel (`src/index.ts`), never from the
9
+ * runtime-agnostic core (which is re-exported into browser/workerd bundles).
10
+ *
11
+ * SECURITY: raw TCP carries no authentication or TLS — connect only to
12
+ * trusted endpoints. Use `httpConnect` for untrusted networks.
13
+ */
14
+
15
+ import { connect } from "node:net";
16
+ import type { RpcClient } from "./connect.js";
17
+ import { pipeConnect } from "./pipe.js";
18
+ import type { TcpConnectOptions } from "./types.js";
19
+
20
+ /**
21
+ * Connect to a vgi-rpc server over a raw TCP socket and wrap it with
22
+ * {@link pipeConnect}. The network analog of `subprocessConnect`: identical
23
+ * lockstep raw Arrow-IPC framing, only the transport differs. Nagle's
24
+ * algorithm is disabled (`setNoDelay(true)`) so lockstep requests are not
25
+ * delayed coalescing writes. The returned client's {@link RpcClient.close}
26
+ * also destroys the socket.
27
+ *
28
+ * SECURITY: raw TCP carries **no authentication or TLS** — only connect to
29
+ * trusted endpoints. Use `httpConnect` for untrusted networks.
30
+ *
31
+ * @param host Hostname or IP address of the TCP server.
32
+ * @param port TCP port of the server.
33
+ * @param options Optional log/external-location configuration.
34
+ */
35
+ export function tcpConnect(host: string, port: number, options?: TcpConnectOptions): RpcClient {
36
+ const socket = connect({ host, port });
37
+ socket.setNoDelay(true);
38
+ // Swallow socket errors so an EPIPE/ECONNRESET doesn't crash the process;
39
+ // the in-flight call surfaces the failure as an EOF on the reader instead.
40
+ socket.on("error", () => {});
41
+
42
+ const readable = socket as unknown as ReadableStream<Uint8Array>;
43
+ const writable = {
44
+ write(data: Uint8Array): void {
45
+ socket.write(data);
46
+ },
47
+ end(): void {
48
+ socket.end();
49
+ },
50
+ };
51
+
52
+ const client = pipeConnect(readable, writable, {
53
+ onLog: options?.onLog,
54
+ externalLocation: options?.externalLocation,
55
+ });
56
+
57
+ const originalClose = client.close;
58
+ client.close = () => {
59
+ originalClose.call(client);
60
+ try {
61
+ socket.destroy();
62
+ } catch {
63
+ // Socket may already be closed
64
+ }
65
+ };
66
+
67
+ return client;
68
+ }
@@ -49,6 +49,14 @@ export interface PipeConnectOptions {
49
49
  externalLocation?: import("../external.js").ExternalLocationConfig;
50
50
  }
51
51
 
52
+ /**
53
+ * Options for {@link tcpConnect}, the raw-TCP-socket RPC client.
54
+ *
55
+ * SECURITY: raw TCP carries no authentication or TLS — connect only to
56
+ * trusted endpoints (use {@link httpConnect} for untrusted networks).
57
+ */
58
+ export interface TcpConnectOptions extends PipeConnectOptions {}
59
+
52
60
  /** Options for {@link subprocessConnect}, which spawns a server process and pipes to it. */
53
61
  export interface SubprocessConnectOptions extends PipeConnectOptions {
54
62
  /** Working directory for the spawned process. Defaults to the current directory. */
package/src/index.core.ts CHANGED
@@ -92,6 +92,7 @@ export {
92
92
  uint64,
93
93
  } from "./schema.js";
94
94
  export { VgiRpcServer } from "./server.js";
95
+ export { serveStream, type ServeStreamOptions } from "./serve-stream.js";
95
96
  export {
96
97
  type CallContext,
97
98
  type CallStatistics,
package/src/index.ts CHANGED
@@ -1,6 +1,9 @@
1
1
  // © Copyright 2025-2026, Query.Farm LLC - https://query.farm
2
2
  // SPDX-License-Identifier: Apache-2.0
3
3
 
4
+ // Node-only raw-TCP client (statically imports `node:net`, so it lives outside
5
+ // the runtime-agnostic core that browser/workerd bundles re-export).
6
+ export { tcpConnect } from "./client/tcp.js";
4
7
  // Full node/bun barrel: the runtime-agnostic core plus the node-only AF_UNIX
5
8
  // launcher. Cloudflare Worker / browser builds resolve `./index.workerd.ts`
6
9
  // (the `workerd`/`worker`/`browser` export conditions) instead, which omits
@@ -16,10 +19,13 @@ export {
16
19
  type LaunchConfig,
17
20
  launch,
18
21
  probeSocket,
22
+ type ServeTcpHandle,
23
+ type ServeTcpOptions,
19
24
  type ServeUnixHandle,
20
25
  type ServeUnixOptions,
21
26
  type SocketPaths,
22
27
  type StatusRow,
28
+ serveTcp,
23
29
  serveUnix,
24
30
  socketPaths,
25
31
  statusRows,
@@ -22,6 +22,7 @@
22
22
  export { computeHash } from "./hash.js";
23
23
  export { type LaunchConfig, launch } from "./launch.js";
24
24
  export { acquireLock, type FileLockHandle, tryAcquireLock } from "./lock.js";
25
+ export { type ServeTcpHandle, type ServeTcpOptions, serveTcp } from "./serve-tcp.js";
25
26
  export { type ServeUnixHandle, type ServeUnixOptions, serveUnix } from "./serve-unix.js";
26
27
  export {
27
28
  defaultStateDir,