Skip to content

@egain/ai-agent-sdk API Reference - v0.3.2 / Transport

Class: Transport ​

Abstract base class for transport implementations.

Any transport mechanism (WebSocket, SSE, HTTP polling, etc.) should extend this class and implement the abstract methods.

Example

typescript
class MyCustomTransport extends Transport {
  async connect(): Promise<void> { ... }
  disconnect(): void { ... }
  async send(data: any): Promise<void> { ... }
  isConnected(): boolean { ... }
}

Hierarchy ​

Table of contents ​

Constructors ​

Methods ​

Constructors ​

constructor ​

• new Transport(config): Transport

Parameters ​

NameType
configTransportConfig

Returns ​

Transport

Overrides ​

EventEmitter.constructor

Defined in ​

core/connection/Transport.ts:73

Methods ​

connect ​

▸ connect(): Promise<void>

Establish the transport connection

Returns ​

Promise<void>

Defined in ​

core/connection/Transport.ts:83


disconnect ​

▸ disconnect(): void

Close the transport connection

Returns ​

void

Defined in ​

core/connection/Transport.ts:88


send ​

▸ send(data): Promise<void>

Send data through the transport

Parameters ​

NameTypeDescription
dataanyThe data to send

Returns ​

Promise<void>

Defined in ​

core/connection/Transport.ts:94


isConnected ​

▸ isConnected(): boolean

Check if the transport is currently connected

Returns ​

boolean

Defined in ​

core/connection/Transport.ts:99


getType ​

▸ getType(): string

Get the transport type identifier

Returns ​

string

Defined in ​

core/connection/Transport.ts:104


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 ​

EventEmitter.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 ​

EventEmitter.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 ​

EventEmitter.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 ​

EventEmitter.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 ​

EventEmitter.listenerCount

Defined in ​

core/events/EventEmitter.ts:194

Released under the MIT License.