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:293

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:261

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:265

List all registered plugins with their registered methods.

Returns ​

object[]


on() ​

on<K>(event, listener): this

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

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:257

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:252

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.