@agentick/gateway 0.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +477 -0
- package/dist/agent-registry.d.ts +51 -0
- package/dist/agent-registry.d.ts.map +1 -0
- package/dist/agent-registry.js +78 -0
- package/dist/agent-registry.js.map +1 -0
- package/dist/app-registry.d.ts +51 -0
- package/dist/app-registry.d.ts.map +1 -0
- package/dist/app-registry.js +78 -0
- package/dist/app-registry.js.map +1 -0
- package/dist/bin.d.ts +8 -0
- package/dist/bin.d.ts.map +1 -0
- package/dist/bin.js +37 -0
- package/dist/bin.js.map +1 -0
- package/dist/gateway.d.ts +165 -0
- package/dist/gateway.d.ts.map +1 -0
- package/dist/gateway.js +1339 -0
- package/dist/gateway.js.map +1 -0
- package/dist/http-transport.d.ts +65 -0
- package/dist/http-transport.d.ts.map +1 -0
- package/dist/http-transport.js +517 -0
- package/dist/http-transport.js.map +1 -0
- package/dist/index.d.ts +16 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +23 -0
- package/dist/index.js.map +1 -0
- package/dist/protocol.d.ts +162 -0
- package/dist/protocol.d.ts.map +1 -0
- package/dist/protocol.js +16 -0
- package/dist/protocol.js.map +1 -0
- package/dist/session-manager.d.ts +101 -0
- package/dist/session-manager.d.ts.map +1 -0
- package/dist/session-manager.js +208 -0
- package/dist/session-manager.js.map +1 -0
- package/dist/testing.d.ts +92 -0
- package/dist/testing.d.ts.map +1 -0
- package/dist/testing.js +129 -0
- package/dist/testing.js.map +1 -0
- package/dist/transport-protocol.d.ts +162 -0
- package/dist/transport-protocol.d.ts.map +1 -0
- package/dist/transport-protocol.js +16 -0
- package/dist/transport-protocol.js.map +1 -0
- package/dist/transport.d.ts +115 -0
- package/dist/transport.d.ts.map +1 -0
- package/dist/transport.js +56 -0
- package/dist/transport.js.map +1 -0
- package/dist/types.d.ts +314 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +37 -0
- package/dist/types.js.map +1 -0
- package/dist/websocket-server.d.ts +87 -0
- package/dist/websocket-server.d.ts.map +1 -0
- package/dist/websocket-server.js +245 -0
- package/dist/websocket-server.js.map +1 -0
- package/dist/ws-transport.d.ts +17 -0
- package/dist/ws-transport.d.ts.map +1 -0
- package/dist/ws-transport.js +174 -0
- package/dist/ws-transport.js.map +1 -0
- package/package.json +51 -0
- package/src/__tests__/custom-methods.spec.ts +220 -0
- package/src/__tests__/gateway-methods.spec.ts +262 -0
- package/src/__tests__/gateway.spec.ts +404 -0
- package/src/__tests__/guards.spec.ts +235 -0
- package/src/__tests__/protocol.spec.ts +58 -0
- package/src/__tests__/session-manager.spec.ts +220 -0
- package/src/__tests__/ws-transport.spec.ts +246 -0
- package/src/app-registry.ts +103 -0
- package/src/bin.ts +38 -0
- package/src/gateway.ts +1712 -0
- package/src/http-transport.ts +623 -0
- package/src/index.ts +94 -0
- package/src/session-manager.ts +272 -0
- package/src/testing.ts +236 -0
- package/src/transport-protocol.ts +249 -0
- package/src/transport.ts +191 -0
- package/src/types.ts +392 -0
- package/src/websocket-server.ts +303 -0
- package/src/ws-transport.ts +205 -0
|
@@ -0,0 +1,78 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* App Registry
|
|
3
|
+
*
|
|
4
|
+
* Manages available apps and their configurations.
|
|
5
|
+
*/
|
|
6
|
+
export class AppRegistry {
|
|
7
|
+
apps = new Map();
|
|
8
|
+
defaultAppId;
|
|
9
|
+
constructor(apps, defaultApp) {
|
|
10
|
+
if (!apps[defaultApp]) {
|
|
11
|
+
throw new Error(`Default app "${defaultApp}" not found in apps: ${Object.keys(apps).join(", ")}`);
|
|
12
|
+
}
|
|
13
|
+
this.defaultAppId = defaultApp;
|
|
14
|
+
for (const [id, app] of Object.entries(apps)) {
|
|
15
|
+
this.apps.set(id, {
|
|
16
|
+
id,
|
|
17
|
+
app,
|
|
18
|
+
isDefault: id === defaultApp,
|
|
19
|
+
});
|
|
20
|
+
}
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Get an app by ID
|
|
24
|
+
*/
|
|
25
|
+
get(id) {
|
|
26
|
+
return this.apps.get(id);
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Get the default app
|
|
30
|
+
*/
|
|
31
|
+
getDefault() {
|
|
32
|
+
return this.apps.get(this.defaultAppId);
|
|
33
|
+
}
|
|
34
|
+
/**
|
|
35
|
+
* Get the default app ID
|
|
36
|
+
*/
|
|
37
|
+
get defaultId() {
|
|
38
|
+
return this.defaultAppId;
|
|
39
|
+
}
|
|
40
|
+
/**
|
|
41
|
+
* Check if an app exists
|
|
42
|
+
*/
|
|
43
|
+
has(id) {
|
|
44
|
+
return this.apps.has(id);
|
|
45
|
+
}
|
|
46
|
+
/**
|
|
47
|
+
* Get all app IDs
|
|
48
|
+
*/
|
|
49
|
+
ids() {
|
|
50
|
+
return Array.from(this.apps.keys());
|
|
51
|
+
}
|
|
52
|
+
/**
|
|
53
|
+
* Get all apps
|
|
54
|
+
*/
|
|
55
|
+
all() {
|
|
56
|
+
return Array.from(this.apps.values());
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Get app count
|
|
60
|
+
*/
|
|
61
|
+
get size() {
|
|
62
|
+
return this.apps.size;
|
|
63
|
+
}
|
|
64
|
+
/**
|
|
65
|
+
* Resolve an app ID, falling back to default
|
|
66
|
+
*/
|
|
67
|
+
resolve(id) {
|
|
68
|
+
if (!id) {
|
|
69
|
+
return this.getDefault();
|
|
70
|
+
}
|
|
71
|
+
const app = this.apps.get(id);
|
|
72
|
+
if (!app) {
|
|
73
|
+
throw new Error(`Unknown app "${id}". Available: ${this.ids().join(", ")}`);
|
|
74
|
+
}
|
|
75
|
+
return app;
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
//# sourceMappingURL=app-registry.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"app-registry.js","sourceRoot":"","sources":["../src/app-registry.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAYH,MAAM,OAAO,WAAW;IACd,IAAI,GAAG,IAAI,GAAG,EAAmB,CAAC;IAClC,YAAY,CAAS;IAE7B,YAAY,IAAyB,EAAE,UAAkB;QACvD,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,gBAAgB,UAAU,wBAAwB,MAAM,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CACjF,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,YAAY,GAAG,UAAU,CAAC;QAE/B,KAAK,MAAM,CAAC,EAAE,EAAE,GAAG,CAAC,IAAI,MAAM,CAAC,OAAO,CAAC,IAAI,CAAC,EAAE,CAAC;YAC7C,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,EAAE;gBAChB,EAAE;gBACF,GAAG;gBACH,SAAS,EAAE,EAAE,KAAK,UAAU;aAC7B,CAAC,CAAC;QACL,CAAC;IACH,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,UAAU;QACR,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,YAAY,CAAE,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,IAAI,SAAS;QACX,OAAO,IAAI,CAAC,YAAY,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,GAAG,CAAC,EAAU;QACZ,OAAO,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;IAC3B,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,CAAC;IACtC,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IACxC,CAAC;IAED;;OAEG;IACH,IAAI,IAAI;QACN,OAAO,IAAI,CAAC,IAAI,CAAC,IAAI,CAAC;IACxB,CAAC;IAED;;OAEG;IACH,OAAO,CAAC,EAAW;QACjB,IAAI,CAAC,EAAE,EAAE,CAAC;YACR,OAAO,IAAI,CAAC,UAAU,EAAE,CAAC;QAC3B,CAAC;QAED,MAAM,GAAG,GAAG,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;QAC9B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,KAAK,CAAC,gBAAgB,EAAE,iBAAiB,IAAI,CAAC,GAAG,EAAE,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAAC,CAAC;QAC9E,CAAC;QAED,OAAO,GAAG,CAAC;IACb,CAAC;CACF"}
|
package/dist/bin.d.ts
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.d.ts","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;GAIG"}
|
package/dist/bin.js
ADDED
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* Gateway CLI
|
|
4
|
+
*
|
|
5
|
+
* Run the gateway daemon from the command line.
|
|
6
|
+
*/
|
|
7
|
+
import { createGateway } from "./gateway.js";
|
|
8
|
+
// For now, just a placeholder that shows usage
|
|
9
|
+
console.log("@agentick/gateway");
|
|
10
|
+
console.log("");
|
|
11
|
+
console.log("Usage:");
|
|
12
|
+
console.log(" The gateway is typically started programmatically:");
|
|
13
|
+
console.log("");
|
|
14
|
+
console.log(" ```typescript");
|
|
15
|
+
console.log(" import { createGateway } from '@agentick/gateway';");
|
|
16
|
+
console.log(" import { createApp } from '@agentick/core';");
|
|
17
|
+
console.log("");
|
|
18
|
+
console.log(" const Agent = () => (");
|
|
19
|
+
console.log(" <>");
|
|
20
|
+
console.log(" <Model model={gpt4} />");
|
|
21
|
+
console.log(" <System>You are a helpful assistant.</System>");
|
|
22
|
+
console.log(" <Timeline />");
|
|
23
|
+
console.log(" </>");
|
|
24
|
+
console.log(" );");
|
|
25
|
+
console.log("");
|
|
26
|
+
console.log(" const gateway = createGateway({");
|
|
27
|
+
console.log(" agents: { chat: createApp(Agent) },");
|
|
28
|
+
console.log(" defaultAgent: 'chat',");
|
|
29
|
+
console.log(" port: 18789,");
|
|
30
|
+
console.log(" });");
|
|
31
|
+
console.log("");
|
|
32
|
+
console.log(" await gateway.start();");
|
|
33
|
+
console.log(" ```");
|
|
34
|
+
console.log("");
|
|
35
|
+
console.log("Future versions will support a config file:");
|
|
36
|
+
console.log(" agentick-gateway --config ./gateway.config.ts");
|
|
37
|
+
//# sourceMappingURL=bin.js.map
|
package/dist/bin.js.map
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"bin.js","sourceRoot":"","sources":["../src/bin.ts"],"names":[],"mappings":";AACA;;;;GAIG;AAEH,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAE7C,+CAA+C;AAC/C,OAAO,CAAC,GAAG,CAAC,mBAAmB,CAAC,CAAC;AACjC,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtB,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,iBAAiB,CAAC,CAAC;AAC/B,OAAO,CAAC,GAAG,CAAC,sDAAsD,CAAC,CAAC;AACpE,OAAO,CAAC,GAAG,CAAC,+CAA+C,CAAC,CAAC;AAC7D,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,yBAAyB,CAAC,CAAC;AACvC,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC,CAAC;AACtB,OAAO,CAAC,GAAG,CAAC,8BAA8B,CAAC,CAAC;AAC5C,OAAO,CAAC,GAAG,CAAC,qDAAqD,CAAC,CAAC;AACnE,OAAO,CAAC,GAAG,CAAC,oBAAoB,CAAC,CAAC;AAClC,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;AACvB,OAAO,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;AACpB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,mCAAmC,CAAC,CAAC;AACjD,OAAO,CAAC,GAAG,CAAC,yCAAyC,CAAC,CAAC;AACvD,OAAO,CAAC,GAAG,CAAC,2BAA2B,CAAC,CAAC;AACzC,OAAO,CAAC,GAAG,CAAC,kBAAkB,CAAC,CAAC;AAChC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,0BAA0B,CAAC,CAAC;AACxC,OAAO,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC;AACrB,OAAO,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC;AAChB,OAAO,CAAC,GAAG,CAAC,6CAA6C,CAAC,CAAC;AAC3D,OAAO,CAAC,GAAG,CAAC,iDAAiD,CAAC,CAAC"}
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Gateway
|
|
3
|
+
*
|
|
4
|
+
* Standalone daemon for multi-client, multi-app access.
|
|
5
|
+
* Transport-agnostic: supports both WebSocket and HTTP/SSE.
|
|
6
|
+
*
|
|
7
|
+
* Can run standalone or embedded in an external framework.
|
|
8
|
+
*/
|
|
9
|
+
import { EventEmitter } from "events";
|
|
10
|
+
import type { IncomingMessage as NodeRequest, ServerResponse as NodeResponse } from "http";
|
|
11
|
+
import type { GatewayConfig, GatewayEvents } from "./types.js";
|
|
12
|
+
import type { StatusPayload } from "./transport-protocol.js";
|
|
13
|
+
export declare class Gateway extends EventEmitter {
|
|
14
|
+
private config;
|
|
15
|
+
private registry;
|
|
16
|
+
private sessions;
|
|
17
|
+
private transports;
|
|
18
|
+
private startTime;
|
|
19
|
+
private isRunning;
|
|
20
|
+
private embedded;
|
|
21
|
+
/** Pre-compiled map of method paths to procedures */
|
|
22
|
+
private methodProcedures;
|
|
23
|
+
/** Track open SSE connections for embedded mode */
|
|
24
|
+
private sseClients;
|
|
25
|
+
/** Track channel subscriptions: "sessionId:channelName" -> Set of clientIds */
|
|
26
|
+
private channelSubscriptions;
|
|
27
|
+
/** Track unsubscribe functions for core session channels */
|
|
28
|
+
private coreChannelUnsubscribes;
|
|
29
|
+
/** Track client connection times for duration calculation */
|
|
30
|
+
private clientConnectedAt;
|
|
31
|
+
/** Sequence counter for DevTools events */
|
|
32
|
+
private devToolsSequence;
|
|
33
|
+
constructor(config: GatewayConfig);
|
|
34
|
+
/**
|
|
35
|
+
* Walk the methods tree and wrap all handlers as procedures.
|
|
36
|
+
* Infers full path name (e.g., "tasks:admin:archive") automatically.
|
|
37
|
+
*/
|
|
38
|
+
private initializeMethods;
|
|
39
|
+
/**
|
|
40
|
+
* Get a method's procedure by path (supports both ":" and "." separators)
|
|
41
|
+
*/
|
|
42
|
+
private getMethodProcedure;
|
|
43
|
+
private initializeTransports;
|
|
44
|
+
private setupTransportHandlers;
|
|
45
|
+
/**
|
|
46
|
+
* Start the gateway (standalone mode only)
|
|
47
|
+
*/
|
|
48
|
+
start(): Promise<void>;
|
|
49
|
+
/**
|
|
50
|
+
* Stop the gateway
|
|
51
|
+
*/
|
|
52
|
+
stop(): Promise<void>;
|
|
53
|
+
/**
|
|
54
|
+
* Alias for stop() - useful for embedded mode cleanup
|
|
55
|
+
*/
|
|
56
|
+
close(): Promise<void>;
|
|
57
|
+
/**
|
|
58
|
+
* Get gateway status
|
|
59
|
+
*/
|
|
60
|
+
get status(): StatusPayload["gateway"];
|
|
61
|
+
/**
|
|
62
|
+
* Check if running
|
|
63
|
+
*/
|
|
64
|
+
get running(): boolean;
|
|
65
|
+
/**
|
|
66
|
+
* Get the gateway ID
|
|
67
|
+
*/
|
|
68
|
+
get id(): string;
|
|
69
|
+
/**
|
|
70
|
+
* Handle an HTTP request (embedded mode).
|
|
71
|
+
* This is the main entry point when Gateway is embedded in an external framework.
|
|
72
|
+
*
|
|
73
|
+
* @param req - Node.js IncomingMessage (or Express/Koa/etc request)
|
|
74
|
+
* @param res - Node.js ServerResponse (or Express/Koa/etc response)
|
|
75
|
+
* @returns Promise that resolves when request is handled (may reject on error)
|
|
76
|
+
*
|
|
77
|
+
* @example
|
|
78
|
+
* ```typescript
|
|
79
|
+
* // Express middleware
|
|
80
|
+
* app.use("/api", (req, res, next) => {
|
|
81
|
+
* gateway.handleRequest(req, res).catch(next);
|
|
82
|
+
* });
|
|
83
|
+
* ```
|
|
84
|
+
*/
|
|
85
|
+
handleRequest(req: NodeRequest, res: NodeResponse): Promise<void>;
|
|
86
|
+
private handleSSE;
|
|
87
|
+
/**
|
|
88
|
+
* Clean up channel subscriptions for a disconnected client.
|
|
89
|
+
*/
|
|
90
|
+
private cleanupClientChannelSubscriptions;
|
|
91
|
+
private handleSend;
|
|
92
|
+
private handleInvoke;
|
|
93
|
+
private handleSubscribe;
|
|
94
|
+
private handleAbort;
|
|
95
|
+
private handleCloseEndpoint;
|
|
96
|
+
/**
|
|
97
|
+
* Channel endpoint - handles channel pub/sub operations.
|
|
98
|
+
*/
|
|
99
|
+
private handleChannel;
|
|
100
|
+
/**
|
|
101
|
+
* Subscribe a client to a session's channel.
|
|
102
|
+
* Sets up forwarding from core session channel to SSE clients.
|
|
103
|
+
*/
|
|
104
|
+
private subscribeToChannel;
|
|
105
|
+
/**
|
|
106
|
+
* Forward a channel event to all subscribed SSE clients.
|
|
107
|
+
*/
|
|
108
|
+
private forwardChannelEvent;
|
|
109
|
+
/**
|
|
110
|
+
* Publish an event to a session's channel.
|
|
111
|
+
*/
|
|
112
|
+
private publishToChannel;
|
|
113
|
+
private parseBody;
|
|
114
|
+
private handleTransportRequest;
|
|
115
|
+
private executeMethod;
|
|
116
|
+
/**
|
|
117
|
+
* Execute a custom method within Agentick ALS context.
|
|
118
|
+
*/
|
|
119
|
+
private executeCustomMethod;
|
|
120
|
+
private handleSendMethod;
|
|
121
|
+
/**
|
|
122
|
+
* Execute a message and stream events to subscribers.
|
|
123
|
+
*
|
|
124
|
+
* @param sessionId - The session key as provided by client (may be unnormalized)
|
|
125
|
+
* @param coreSession - The core session instance
|
|
126
|
+
* @param messageText - The message text to send
|
|
127
|
+
*
|
|
128
|
+
* IMPORTANT: Uses the original sessionId for events to ensure client matching.
|
|
129
|
+
*/
|
|
130
|
+
private executeAndStream;
|
|
131
|
+
private sendEventToSubscribers;
|
|
132
|
+
/**
|
|
133
|
+
* Direct send handler for HTTP transport.
|
|
134
|
+
* Returns an async generator that yields events for streaming.
|
|
135
|
+
* Accepts full Message object to support multimodal content (images, audio, video, docs).
|
|
136
|
+
*
|
|
137
|
+
* IMPORTANT: Uses the original sessionId (as provided by client) for events,
|
|
138
|
+
* not the normalized internal ID. This ensures clients can match events to their sessions.
|
|
139
|
+
*/
|
|
140
|
+
private directSend;
|
|
141
|
+
/**
|
|
142
|
+
* Invoke a custom method directly (for HTTP transport).
|
|
143
|
+
* Called with pre-authenticated user context.
|
|
144
|
+
*/
|
|
145
|
+
private invokeMethod;
|
|
146
|
+
private handleAbortMethod;
|
|
147
|
+
private handleStatusMethod;
|
|
148
|
+
private handleHistoryMethod;
|
|
149
|
+
private handleResetMethod;
|
|
150
|
+
private handleCloseMethod;
|
|
151
|
+
private handleAppsMethod;
|
|
152
|
+
private handleSessionsMethod;
|
|
153
|
+
private handleSubscribeMethod;
|
|
154
|
+
private handleUnsubscribeMethod;
|
|
155
|
+
private createGatewayContext;
|
|
156
|
+
}
|
|
157
|
+
export interface Gateway {
|
|
158
|
+
on<K extends keyof GatewayEvents>(event: K, listener: (payload: GatewayEvents[K]) => void): this;
|
|
159
|
+
emit<K extends keyof GatewayEvents>(event: K, payload: GatewayEvents[K]): boolean;
|
|
160
|
+
}
|
|
161
|
+
/**
|
|
162
|
+
* Create a gateway instance
|
|
163
|
+
*/
|
|
164
|
+
export declare function createGateway(config: GatewayConfig): Gateway;
|
|
165
|
+
//# sourceMappingURL=gateway.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"gateway.d.ts","sourceRoot":"","sources":["../src/gateway.ts"],"names":[],"mappings":"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"}
|