Skip to content

Documentation / @agentick/express / Gateway

Class: Gateway

Defined in: packages/gateway/dist/gateway.d.ts:15

Extends

  • EventEmitter

Constructors

Constructor

new Gateway(config): Gateway

Defined in: packages/gateway/dist/gateway.d.ts:55

Parameters

config

GatewayConfig

Returns

Gateway

Overrides

EventEmitter.constructor

Accessors

id

Get Signature

get id(): string

Defined in: packages/gateway/dist/gateway.d.ts:145

Get the gateway ID

Returns

string


running

Get Signature

get running(): boolean

Defined in: packages/gateway/dist/gateway.d.ts:141

Check if running

Returns

boolean


status

Get Signature

get status(): object

Defined in: packages/gateway/dist/gateway.d.ts:137

Get gateway status

Returns

object

apps

apps: string[]

clients

clients: number

id

id: string

sessions

sessions: number

uptime

uptime: number

Methods

close()

close(): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:78

Alias for stop() - useful for embedded mode cleanup

Returns

Promise<void>


closeSession()

closeSession(sessionKey): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:87

Close a session and clean up managed state.

Parameters

sessionKey

string

Returns

Promise<void>


createLocalTransport()

createLocalTransport(): ClientTransport

Defined in: packages/gateway/dist/gateway.d.ts:133

Create an in-process ClientTransport connected to this gateway. Returns a ClientTransport for use with createClient().

Multiple calls create independent clients sharing the same underlying LocalGatewayTransport.

Returns

ClientTransport


emit()

emit<K>(event, payload): boolean

Defined in: packages/gateway/dist/gateway.d.ts:306

Type Parameters

K

K extends keyof GatewayEvents

Parameters

event

K

payload

GatewayEvents[K]

Returns

boolean

Inherited from

EventEmitter.emit


getPlugin()

getPlugin<T>(id): T | undefined

Defined in: packages/gateway/dist/gateway.d.ts:271

Get a registered plugin by id.

Type Parameters

T

T extends GatewayPlugin = GatewayPlugin

Parameters

id

string

Returns

T | undefined


handleRequest()

handleRequest(req, res): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:162

Handle an HTTP request (embedded mode). This is the main entry point when Gateway is embedded in an external framework.

Parameters

req

IncomingMessage

Node.js IncomingMessage (or Express/Koa/etc request)

res

ServerResponse

Node.js ServerResponse (or Express/Koa/etc response)

Returns

Promise<void>

Promise that resolves when request is handled (may reject on error)

Example

typescript
// Express middleware
app.use("/api", (req, res, next) => {
  gateway.handleRequest(req, res).catch(next);
});

listPlugins()

listPlugins(): object[]

Defined in: packages/gateway/dist/gateway.d.ts:275

List all registered plugins with their registered methods.

Returns

object[]


on()

on<K>(event, listener): this

Defined in: packages/gateway/dist/gateway.d.ts:305

Type Parameters

K

K extends keyof GatewayEvents

Parameters

event

K

listener

(payload) => void

Returns

this

Inherited from

EventEmitter.on


remove()

remove(pluginId): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:267

Remove a plugin by id. Calls plugin.destroy() and cleans up its methods. No-op if plugin id is not found.

Parameters

pluginId

string

Returns

Promise<void>


sendToSession()

sendToSession(sessionKey, input, senderClientId?): Promise<SessionExecutionHandle>

Defined in: packages/gateway/dist/gateway.d.ts:106

Send a message to a session and stream events. Broadcasts events to all subscribers (cross-client push), excluding the sender who iterates the handle directly.

Parameters

sessionKey

string

input

SendInput

senderClientId?

string

If provided, this client is excluded from push broadcasts (they get events through direct handle iteration).

Returns

Promise<SessionExecutionHandle>


session()

session(sessionKey): Promise<Session<{ }>>

Defined in: packages/gateway/dist/gateway.d.ts:83

Get or create a session with multi-app routing. Parses session key (e.g., "coding:main") and routes to the correct app.

Parameters

sessionKey

string

Returns

Promise<Session<{ }>>


start()

start(): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:70

Start the gateway (standalone mode only)

Returns

Promise<void>


stop()

stop(): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:74

Stop the gateway

Returns

Promise<void>


subscribe()

subscribe(sessionKey, clientId): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:92

Subscribe a client to session events. Synthetic keys like $plugin:<id> route to plugin broadcast subscribers.

Parameters

sessionKey

string

clientId

string

Returns

Promise<void>


unsubscribe()

unsubscribe(sessionKey, clientId): void

Defined in: packages/gateway/dist/gateway.d.ts:97

Unsubscribe a client from session events. Handles $plugin:<id> synthetic keys.

Parameters

sessionKey

string

clientId

string

Returns

void


use()

use(plugin): Promise<void>

Defined in: packages/gateway/dist/gateway.d.ts:262

Register a plugin. Calls plugin.initialize() with a PluginContext. Throws if a plugin with the same id is already registered.

Parameters

plugin

GatewayPlugin

Returns

Promise<void>

Released under the ISC License.