Skip to content

@egain/ai-agent-sdk API Reference - v0.1.1 / WebSocketTransport

Class: WebSocketTransport

WebSocket-based transport implementation.

This transport uses the native WebSocket API to establish bidirectional communication with the server.

Example

typescript
const transport = new WebSocketTransport({
  endpoint: 'wss://api.example.com/ws'
});

transport.on('message', ({ data }) => {
  console.log('Received:', data);
});

await transport.connect();
await transport.send({ text: 'Hello' });

Hierarchy

Table of contents

Constructors

Methods

Constructors

constructor

new WebSocketTransport(config): WebSocketTransport

Parameters

NameType
configWebSocketTransportConfig

Returns

WebSocketTransport

Overrides

Transport.constructor

Defined in

core/connection/WebSocketTransport.ts:39

Methods

getType

getType(): string

Get the transport type identifier

Returns

string

Overrides

Transport.getType

Defined in

core/connection/WebSocketTransport.ts:47


isConnected

isConnected(): boolean

Check if the WebSocket is currently connected

Returns

boolean

Overrides

Transport.isConnected

Defined in

core/connection/WebSocketTransport.ts:54


connect

connect(): Promise<void>

Establish the WebSocket connection

Returns

Promise<void>

Overrides

Transport.connect

Defined in

core/connection/WebSocketTransport.ts:61


disconnect

disconnect(): void

Close the WebSocket connection

Returns

void

Overrides

Transport.disconnect

Defined in

core/connection/WebSocketTransport.ts:137


send

send(data): Promise<void>

Send data through the WebSocket

Parameters

NameType
dataany

Returns

Promise<void>

Overrides

Transport.send

Defined in

core/connection/WebSocketTransport.ts:150


on

on<K>(event, handler): this

Register an event handler.

The handler will be called every time the event is emitted.

Type parameters

NameType
Kextends keyof TransportEvents

Parameters

NameTypeDescription
eventKThe event name to listen for
handlerEventHandler<TransportEvents[K]>The function to call when the event is emitted

Returns

this

this for method chaining

Example

typescript
agent.on("message", (event) => {
  console.log("Received:", event.payload);
});

Inherited from

Transport.on

Defined in

core/events/EventEmitter.ts:64


once

once<K>(event, handler): this

Register a one-time event handler.

The handler will be called only once, then automatically removed.

Type parameters

NameType
Kextends keyof TransportEvents

Parameters

NameTypeDescription
eventKThe event name to listen for
handlerEventHandler<TransportEvents[K]>The function to call when the event is emitted

Returns

this

this for method chaining

Example

typescript
agent.once("connected", () => {
  console.log("First connection established!");
});

Inherited from

Transport.once

Defined in

core/events/EventEmitter.ts:88


off

off<K>(event, handler?): this

Remove an event handler.

If no handler is specified, removes all handlers for the event.

Type parameters

NameType
Kextends keyof TransportEvents

Parameters

NameTypeDescription
eventKThe event name
handler?EventHandler<TransportEvents[K]>The specific handler to remove (optional)

Returns

this

this for method chaining

Example

typescript
const handler = (event) => console.log(event);
agent.on("message", handler);
agent.off("message", handler);

Example

typescript
agent.off("message");

Inherited from

Transport.off

Defined in

core/events/EventEmitter.ts:117


removeAllListeners

removeAllListeners<K>(event?): this

Remove all event handlers

Type parameters

NameType
Kextends keyof TransportEvents

Parameters

NameType
event?K

Returns

this

Inherited from

Transport.removeAllListeners

Defined in

core/events/EventEmitter.ts:180


listenerCount

listenerCount<K>(event): number

Get the number of listeners for an event

Type parameters

NameType
Kextends keyof TransportEvents

Parameters

NameType
eventK

Returns

number

Inherited from

Transport.listenerCount

Defined in

core/events/EventEmitter.ts:194

Released under the MIT License.