/** * @kerbal-rt/krpc-client — TypeScript client for the kRPC protobuf * protocol used by the Kerbal Space Program kRPC mod. * * Provides: * - KRPCClient: high-level wrapper with connect/invoke/addStream/close * - sendMessage / recvMessage / recvRawMessage / encodeVarint / decodeVarint: * low-level wire-format helpers * - KRPC namespace: protobufjs types for the kRPC meta-protocol * - KrpcType / TypeCode: runtime representation of kRPC type descriptors * - decodeValue / encodeValue: kRPC value codec (primitives, classes, * enums, collections, system messages) * - ServiceCache: a Type index built from KRPC.GetServices() * - KrpcServices: high-level invoke-by-name client * * For the service-specific types (SpaceCenter.Vessel, Orbit, etc.) we do * NOT need to load the kRPC mod's .proto files. The server's * GetServices() response contains everything we need to encode/decode * values. See ./service-client.ts for the details. */ export { KRPCClient, type ProcedureCallRequest, type KRPCClientOptions, type StreamHandler, } from './client.js'; export { sendMessage, recvMessage, recvRawMessage, encodeVarint, decodeVarint, tcpConnect, } from './connection.js'; export { KRPC, encodeMessage, decodeMessage, MESSAGE_TYPES } from './schema.js'; export { TypeCode, decodeKrpcType, typeName, type KrpcType, type TypeCodeValue, type RawKrpcTypeMessage, } from './types.js'; export { decodeValue, encodeValue, decodeDouble, decodeFloat, decodeSint32, decodeUint32, decodeUint64, decodeBool, decodeString, decodeBytes, type DecodedValue, } from './decoder.js'; export { ServiceCache } from './services.js'; export { KrpcServices, loadServices, type KrpcInvokeError } from './service-client.js';