Skip to content

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