@query-farm/vgi-rpc 0.8.0 → 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.
- package/dist/index.core.d.ts +1 -0
- package/dist/index.core.d.ts.map +1 -1
- package/dist/index.js +20 -5
- package/dist/index.js.map +5 -4
- package/dist/serve-stream.d.ts +23 -0
- package/dist/serve-stream.d.ts.map +1 -0
- package/dist/server.d.ts +18 -2
- package/dist/server.d.ts.map +1 -1
- package/package.json +1 -1
- package/src/index.core.ts +1 -0
- package/src/serve-stream.ts +38 -0
- package/src/server.ts +31 -10
package/dist/index.core.d.ts
CHANGED
|
@@ -8,5 +8,6 @@ export { ARROW_CONTENT_TYPE, type AuthenticateFn, type BearerValidateFn, bearerA
|
|
|
8
8
|
export { Protocol } from "./protocol.js";
|
|
9
9
|
export { bool, bytes, float, float32, inferParamTypes, int, int8, int16, int32, type SchemaLike, str, toSchema, uint8, uint16, uint32, uint64, } from "./schema.js";
|
|
10
10
|
export { VgiRpcServer } from "./server.js";
|
|
11
|
+
export { serveStream, type ServeStreamOptions } from "./serve-stream.js";
|
|
11
12
|
export { type CallContext, type CallStatistics, type DispatchHook, type DispatchInfo, type ExchangeFn, type ExchangeInit, type HeaderInit, type HookToken, type LogContext, type MethodDefinition, MethodType, OutputCollector, type ProducerFn, type ProducerInit, type ServeStartHook, TransportKind, type UnaryHandler, } from "./types.js";
|
|
12
13
|
//# sourceMappingURL=index.core.d.ts.map
|
package/dist/index.core.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.core.d.ts","sourceRoot":"","sources":["../src/index.core.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,cAAc,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,UAAU,EACf,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,UAAU,EACV,eAAe,EACf,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.core.d.ts","sourceRoot":"","sources":["../src/index.core.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,aAAa,EAAE,KAAK,aAAa,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC5E,OAAO,EAAE,WAAW,EAAE,MAAM,WAAW,CAAC;AACxC,cAAc,mBAAmB,CAAC;AAClC,OAAO,EACL,oBAAoB,EACpB,gBAAgB,EAChB,oBAAoB,EACpB,cAAc,EACd,aAAa,EACb,aAAa,EACb,eAAe,EACf,iBAAiB,EACjB,cAAc,EACd,eAAe,EACf,mBAAmB,EACnB,gBAAgB,EAChB,cAAc,EACd,aAAa,EACb,SAAS,GACV,MAAM,gBAAgB,CAAC;AACxB,OAAO,EACL,iCAAiC,EACjC,0BAA0B,EAC1B,uBAAuB,EACvB,yBAAyB,EACzB,QAAQ,EACR,mBAAmB,EACnB,gBAAgB,EAChB,YAAY,GACb,MAAM,aAAa,CAAC;AACrB,OAAO,EACL,KAAK,sBAAsB,EAC3B,KAAK,eAAe,EACpB,kBAAkB,EAClB,uBAAuB,EACvB,yBAAyB,EACzB,qBAAqB,EACrB,uBAAuB,GACxB,MAAM,eAAe,CAAC;AACvB,OAAO,EACL,kBAAkB,EAClB,KAAK,cAAc,EACnB,KAAK,gBAAgB,EACrB,kBAAkB,EAClB,wBAAwB,EACxB,KAAK,cAAc,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,KAAK,kBAAkB,EACvB,KAAK,sBAAsB,EAC3B,mBAAmB,EACnB,eAAe,EACf,gBAAgB,EAChB,2BAA2B,EAC3B,uBAAuB,EACvB,oBAAoB,EACpB,KAAK,qBAAqB,EAC1B,2BAA2B,EAC3B,SAAS,EACT,KAAK,eAAe,EACpB,KAAK,aAAa,EAClB,gBAAgB,EAChB,KAAK,WAAW,EAChB,KAAK,cAAc,GACpB,MAAM,iBAAiB,CAAC;AACzB,OAAO,EAAE,QAAQ,EAAE,MAAM,eAAe,CAAC;AACzC,OAAO,EACL,IAAI,EACJ,KAAK,EACL,KAAK,EACL,OAAO,EACP,eAAe,EACf,GAAG,EACH,IAAI,EACJ,KAAK,EACL,KAAK,EACL,KAAK,UAAU,EACf,GAAG,EACH,QAAQ,EACR,KAAK,EACL,MAAM,EACN,MAAM,EACN,MAAM,GACP,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,WAAW,EAAE,KAAK,kBAAkB,EAAE,MAAM,mBAAmB,CAAC;AACzE,OAAO,EACL,KAAK,WAAW,EAChB,KAAK,cAAc,EACnB,KAAK,YAAY,EACjB,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,UAAU,EACf,KAAK,SAAS,EACd,KAAK,UAAU,EACf,KAAK,gBAAgB,EACrB,UAAU,EACV,eAAe,EACf,KAAK,UAAU,EACf,KAAK,YAAY,EACjB,KAAK,cAAc,EACnB,aAAa,EACb,KAAK,YAAY,GAClB,MAAM,YAAY,CAAC"}
|
package/dist/index.js
CHANGED
|
@@ -8664,17 +8664,20 @@ class VgiRpcServer {
|
|
|
8664
8664
|
` + ` Direction: ${direction}`);
|
|
8665
8665
|
}
|
|
8666
8666
|
async run() {
|
|
8667
|
-
const stdin = process.stdin;
|
|
8668
8667
|
if (process.stdin.isTTY || process.stdout.isTTY) {
|
|
8669
8668
|
process.stderr.write("WARNING: This process communicates via Arrow IPC on stdin/stdout " + `and is not intended to be run interactively.
|
|
8670
8669
|
` + "It should be launched as a subprocess by an RPC client " + `(e.g. vgi_rpc.connect()).
|
|
8671
8670
|
`);
|
|
8672
8671
|
}
|
|
8673
|
-
const
|
|
8674
|
-
|
|
8672
|
+
const stdin = process.stdin;
|
|
8673
|
+
await this.serveConnection(stdin);
|
|
8674
|
+
}
|
|
8675
|
+
async serveConnection(readable, writable, transportKind = "pipe" /* PIPE */) {
|
|
8676
|
+
const reader = await IpcStreamReader.create(readable);
|
|
8677
|
+
const writer = new IpcStreamWriter(writable);
|
|
8675
8678
|
try {
|
|
8676
8679
|
while (true) {
|
|
8677
|
-
await this.notifyTransport(
|
|
8680
|
+
await this.notifyTransport(transportKind);
|
|
8678
8681
|
await this.serveOne(reader, writer);
|
|
8679
8682
|
}
|
|
8680
8683
|
} catch (e) {
|
|
@@ -8791,6 +8794,17 @@ class VgiRpcServer {
|
|
|
8791
8794
|
}
|
|
8792
8795
|
}
|
|
8793
8796
|
}
|
|
8797
|
+
// src/serve-stream.ts
|
|
8798
|
+
//! Serve a protocol over a caller-provided byte-stream pair — the stream
|
|
8799
|
+
//! sibling of `serveTcp` / `serveUnix`, with no socket/listener of its own.
|
|
8800
|
+
//!
|
|
8801
|
+
//! Useful for transports the launcher helpers don't cover: a Web Worker /
|
|
8802
|
+
//! `MessagePort` bridge (postMessage), an in-memory pipe, or a pre-connected
|
|
8803
|
+
//! socket. The host side already has this symmetry via `pipeConnect`.
|
|
8804
|
+
async function serveStream(protocol, options) {
|
|
8805
|
+
const server = new VgiRpcServer(protocol, options.serverOptions);
|
|
8806
|
+
await server.serveConnection(options.readable, options.writable, options.transportKind);
|
|
8807
|
+
}
|
|
8794
8808
|
// src/launcher/hash.ts
|
|
8795
8809
|
var HASH_LEN = 16;
|
|
8796
8810
|
function canonicalJson(value) {
|
|
@@ -9740,6 +9754,7 @@ export {
|
|
|
9740
9754
|
socketPaths,
|
|
9741
9755
|
serveUnix,
|
|
9742
9756
|
serveTcp,
|
|
9757
|
+
serveStream,
|
|
9743
9758
|
resolveExternalLocation,
|
|
9744
9759
|
probeSocket,
|
|
9745
9760
|
pipeConnect,
|
|
@@ -9820,4 +9835,4 @@ export {
|
|
|
9820
9835
|
ARROW_CONTENT_TYPE
|
|
9821
9836
|
};
|
|
9822
9837
|
|
|
9823
|
-
//# debugId=
|
|
9838
|
+
//# debugId=FD35C475AB9ACBBD64756E2164756E21
|