Constructors

Methods

  • Close the connection to the server.

    Parameters

    • waitForSessionTermination: boolean = true

      Wait for the server's Termination frame before closing the socket. While waiting you still receive the final transcript and the session information.

    • terminationTimeout: number = DEFAULT_TERMINATION_TIMEOUT_MS

      How long to wait for that frame, in milliseconds. 0 waits indefinitely. The socket closes either way.

    Returns Promise<void>

  • Open the streaming session.

    Resolves with the server's Begin event once the handshake completes. A single attempt is bounded by connectTimeout (default 1000ms); transient failures (timeout, network drop, unexpected close) are retried up to maxConnectionRetries times (default 2), waiting connectionRetryDelay (default 500ms) between attempts. Permanent failures (auth, insufficient funds, malformed config) are not retried.

    Unlike previously, a failed connection now rejects this promise rather than only invoking the error listener — necessary for the caller (and the retry loop) to observe the failure.

    Returns Promise<BeginEvent>

  • Reset the server's inactivity timer. Only needed when the session was created with inactivityTimeout and no audio is being sent.

    Returns void

  • Send PCM audio.

    In single-channel mode, audio is forwarded directly to the WebSocket and options is ignored.

    In dual-channel mode (when channels is configured), options.channel is REQUIRED and must match one of the declared channel names. Per-channel PCM is fed into that channel's VAD, accumulated into a per-channel ring buffer, and a scheduled flush (channelAttribution.flushIntervalMs, default 50ms) mixes the buffers into mono before sending to the WebSocket.

    Parameters

    • audio: ArrayBufferLike
    • Optionaloptions: SendAudioOptions

    Returns void

  • Returns a WritableStream that pumps PCM chunks into sendAudio. Single-channel only — in dual-channel mode use sendAudio(pcm, { channel }) directly, since WritableStream has no place to carry a channel tag.

    Returns WritableStream<ArrayBufferLike>