Documentation / @agentick/gateway / Gateway
Class: Gateway
Defined in: gateway/src/gateway.ts:199
@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:270
Parameters
config
Returns
Gateway
Overrides
EventEmitter.constructor
Accessors
id
Get Signature
get id():
string
Defined in: gateway/src/gateway.ts:788
Get the gateway ID
Returns
string
running
Get Signature
get running():
boolean
Defined in: gateway/src/gateway.ts:781
Check if running
Returns
boolean
status
Get Signature
get status():
object
Defined in: gateway/src/gateway.ts:768
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:585
Alias for stop() - useful for embedded mode cleanup
Returns
Promise<void>
closeSession()
closeSession(
sessionKey):Promise<void>
Defined in: gateway/src/gateway.ts:621
Close a session and clean up managed state.
Parameters
sessionKey
string
Returns
Promise<void>
createLocalTransport()
createLocalTransport():
ClientTransport
Defined in: gateway/src/gateway.ts:756
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
emit()
emit<
K>(event,payload):boolean
Defined in: gateway/src/gateway.ts:2483
Type Parameters
K
K extends keyof GatewayEvents
Parameters
event
K
payload
Returns
boolean
Inherited from
EventEmitter.emit
getPlugin()
getPlugin<
T>(id):T|undefined
Defined in: gateway/src/gateway.ts:2236
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:812
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
// Express middleware
app.use("/api", (req, res, next) => {
gateway.handleRequest(req, res).catch(next);
});listPlugins()
listPlugins():
object[]
Defined in: gateway/src/gateway.ts:2243
List all registered plugins with their registered methods.
Returns
object[]
on()
on<
K>(event,listener):this
Defined in: gateway/src/gateway.ts:2482
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:2217
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:665
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
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:597
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:528
Start the gateway (standalone mode only)
Returns
Promise<void>
stop()
stop():
Promise<void>
Defined in: gateway/src/gateway.ts:558
Stop the gateway
Returns
Promise<void>
subscribe()
subscribe(
sessionKey,clientId):Promise<void>
Defined in: gateway/src/gateway.ts:630
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:648
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:2196
Register a plugin. Calls plugin.initialize() with a PluginContext. Throws if a plugin with the same id is already registered.
Parameters
plugin
Returns
Promise<void>