Skip to content

Documentation / @agentick/gateway / Gateway

Class: Gateway ​

Defined in: gateway/src/gateway.ts:193

@agentick/gateway

Standalone daemon for multi-client, multi-agent access. Supports both WebSocket and HTTP/SSE transports.

Extends ​

  • EventEmitter

Constructors ​

Constructor ​

new Gateway(config): Gateway

Defined in: gateway/src/gateway.ts:263

Parameters ​

config ​

GatewayConfig

Returns ​

Gateway

Overrides ​

EventEmitter.constructor

Accessors ​

id ​

Get Signature ​

get id(): string

Defined in: gateway/src/gateway.ts:778

Get the gateway ID

Returns ​

string


running ​

Get Signature ​

get running(): boolean

Defined in: gateway/src/gateway.ts:771

Check if running

Returns ​

boolean


status ​

Get Signature ​

get status(): object

Defined in: gateway/src/gateway.ts:758

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: gateway/src/gateway.ts:575

Alias for stop() - useful for embedded mode cleanup

Returns ​

Promise<void>


closeSession() ​

closeSession(sessionKey): Promise<void>

Defined in: gateway/src/gateway.ts:611

Close a session and clean up managed state.

Parameters ​

sessionKey ​

string

Returns ​

Promise<void>


createLocalTransport() ​

createLocalTransport(): ClientTransport

Defined in: gateway/src/gateway.ts:746

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: gateway/src/gateway.ts:2355

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: gateway/src/gateway.ts:2138

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: gateway/src/gateway.ts:802

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: gateway/src/gateway.ts:2145

List all registered plugins with their registered methods.

Returns ​

object[]


on() ​

on<K>(event, listener): this

Defined in: gateway/src/gateway.ts:2354

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: gateway/src/gateway.ts:2119

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: gateway/src/gateway.ts:655

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: gateway/src/gateway.ts:587

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: gateway/src/gateway.ts:521

Start the gateway (standalone mode only)

Returns ​

Promise<void>


stop() ​

stop(): Promise<void>

Defined in: gateway/src/gateway.ts:551

Stop the gateway

Returns ​

Promise<void>


subscribe() ​

subscribe(sessionKey, clientId): Promise<void>

Defined in: gateway/src/gateway.ts:620

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: gateway/src/gateway.ts:638

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: gateway/src/gateway.ts:2098

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.