Skip to content

@egain/ai-agent-sdk API Reference - v0.3.2 / 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.