UNPKG

agents

Version:

A home for your AI agents

72 lines (71 loc) 2.06 kB
//#region src/voice/sfu.d.ts /** * Pure utility functions for the Cloudflare Realtime SFU integration. * * Extracted from sfu.ts for testability. These handle: * - Protobuf varint encoding/decoding * - SFU WebSocket adapter protobuf packet encoding/decoding * - Audio format conversion (48kHz stereo ↔ 16kHz mono) */ declare function decodeVarint( buf: Uint8Array, offset: number ): { value: number; bytesRead: number; }; declare function encodeVarint(value: number): Uint8Array; /** Extract the PCM payload from a protobuf Packet message. */ declare function extractPayloadFromProtobuf( data: ArrayBuffer ): Uint8Array | null; /** Encode PCM payload into a protobuf Packet message (for ingest/buffer mode — just payload). */ declare function encodePayloadToProtobuf(payload: Uint8Array): ArrayBuffer; /** Downsample 48kHz stereo interleaved PCM to 16kHz mono PCM (both 16-bit LE). */ declare function downsample48kStereoTo16kMono( stereo48k: Uint8Array ): ArrayBuffer; /** Upsample 16kHz mono PCM to 48kHz stereo interleaved PCM (both 16-bit LE). */ declare function upsample16kMonoTo48kStereo(mono16k: ArrayBuffer): Uint8Array; interface SFUConfig { appId: string; apiToken: string; } declare function sfuFetch( config: SFUConfig, path: string, body: unknown ): Promise<unknown>; declare function createSFUSession(config: SFUConfig): Promise<{ sessionId: string; }>; declare function addSFUTracks( config: SFUConfig, sessionId: string, body: unknown ): Promise<unknown>; declare function renegotiateSFUSession( config: SFUConfig, sessionId: string, sdp: string ): Promise<unknown>; declare function createSFUWebSocketAdapter( config: SFUConfig, tracks: unknown[] ): Promise<unknown>; //#endregion export { SFUConfig, addSFUTracks, createSFUSession, createSFUWebSocketAdapter, decodeVarint, downsample48kStereoTo16kMono, encodePayloadToProtobuf, encodeVarint, extractPayloadFromProtobuf, renegotiateSFUSession, sfuFetch, upsample16kMonoTo48kStereo }; //# sourceMappingURL=sfu.d.ts.map