hotstaq 0.8.140 → 0.8.141
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/build/src/HotMCPServer.d.ts +55 -49
- package/build/src/HotMCPServer.d.ts.map +1 -1
- package/build/src/HotMCPServer.js +116 -85
- package/build/src/HotMCPServer.js.map +1 -1
- package/build/src/HotStaq.js +1 -1
- package/build-web/HotStaq.js +2 -2
- package/build-web/HotStaq.min.js +66 -66
- package/package.json +1 -1
- package/src/HotMCPServer.ts +137 -121
- package/src/HotStaq.ts +1 -1
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import express from "express";
|
|
2
2
|
import { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
3
|
-
import { SSEServerTransport } from "@modelcontextprotocol/sdk/server/sse.js";
|
|
4
3
|
import { CallToolResult } from "@modelcontextprotocol/sdk/types.js";
|
|
5
4
|
import { HotAPI } from "./HotAPI";
|
|
6
5
|
import { ServerAuthorizationFunction } from "./HotRouteMethod";
|
|
@@ -45,11 +44,19 @@ interface MCPToolDefinition {
|
|
|
45
44
|
methodName: string;
|
|
46
45
|
}
|
|
47
46
|
/**
|
|
48
|
-
* Exposes a HotAPI as an MCP (Model Context Protocol) server using
|
|
47
|
+
* Exposes a HotAPI as an MCP (Model Context Protocol) server using the
|
|
48
|
+
* Streamable HTTP transport in stateless mode.
|
|
49
49
|
*
|
|
50
50
|
* This class walks all routes and methods on a HotAPI instance and registers
|
|
51
|
-
* them as MCP tools. When a tool is called via MCP, it makes an internal
|
|
52
|
-
*
|
|
51
|
+
* them as MCP tools. When a tool is called via MCP, it makes an internal
|
|
52
|
+
* in-process call through the full HotStaq request pipeline and returns
|
|
53
|
+
* the result.
|
|
54
|
+
*
|
|
55
|
+
* Each POST to the MCP route is self-contained: a fresh Server + transport
|
|
56
|
+
* are created per request, authorization runs once, and cleanup fires when
|
|
57
|
+
* the response closes. There is no long-lived session state — which means
|
|
58
|
+
* no "Session not found" 404s when a reverse proxy reaps an idle SSE
|
|
59
|
+
* stream.
|
|
53
60
|
*/
|
|
54
61
|
export declare class HotMCPServer {
|
|
55
62
|
/**
|
|
@@ -65,56 +72,46 @@ export declare class HotMCPServer {
|
|
|
65
72
|
* The associated logger.
|
|
66
73
|
*/
|
|
67
74
|
logger: HotLog;
|
|
68
|
-
/**
|
|
69
|
-
* The MCP Server instances keyed by session ID.
|
|
70
|
-
* A new Server instance is created per SSE connection because the MCP SDK
|
|
71
|
-
* Server class only supports one active transport at a time.
|
|
72
|
-
*/
|
|
73
|
-
servers: {
|
|
74
|
-
[sessionId: string]: Server;
|
|
75
|
-
};
|
|
76
75
|
/**
|
|
77
76
|
* The registered tool definitions.
|
|
78
77
|
*/
|
|
79
78
|
tools: MCPToolDefinition[];
|
|
80
79
|
/**
|
|
81
|
-
*
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
*
|
|
88
|
-
*
|
|
89
|
-
|
|
90
|
-
authorizedValues: {
|
|
91
|
-
[sessionId: string]: any;
|
|
92
|
-
};
|
|
93
|
-
/**
|
|
94
|
-
* Executes when authorizing an incoming MCP SSE connection. The value
|
|
95
|
-
* returned from here will be stored as the connection's authorizedValue
|
|
96
|
-
* and passed into tool call ServerRequests via bearerToken. Returning
|
|
97
|
-
* undefined means authorization failed and the connection will be closed.
|
|
98
|
-
* If any exceptions are thrown, the connection will be closed with an error.
|
|
80
|
+
* Executes when authorizing an incoming MCP request. The value returned
|
|
81
|
+
* from here is stored as the connection's authorizedValue and passed
|
|
82
|
+
* into tool call ServerRequests via bearerToken. Returning undefined
|
|
83
|
+
* means authorization failed and the request will be rejected with 401.
|
|
84
|
+
* If any exceptions are thrown, the request will be rejected with 401
|
|
85
|
+
* and the exception message in the body.
|
|
86
|
+
*
|
|
87
|
+
* The bearer token from the request (Authorization header or `?token=`
|
|
88
|
+
* query param) is passed via request.bearerToken.
|
|
99
89
|
*
|
|
100
|
-
*
|
|
101
|
-
* will be passed in via request.bearerToken.
|
|
90
|
+
* Set to null to skip authorization (default).
|
|
102
91
|
*
|
|
103
|
-
*
|
|
92
|
+
* Note on semantics change from pre-0.8.141: under the SSE transport
|
|
93
|
+
* this ran once per long-lived connection. Under the Streamable HTTP
|
|
94
|
+
* transport it runs once per tool-call request.
|
|
104
95
|
*/
|
|
105
96
|
onServerAuthorize: ServerAuthorizationFunction;
|
|
106
97
|
/**
|
|
107
|
-
* Executes after a successful MCP
|
|
98
|
+
* Executes after a successful MCP request is authorized.
|
|
99
|
+
*
|
|
100
|
+
* Note on semantics change from pre-0.8.141: under the SSE transport
|
|
101
|
+
* this ran once per long-lived connection. Under the Streamable HTTP
|
|
102
|
+
* transport it runs once per tool-call request. The sessionId argument
|
|
103
|
+
* is always a freshly-generated UUID for request tracing; it does not
|
|
104
|
+
* persist across requests.
|
|
108
105
|
*/
|
|
109
106
|
onSuccessfulConnection: ((sessionId: string, authorizedValue: any) => Promise<void>);
|
|
110
107
|
/**
|
|
111
108
|
* Executes right when a client connects before onServerAuthorize is called.
|
|
112
|
-
* If this returns false, the
|
|
109
|
+
* If this returns false, the request will be rejected with 403 Forbidden.
|
|
113
110
|
* Use onServerAuthorize for authorization logic, not here.
|
|
114
111
|
*/
|
|
115
112
|
onConnection: ((req: express.Request) => Promise<boolean>);
|
|
116
113
|
/**
|
|
117
|
-
* Executes after a
|
|
114
|
+
* Executes after a request fails authorization.
|
|
118
115
|
*/
|
|
119
116
|
onConnectionError: ((req: express.Request, errorMessage: string) => Promise<void>);
|
|
120
117
|
constructor(api: HotAPI, route?: string);
|
|
@@ -123,31 +120,40 @@ export declare class HotMCPServer {
|
|
|
123
120
|
*/
|
|
124
121
|
protected buildToolDefinitions(): void;
|
|
125
122
|
/**
|
|
126
|
-
* Create a fresh MCP Server instance with handlers registered
|
|
127
|
-
*
|
|
128
|
-
*
|
|
123
|
+
* Create a fresh MCP Server instance with handlers registered for this
|
|
124
|
+
* request. The authorizedValue (from onServerAuthorize or the raw bearer
|
|
125
|
+
* token) is captured in closure so tool calls can flow it through as
|
|
126
|
+
* connection-level auth.
|
|
129
127
|
*/
|
|
130
|
-
protected createServerInstance(
|
|
128
|
+
protected createServerInstance(authorizedValue: any): Server;
|
|
131
129
|
/**
|
|
132
130
|
* Register the MCP request handlers for tools/list and tools/call on
|
|
133
|
-
* the given Server instance. The
|
|
134
|
-
*
|
|
131
|
+
* the given Server instance. The authorizedValue is used as a fallback
|
|
132
|
+
* bearer token when a per-call token isn't supplied via _meta.
|
|
135
133
|
*/
|
|
136
|
-
protected registerHandlers(instance: Server,
|
|
134
|
+
protected registerHandlers(instance: Server, authorizedValue: any): void;
|
|
137
135
|
/**
|
|
138
136
|
* Execute a tool call by calling processRequest directly, going through
|
|
139
137
|
* the full HotStaq sanitization pipeline (validation, authorization,
|
|
140
138
|
* pre/post execute hooks, etc).
|
|
141
139
|
*/
|
|
142
|
-
protected executeToolCall(tool: MCPToolDefinition, args: any, mcpRequest?: any,
|
|
140
|
+
protected executeToolCall(tool: MCPToolDefinition, args: any, mcpRequest?: any, authorizedValue?: any): Promise<CallToolResult>;
|
|
143
141
|
/**
|
|
144
|
-
* Handle an incoming
|
|
145
|
-
*
|
|
146
|
-
*
|
|
142
|
+
* Handle an incoming MCP POST request via the Streamable HTTP transport.
|
|
143
|
+
*
|
|
144
|
+
* Each request is fully self-contained: connection gate → bearer-token
|
|
145
|
+
* extraction → onServerAuthorize → fresh Server + transport → tool call
|
|
146
|
+
* → response → cleanup. No state persists between requests, so there's
|
|
147
|
+
* no session map to invalidate and no long-lived connection to reap.
|
|
147
148
|
*/
|
|
148
|
-
protected
|
|
149
|
+
protected handleMCPRequest(req: express.Request, res: express.Response): Promise<void>;
|
|
149
150
|
/**
|
|
150
|
-
* Attach the MCP
|
|
151
|
+
* Attach the MCP endpoints to an Express application.
|
|
152
|
+
*
|
|
153
|
+
* The server speaks the Streamable HTTP transport on a single POST
|
|
154
|
+
* route. GET and DELETE on the same route return 405 Method Not
|
|
155
|
+
* Allowed so misbehaving clients see a clear failure instead of a
|
|
156
|
+
* quiet hang.
|
|
151
157
|
*/
|
|
152
158
|
attach(app: express.Express): Promise<void>;
|
|
153
159
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotMCPServer.d.ts","sourceRoot":"","sources":["../../src/HotMCPServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;
|
|
1
|
+
{"version":3,"file":"HotMCPServer.d.ts","sourceRoot":"","sources":["../../src/HotMCPServer.ts"],"names":[],"mappings":"AAAA,OAAO,OAAO,MAAM,SAAS,CAAC;AAE9B,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AAEnE,OAAO,EAAiD,cAAc,EAAE,MAAM,oCAAoC,CAAC;AAEnH,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAElC,OAAO,EAAiD,2BAA2B,EAAE,MAAM,kBAAkB,CAAC;AAC9G,OAAO,EAAE,MAAM,EAAe,MAAM,UAAU,CAAC;AAK/C;;GAEG;AACH,UAAU,iBAAiB;IAE1B;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IACb;;OAEG;IACH,WAAW,EAAE,MAAM,CAAC;IACpB;;OAEG;IACH,WAAW,EAAE;QACZ,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE;YAAE,CAAC,IAAI,EAAE,MAAM,GAAG,GAAG,CAAA;SAAE,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACpB,CAAC;IACF;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;IACnB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAChB;;OAEG;IACH,SAAS,EAAE,MAAM,CAAC;IAClB;;OAEG;IACH,UAAU,EAAE,MAAM,CAAC;CACnB;AAED;;;;;;;;;;;;;;GAcG;AACH,qBAAa,YAAY;IAExB;;OAEG;IACH,GAAG,EAAE,MAAM,CAAC;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAC;IACd;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IACf;;OAEG;IACH,KAAK,EAAE,iBAAiB,EAAE,CAAC;IAC3B;;;;;;;;;;;;;;;;OAgBG;IACH,iBAAiB,EAAE,2BAA2B,CAAC;IAC/C;;;;;;;;OAQG;IACH,sBAAsB,EAAE,CAAC,CAAC,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;IACrF;;;;OAIG;IACH,YAAY,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,KAAK,OAAO,CAAC,OAAO,CAAC,CAAC,CAAC;IAC3D;;OAEG;IACH,iBAAiB,EAAE,CAAC,CAAC,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,YAAY,EAAE,MAAM,KAAK,OAAO,CAAC,IAAI,CAAC,CAAC,CAAC;gBAEtE,GAAG,EAAE,MAAM,EAAE,KAAK,GAAE,MAAe;IAehD;;OAEG;IACH,SAAS,CAAC,oBAAoB,IAAK,IAAI;IA+DvC;;;;;OAKG;IACH,SAAS,CAAC,oBAAoB,CAAE,eAAe,EAAE,GAAG,GAAG,MAAM;IAmB7D;;;;OAIG;IACH,SAAS,CAAC,gBAAgB,CAAE,QAAQ,EAAE,MAAM,EAAE,eAAe,EAAE,GAAG,GAAG,IAAI;IA0DzE;;;;OAIG;cACa,eAAe,CAAE,IAAI,EAAE,iBAAiB,EAAE,IAAI,EAAE,GAAG,EAAE,UAAU,CAAC,EAAE,GAAG,EAAE,eAAe,CAAC,EAAE,GAAG,GAAG,OAAO,CAAC,cAAc,CAAC;IAmKtI;;;;;;;OAOG;cACa,gBAAgB,CAAE,GAAG,EAAE,OAAO,CAAC,OAAO,EAAE,GAAG,EAAE,OAAO,CAAC,QAAQ,GAAG,OAAO,CAAC,IAAI,CAAC;IAyJ7F;;;;;;;OAOG;IACG,MAAM,CAAE,GAAG,EAAE,OAAO,CAAC,OAAO,GAAG,OAAO,CAAC,IAAI,CAAC;CAyBlD"}
|
|
@@ -11,18 +11,26 @@ var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, ge
|
|
|
11
11
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
12
12
|
exports.HotMCPServer = void 0;
|
|
13
13
|
const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
|
|
14
|
-
const
|
|
14
|
+
const streamableHttp_js_1 = require("@modelcontextprotocol/sdk/server/streamableHttp.js");
|
|
15
15
|
const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
|
|
16
16
|
const HotRouteMethod_1 = require("./HotRouteMethod");
|
|
17
17
|
const HotLog_1 = require("./HotLog");
|
|
18
18
|
const HotStaq_1 = require("./HotStaq");
|
|
19
19
|
const HotHTTPServerProcessRequest_1 = require("./HotHTTPServerProcessRequest");
|
|
20
20
|
/**
|
|
21
|
-
* Exposes a HotAPI as an MCP (Model Context Protocol) server using
|
|
21
|
+
* Exposes a HotAPI as an MCP (Model Context Protocol) server using the
|
|
22
|
+
* Streamable HTTP transport in stateless mode.
|
|
22
23
|
*
|
|
23
24
|
* This class walks all routes and methods on a HotAPI instance and registers
|
|
24
|
-
* them as MCP tools. When a tool is called via MCP, it makes an internal
|
|
25
|
-
*
|
|
25
|
+
* them as MCP tools. When a tool is called via MCP, it makes an internal
|
|
26
|
+
* in-process call through the full HotStaq request pipeline and returns
|
|
27
|
+
* the result.
|
|
28
|
+
*
|
|
29
|
+
* Each POST to the MCP route is self-contained: a fresh Server + transport
|
|
30
|
+
* are created per request, authorization runs once, and cleanup fires when
|
|
31
|
+
* the response closes. There is no long-lived session state — which means
|
|
32
|
+
* no "Session not found" 404s when a reverse proxy reaps an idle SSE
|
|
33
|
+
* stream.
|
|
26
34
|
*/
|
|
27
35
|
class HotMCPServer {
|
|
28
36
|
constructor(api, route = "/mcp") {
|
|
@@ -30,9 +38,6 @@ class HotMCPServer {
|
|
|
30
38
|
this.route = route;
|
|
31
39
|
this.logger = new HotLog_1.HotLog(HotLog_1.HotLogLevel.All);
|
|
32
40
|
this.tools = [];
|
|
33
|
-
this.transports = {};
|
|
34
|
-
this.servers = {};
|
|
35
|
-
this.authorizedValues = {};
|
|
36
41
|
this.onServerAuthorize = null;
|
|
37
42
|
this.onSuccessfulConnection = null;
|
|
38
43
|
this.onConnection = null;
|
|
@@ -88,28 +93,29 @@ class HotMCPServer {
|
|
|
88
93
|
}
|
|
89
94
|
}
|
|
90
95
|
/**
|
|
91
|
-
* Create a fresh MCP Server instance with handlers registered
|
|
92
|
-
*
|
|
93
|
-
*
|
|
96
|
+
* Create a fresh MCP Server instance with handlers registered for this
|
|
97
|
+
* request. The authorizedValue (from onServerAuthorize or the raw bearer
|
|
98
|
+
* token) is captured in closure so tool calls can flow it through as
|
|
99
|
+
* connection-level auth.
|
|
94
100
|
*/
|
|
95
|
-
createServerInstance(
|
|
101
|
+
createServerInstance(authorizedValue) {
|
|
96
102
|
let instance = new index_js_1.Server({
|
|
97
103
|
name: "HotStaq MCP Server",
|
|
98
|
-
version:
|
|
104
|
+
version: HotStaq_1.HotStaq.version
|
|
99
105
|
}, {
|
|
100
106
|
capabilities: {
|
|
101
107
|
tools: {}
|
|
102
108
|
}
|
|
103
109
|
});
|
|
104
|
-
this.registerHandlers(instance,
|
|
110
|
+
this.registerHandlers(instance, authorizedValue);
|
|
105
111
|
return (instance);
|
|
106
112
|
}
|
|
107
113
|
/**
|
|
108
114
|
* Register the MCP request handlers for tools/list and tools/call on
|
|
109
|
-
* the given Server instance. The
|
|
110
|
-
*
|
|
115
|
+
* the given Server instance. The authorizedValue is used as a fallback
|
|
116
|
+
* bearer token when a per-call token isn't supplied via _meta.
|
|
111
117
|
*/
|
|
112
|
-
registerHandlers(instance,
|
|
118
|
+
registerHandlers(instance, authorizedValue) {
|
|
113
119
|
instance.setRequestHandler(types_js_1.ListToolsRequestSchema, () => __awaiter(this, void 0, void 0, function* () {
|
|
114
120
|
return ({
|
|
115
121
|
tools: this.tools.map((tool) => {
|
|
@@ -133,7 +139,7 @@ class HotMCPServer {
|
|
|
133
139
|
return (result);
|
|
134
140
|
}
|
|
135
141
|
try {
|
|
136
|
-
let result = yield this.executeToolCall(tool, args, request,
|
|
142
|
+
let result = yield this.executeToolCall(tool, args, request, authorizedValue);
|
|
137
143
|
return (result);
|
|
138
144
|
}
|
|
139
145
|
catch (ex) {
|
|
@@ -155,7 +161,7 @@ class HotMCPServer {
|
|
|
155
161
|
* the full HotStaq sanitization pipeline (validation, authorization,
|
|
156
162
|
* pre/post execute hooks, etc).
|
|
157
163
|
*/
|
|
158
|
-
executeToolCall(tool, args, mcpRequest,
|
|
164
|
+
executeToolCall(tool, args, mcpRequest, authorizedValue) {
|
|
159
165
|
return __awaiter(this, void 0, void 0, function* () {
|
|
160
166
|
let server = this.api.connection;
|
|
161
167
|
let route = this.api.routes[tool.routeName];
|
|
@@ -175,18 +181,13 @@ class HotMCPServer {
|
|
|
175
181
|
if (bearerToken.startsWith("Bearer ") || bearerToken.startsWith("bearer "))
|
|
176
182
|
bearerToken = bearerToken.substring(7);
|
|
177
183
|
}
|
|
178
|
-
//
|
|
179
|
-
//
|
|
180
|
-
//
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
|
|
185
|
-
if (sessionId != null && this.authorizedValues[sessionId] != null)
|
|
186
|
-
connectionAuthorizedValue = this.authorizedValues[sessionId];
|
|
187
|
-
if (bearerToken === "" && connectionAuthorizedValue != null &&
|
|
188
|
-
typeof (connectionAuthorizedValue) === "string") {
|
|
189
|
-
bearerToken = connectionAuthorizedValue;
|
|
184
|
+
// Fall back to the connection-level authorizedValue (from onServerAuthorize
|
|
185
|
+
// or raw header) when no per-call token was sent. We pass it through as
|
|
186
|
+
// bearerToken so processRequest's onAuthorizeUser sees it the same way
|
|
187
|
+
// it would for an HTTP request.
|
|
188
|
+
if (bearerToken === "" && authorizedValue != null &&
|
|
189
|
+
typeof (authorizedValue) === "string") {
|
|
190
|
+
bearerToken = authorizedValue;
|
|
190
191
|
}
|
|
191
192
|
// Build the authorization header so processRequest can read it the same way
|
|
192
193
|
// it does for normal HTTP requests.
|
|
@@ -289,13 +290,16 @@ class HotMCPServer {
|
|
|
289
290
|
});
|
|
290
291
|
}
|
|
291
292
|
/**
|
|
292
|
-
* Handle an incoming
|
|
293
|
-
*
|
|
294
|
-
*
|
|
293
|
+
* Handle an incoming MCP POST request via the Streamable HTTP transport.
|
|
294
|
+
*
|
|
295
|
+
* Each request is fully self-contained: connection gate → bearer-token
|
|
296
|
+
* extraction → onServerAuthorize → fresh Server + transport → tool call
|
|
297
|
+
* → response → cleanup. No state persists between requests, so there's
|
|
298
|
+
* no session map to invalidate and no long-lived connection to reap.
|
|
295
299
|
*/
|
|
296
|
-
|
|
300
|
+
handleMCPRequest(req, res) {
|
|
297
301
|
return __awaiter(this, void 0, void 0, function* () {
|
|
298
|
-
this.logger.verbose(() => `New MCP
|
|
302
|
+
this.logger.verbose(() => `New MCP request from ${req.ip}`);
|
|
299
303
|
// Early connection gate — developer can reject before auth runs.
|
|
300
304
|
if (this.onConnection != null) {
|
|
301
305
|
let allowed = false;
|
|
@@ -308,7 +312,7 @@ class HotMCPServer {
|
|
|
308
312
|
return;
|
|
309
313
|
}
|
|
310
314
|
if (allowed === false) {
|
|
311
|
-
this.logger.verbose(`MCP
|
|
315
|
+
this.logger.verbose(`MCP request rejected by onConnection from ${req.ip}`);
|
|
312
316
|
res.status(403).json({ error: "Forbidden" });
|
|
313
317
|
return;
|
|
314
318
|
}
|
|
@@ -325,9 +329,9 @@ class HotMCPServer {
|
|
|
325
329
|
else if ((req.query.token != null) && (typeof (req.query.token) === "string")) {
|
|
326
330
|
bearerToken = req.query.token;
|
|
327
331
|
}
|
|
328
|
-
//
|
|
329
|
-
//
|
|
330
|
-
//
|
|
332
|
+
// Request-level authorization — optional. When set, the callback
|
|
333
|
+
// validates the token and returns an authorized value. When not set,
|
|
334
|
+
// the raw bearer token is stored so it can flow into tool calls.
|
|
331
335
|
let authorizedValue = bearerToken !== "" ? bearerToken : null;
|
|
332
336
|
if (this.onServerAuthorize != null) {
|
|
333
337
|
let request = new HotRouteMethod_1.ServerRequest({
|
|
@@ -350,65 +354,92 @@ class HotMCPServer {
|
|
|
350
354
|
return;
|
|
351
355
|
}
|
|
352
356
|
if (authorizedValue === undefined) {
|
|
353
|
-
this.logger.verbose(`MCP unauthorized
|
|
357
|
+
this.logger.verbose(`MCP unauthorized request from ${req.ip}`);
|
|
354
358
|
if (this.onConnectionError != null)
|
|
355
359
|
yield this.onConnectionError(req, "Unauthorized");
|
|
356
360
|
res.status(401).json({ error: "Unauthorized" });
|
|
357
361
|
return;
|
|
358
362
|
}
|
|
359
363
|
}
|
|
360
|
-
this.logger.verbose(() => `MCP
|
|
361
|
-
|
|
362
|
-
//
|
|
363
|
-
|
|
364
|
-
|
|
365
|
-
|
|
366
|
-
|
|
367
|
-
|
|
368
|
-
|
|
369
|
-
this.
|
|
370
|
-
|
|
371
|
-
|
|
372
|
-
|
|
373
|
-
|
|
374
|
-
|
|
375
|
-
|
|
376
|
-
|
|
377
|
-
|
|
364
|
+
this.logger.verbose(() => `MCP request authorized from ${req.ip}`);
|
|
365
|
+
// Stateless mode: sessionIdGenerator undefined → no session ID, no
|
|
366
|
+
// validation, no map to poison. Each request is independent.
|
|
367
|
+
let transport = new streamableHttp_js_1.StreamableHTTPServerTransport({
|
|
368
|
+
sessionIdGenerator: undefined
|
|
369
|
+
});
|
|
370
|
+
let sessionServer = this.createServerInstance(authorizedValue);
|
|
371
|
+
try {
|
|
372
|
+
yield sessionServer.connect(transport);
|
|
373
|
+
if (this.onSuccessfulConnection != null) {
|
|
374
|
+
// Synthesize a per-request identifier for the callback's telemetry.
|
|
375
|
+
// This does not persist across requests — the stateless transport
|
|
376
|
+
// has no concept of a durable session.
|
|
377
|
+
let requestId = `${Date.now()}-${Math.random().toString(36).slice(2, 10)}`;
|
|
378
|
+
yield this.onSuccessfulConnection(requestId, authorizedValue);
|
|
379
|
+
}
|
|
380
|
+
// The transport consumes the pre-parsed Express body so the JSON
|
|
381
|
+
// middleware that's already drained the stream doesn't leave us
|
|
382
|
+
// staring at an empty read.
|
|
383
|
+
yield transport.handleRequest(req, res, req.body);
|
|
384
|
+
}
|
|
385
|
+
catch (ex) {
|
|
386
|
+
this.logger.error(`MCP request error: ${ex.message}`);
|
|
387
|
+
if (res.headersSent === false) {
|
|
388
|
+
res.status(500).json({
|
|
389
|
+
jsonrpc: "2.0",
|
|
390
|
+
error: { code: -32603, message: "Internal server error" },
|
|
391
|
+
id: null
|
|
392
|
+
});
|
|
393
|
+
}
|
|
394
|
+
}
|
|
395
|
+
finally {
|
|
396
|
+
// Clean up the per-request transport + server when the response
|
|
397
|
+
// finishes. The SDK's close() is idempotent so calling it here is
|
|
398
|
+
// safe even if the transport already closed naturally.
|
|
399
|
+
let cleanup = () => {
|
|
400
|
+
try {
|
|
401
|
+
transport.close();
|
|
402
|
+
}
|
|
403
|
+
catch (_) { }
|
|
404
|
+
try {
|
|
405
|
+
sessionServer.close();
|
|
406
|
+
}
|
|
407
|
+
catch (_) { }
|
|
408
|
+
};
|
|
409
|
+
if (res.writableEnded)
|
|
410
|
+
cleanup();
|
|
411
|
+
else
|
|
412
|
+
res.on("close", cleanup);
|
|
413
|
+
}
|
|
378
414
|
});
|
|
379
415
|
}
|
|
380
416
|
/**
|
|
381
|
-
* Attach the MCP
|
|
417
|
+
* Attach the MCP endpoints to an Express application.
|
|
418
|
+
*
|
|
419
|
+
* The server speaks the Streamable HTTP transport on a single POST
|
|
420
|
+
* route. GET and DELETE on the same route return 405 Method Not
|
|
421
|
+
* Allowed so misbehaving clients see a clear failure instead of a
|
|
422
|
+
* quiet hang.
|
|
382
423
|
*/
|
|
383
424
|
attach(app) {
|
|
384
425
|
return __awaiter(this, void 0, void 0, function* () {
|
|
385
|
-
|
|
386
|
-
|
|
387
|
-
// SSE endpoint (/mcp/sse)
|
|
388
|
-
app.get(sseRoute, (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
389
|
-
yield this.handleSSEConnection(req, res, messageRoute);
|
|
390
|
-
}));
|
|
391
|
-
// Also handle GET on the base route as SSE (/mcp)
|
|
392
|
-
app.get(this.route, (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
393
|
-
yield this.handleSSEConnection(req, res, messageRoute);
|
|
394
|
-
}));
|
|
395
|
-
// Message endpoint — routes MCP JSON-RPC messages to the correct session transport.
|
|
396
|
-
app.post(messageRoute, (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
397
|
-
let sessionId = req.query.sessionId;
|
|
398
|
-
if (sessionId == null) {
|
|
399
|
-
res.status(400).json({ error: "Missing sessionId query parameter" });
|
|
400
|
-
return;
|
|
401
|
-
}
|
|
402
|
-
let transport = this.transports[sessionId];
|
|
403
|
-
if (transport == null) {
|
|
404
|
-
res.status(404).json({ error: "Session not found" });
|
|
405
|
-
return;
|
|
406
|
-
}
|
|
407
|
-
// Pass req.body as the pre-parsed body — Express's JSON middleware
|
|
408
|
-
// consumes the stream before this handler runs, so we must provide
|
|
409
|
-
// the already-parsed body explicitly.
|
|
410
|
-
yield transport.handlePostMessage(req, res, req.body);
|
|
426
|
+
app.post(this.route, (req, res) => __awaiter(this, void 0, void 0, function* () {
|
|
427
|
+
yield this.handleMCPRequest(req, res);
|
|
411
428
|
}));
|
|
429
|
+
app.get(this.route, (_req, res) => {
|
|
430
|
+
res.status(405).json({
|
|
431
|
+
jsonrpc: "2.0",
|
|
432
|
+
error: { code: -32000, message: "Method not allowed. Use POST for Streamable HTTP MCP." },
|
|
433
|
+
id: null
|
|
434
|
+
});
|
|
435
|
+
});
|
|
436
|
+
app.delete(this.route, (_req, res) => {
|
|
437
|
+
res.status(405).json({
|
|
438
|
+
jsonrpc: "2.0",
|
|
439
|
+
error: { code: -32000, message: "Method not allowed." },
|
|
440
|
+
id: null
|
|
441
|
+
});
|
|
442
|
+
});
|
|
412
443
|
});
|
|
413
444
|
}
|
|
414
445
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"HotMCPServer.js","sourceRoot":"","sources":["../../src/HotMCPServer.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"HotMCPServer.js","sourceRoot":"","sources":["../../src/HotMCPServer.ts"],"names":[],"mappings":";;;;;;;;;;;;AAEA,wEAAmE;AACnE,0FAAmG;AACnG,iEAAmH;AAInH,qDAA8G;AAC9G,qCAA+C;AAE/C,uCAAoC;AACpC,+EAA+D;AAyC/D;;;;;;;;;;;;;;GAcG;AACH,MAAa,YAAY;IA0DxB,YAAa,GAAW,EAAE,QAAgB,MAAM;QAE/C,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;QACf,IAAI,CAAC,KAAK,GAAG,KAAK,CAAC;QACnB,IAAI,CAAC,MAAM,GAAG,IAAI,eAAM,CAAE,oBAAW,CAAC,GAAG,CAAC,CAAC;QAC3C,IAAI,CAAC,KAAK,GAAG,EAAE,CAAC;QAChB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAC9B,IAAI,CAAC,sBAAsB,GAAG,IAAI,CAAC;QACnC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC;QACzB,IAAI,CAAC,iBAAiB,GAAG,IAAI,CAAC;QAE9B,IAAI,CAAC,oBAAoB,EAAG,CAAC;IAC9B,CAAC;IAGD;;OAEG;IACO,oBAAoB;QAE7B,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,IAAI,IAAI;YAC1B,OAAO;QAER,KAAK,IAAI,SAAS,IAAI,IAAI,CAAC,GAAG,CAAC,MAAM,EACrC,CAAC;YACA,IAAI,KAAK,GAAa,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAEjD,IAAI,KAAK,CAAC,OAAO,IAAI,IAAI;gBACxB,SAAS;YAEV,KAAK,IAAI,MAAM,IAAI,KAAK,CAAC,OAAO,EAChC,CAAC;gBACA,IAAI,QAAQ,GAAW,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBACvD,IAAI,UAAU,GAA4B,EAAE,CAAC;gBAC7C,IAAI,QAAQ,GAAa,EAAE,CAAC;gBAE5B,IAAI,MAAM,CAAC,UAAU,IAAI,IAAI,EAC7B,CAAC;oBACA,KAAK,IAAI,SAAS,IAAI,MAAM,CAAC,UAAU,EACvC,CAAC;wBACA,IAAI,KAAK,GAAG,MAAM,CAAC,UAAU,CAAC,SAAS,CAAC,CAAC;wBAEzC,IAAI,OAAO,CAAC,KAAK,CAAC,KAAK,UAAU;4BAChC,SAAS;wBAEV,UAAU,CAAC,SAAS,CAAC,GAAG,iBAAO,CAAC,gCAAgC,CAAE,KAAK,CAAC,CAAC;wBAEzE,IAAI,KAAK,CAAC,QAAQ,KAAK,IAAI;4BAC1B,QAAQ,CAAC,IAAI,CAAE,SAAS,CAAC,CAAC;oBAC5B,CAAC;gBACF,CAAC;gBAED,IAAI,UAAU,GAAW,iBAAO,CAAC,sBAAsB,CAAE,MAAM,CAAC,IAAI,CAAC,CAAC;gBACtE,IAAI,OAAO,GAAW,KAAK,CAAC,OAAO,IAAI,IAAI,CAAC;gBAC5C,IAAI,MAAM,GAAW,KAAK,CAAC,MAAM,IAAI,EAAE,CAAC;gBACxC,IAAI,OAAO,GAAW,IAAI,OAAO,IAAI,MAAM,GAAG,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE,CAAC;gBAE3E,0BAA0B;gBAC1B,OAAO,GAAG,OAAO,CAAC,OAAO,CAAE,MAAM,EAAE,GAAG,CAAC,CAAC;gBAExC,IAAI,OAAO,GAAsB;oBAC/B,IAAI,EAAE,QAAQ;oBACd,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,QAAQ,KAAK,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;oBACvE,WAAW,EAAE;wBACZ,IAAI,EAAE,QAAQ;wBACd,UAAU,EAAE,UAAU;qBACtB;oBACD,UAAU,EAAE,UAAU;oBACtB,OAAO,EAAE,OAAO;oBAChB,SAAS,EAAE,SAAS;oBACpB,UAAU,EAAE,MAAM,CAAC,IAAI;iBACvB,CAAC;gBAEH,IAAI,QAAQ,CAAC,MAAM,GAAG,CAAC;oBACtB,OAAO,CAAC,WAAW,CAAC,QAAQ,GAAG,QAAQ,CAAC;gBAEzC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,OAAO,CAAC,CAAC;YAC3B,CAAC;QACF,CAAC;IACF,CAAC;IAED;;;;;OAKG;IACO,oBAAoB,CAAE,eAAoB;QAEnD,IAAI,QAAQ,GAAW,IAAI,iBAAM,CAC/B;YACC,IAAI,EAAE,oBAAoB;YAC1B,OAAO,EAAE,iBAAO,CAAC,OAAO;SACxB,EACD;YACC,YAAY,EAAE;gBACb,KAAK,EAAE,EAAE;aACT;SACD,CACD,CAAC;QAEH,IAAI,CAAC,gBAAgB,CAAE,QAAQ,EAAE,eAAe,CAAC,CAAC;QAElD,OAAO,CAAC,QAAQ,CAAC,CAAC;IACnB,CAAC;IAED;;;;OAIG;IACO,gBAAgB,CAAE,QAAgB,EAAE,eAAoB;QAEjE,QAAQ,CAAC,iBAAiB,CAAE,iCAAsB,EAAE,GAAS,EAAE;YAE7D,OAAO,CAAC;gBACP,KAAK,EAAE,IAAI,CAAC,KAAK,CAAC,GAAG,CAAE,CAAC,IAAI,EAAE,EAAE;oBAE9B,OAAO,CAAC;wBACP,IAAI,EAAE,IAAI,CAAC,IAAI;wBACf,WAAW,EAAE,IAAI,CAAC,WAAW;wBAC7B,WAAW,EAAE,IAAI,CAAC,WAAW;qBAC7B,CAAC,CAAC;gBACJ,CAAC,CAAC;aACH,CAAC,CAAC;QACJ,CAAC,CAAA,CAAC,CAAC;QAEJ,QAAQ,CAAC,iBAAiB,CAAE,gCAAqB,EAAE,CAAO,OAAY,EAAE,EAAE;YAExE,IAAI,QAAQ,GAAW,OAAO,CAAC,MAAM,CAAC,IAAI,CAAC;YAC3C,IAAI,IAAI,GAAQ,OAAO,CAAC,MAAM,CAAC,SAAS,IAAI,EAAE,CAAC;YAE/C,IAAI,IAAI,GAAkC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,QAAQ,CAAC,CAAC;YAEvF,IAAI,IAAI,IAAI,IAAI,EAChB,CAAC;gBACA,IAAI,MAAM,GAAmB;oBAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,QAAQ,EAAE,EAAE,CAAC;oBAC9D,OAAO,EAAE,IAAI;iBACb,CAAC;gBAEH,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;YAED,IACA,CAAC;gBACA,IAAI,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,eAAe,CAAC,CAAC;gBAE/E,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;YACD,OAAO,EAAE,EACT,CAAC;gBACA,IAAI,YAAY,GAAW,eAAe,CAAC;gBAE3C,IAAI,EAAE,YAAY,KAAK;oBACtB,YAAY,GAAG,EAAE,CAAC,OAAO,CAAC;qBACtB,IAAI,OAAO,CAAC,EAAE,CAAC,KAAK,QAAQ;oBAChC,YAAY,GAAG,EAAE,CAAC;gBAEnB,IAAI,MAAM,GAAmB;oBAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,iBAAiB,QAAQ,KAAK,YAAY,EAAE,EAAE,CAAC;oBAC/E,OAAO,EAAE,IAAI;iBACb,CAAC;gBAEH,OAAO,CAAC,MAAM,CAAC,CAAC;YACjB,CAAC;QACF,CAAC,CAAA,CAAC,CAAC;IACL,CAAC;IAED;;;;OAIG;IACa,eAAe,CAAE,IAAuB,EAAE,IAAS,EAAE,UAAgB,EAAE,eAAqB;;YAE3G,IAAI,MAAM,GAAkB,IAAI,CAAC,GAAG,CAAC,UAA2B,CAAC;YACjE,IAAI,KAAK,GAAa,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC;YAEtD,IAAI,KAAK,IAAI,IAAI;gBAChB,MAAM,IAAI,KAAK,CAAE,UAAU,IAAI,CAAC,SAAS,aAAa,CAAC,CAAC;YAEzD,IAAI,MAAM,GAA+B,KAAK,CAAC,OAAO,CAAC,IAAI,CAAE,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,CAAC,UAAU,CAAC,CAAC;YAEhG,IAAI,MAAM,IAAI,IAAI;gBACjB,MAAM,IAAI,KAAK,CAAE,WAAW,IAAI,CAAC,UAAU,yBAAyB,IAAI,CAAC,SAAS,GAAG,CAAC,CAAC;YAExF,IAAI,UAAU,GAAW,MAAM,CAAC,WAAW,EAAG,CAAC;YAE/C,8DAA8D;YAC9D,gEAAgE;YAChE,IAAI,WAAW,GAAW,EAAE,CAAC;YAE7B,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,IAAI,IAAI;gBAClD,UAAU,CAAC,MAAM,CAAC,KAAK,IAAI,IAAI,IAAI,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,IAAI,IAAI,EACjF,CAAC;gBACA,WAAW,GAAG,UAAU,CAAC,MAAM,CAAC,KAAK,CAAC,aAAa,CAAC;gBAEpD,6EAA6E;gBAC7E,IAAI,WAAW,CAAC,UAAU,CAAE,SAAS,CAAC,IAAI,WAAW,CAAC,UAAU,CAAE,SAAS,CAAC;oBAC3E,WAAW,GAAG,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;YAED,4EAA4E;YAC5E,wEAAwE;YACxE,uEAAuE;YACvE,gCAAgC;YAChC,IAAI,WAAW,KAAK,EAAE,IAAI,eAAe,IAAI,IAAI;gBAChD,OAAO,CAAC,eAAe,CAAC,KAAK,QAAQ,EACtC,CAAC;gBACA,WAAW,GAAG,eAAe,CAAC;YAC/B,CAAC;YAED,4EAA4E;YAC5E,oCAAoC;YACpC,IAAI,UAAU,GAAW,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,UAAU,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE3E,2EAA2E;YAC3E,6EAA6E;YAC7E,sEAAsE;YACtE,+EAA+E;YAC/E,IAAI,UAAU,GAAQ,UAAU,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAE7E,2EAA2E;YAC3E,2EAA2E;YAC3E,2EAA2E;YAC3E,oEAAoE;YACpE,0EAA0E;YAC1E,oEAAoE;YACpE,IAAI,GAAG,GAAQ;gBACb,MAAM,EAAE,IAAI,CAAC,UAAU;gBACvB,IAAI,EAAE,IAAI;gBACV,KAAK,EAAE,EAAE;gBACT,OAAO,EAAE,UAAU;gBACnB,EAAE,EAAE,WAAW;gBACf,GAAG,EAAE,EAAE;gBACP,QAAQ,EAAE,KAAK;gBACf,MAAM,EAAE,KAAK;gBACb,QAAQ,EAAE,WAAW;gBACrB,WAAW,EAAE,IAAI,CAAC,OAAO;gBACzB,IAAI,EAAE,IAAI,CAAC,OAAO;gBAClB,OAAO,EAAE,EAAE;gBACX,MAAM,EAAE,EAAE;gBACV,WAAW,EAAE,KAAK;gBAClB,UAAU,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;gBAC5D,MAAM,EAAE,EAAE,aAAa,EAAE,WAAW,EAAE,SAAS,EAAE,KAAK,EAAE;gBACxD,OAAO,EAAE,EAAE;gBACX,GAAG,EAAE,CAAC,IAAY,EAAsB,EAAE;oBAExC,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAG,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACF,MAAM,EAAE,CAAC,IAAY,EAAsB,EAAE;oBAE3C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,WAAW,EAAG,CAAC,CAAC,CAAC;gBAC1C,CAAC;gBACF,EAAE,EAAE,CAAC,MAAc,EAAE,QAAa,EAAE,EAAE,GAAE,CAAC;aACzC,CAAC;YAEH,sEAAsE;YACtE,yEAAyE;YACzE,8EAA8E;YAC9E,IAAI,cAAc,GAAW,GAAG,CAAC;YACjC,IAAI,YAAY,GAAQ,SAAS,CAAC;YAElC,IAAI,UAAU,GAAQ,EAAE,CAAC;YAEzB,IAAI,GAAG,GAAQ;gBACb,MAAM,EAAE,CAAC,IAAY,EAAE,EAAE;oBAEvB,cAAc,GAAG,IAAI,CAAC;oBAEtB,OAAO,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBACF,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;oBAEnB,YAAY,GAAG,KAAK,CAAC;gBACtB,CAAC;gBACF,IAAI,EAAE,CAAC,KAAU,EAAE,EAAE;oBAEnB,YAAY,GAAG,KAAK,CAAC;gBACtB,CAAC;gBACF,GAAG,EAAE,GAAG,EAAE,GAAE,CAAC;gBACb,EAAE,EAAE,CAAC,MAAc,EAAE,QAAa,EAAE,EAAE,GAAE,CAAC;gBACzC,GAAG,EAAE,CAAC,OAAY,EAAE,EAAE;oBAEpB,IAAI,OAAO,CAAC,OAAO,CAAC,KAAK,QAAQ;wBAChC,MAAM,CAAC,MAAM,CAAE,UAAU,EAAE,OAAO,CAAC,CAAC;oBAErC,OAAO,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBACF,SAAS,EAAE,CAAC,IAAY,EAAE,KAAa,EAAE,EAAE;oBAEzC,UAAU,CAAC,IAAI,CAAC,GAAG,KAAK,CAAC;oBAEzB,OAAO,CAAC,GAAG,CAAC,CAAC;gBACd,CAAC;gBACF,SAAS,EAAE,CAAC,IAAY,EAAsB,EAAE;oBAE9C,OAAO,CAAC,UAAU,CAAC,IAAI,CAAC,CAAC,CAAC;gBAC3B,CAAC;gBACF,UAAU,EAAE,GAAQ,EAAE;oBAEpB,OAAO,CAAC,UAAU,CAAC,CAAC;gBACrB,CAAC;gBACF,YAAY,EAAE,GAAG,EAAE,GAAE,CAAC;gBACtB,WAAW,EAAE,KAAK;aAClB,CAAC;YAEH,oEAAoE;YACpE,6EAA6E;YAC7E,yEAAyE;YACzE,0EAA0E;YAC1E,kFAAkF;YAClF,IAAI,QAAQ,GAAQ,MAAM,IAAA,4CAAc,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,KAAK,EAAE,MAAM,EAAE,UAAU,EAAE,GAAU,EAAE,GAAU,CAAC,CAAC;YAEpH,2EAA2E;YAC3E,IAAI,UAAU,GAAQ,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,CAAC,YAAY,CAAC;YACzE,IAAI,OAAO,GAAY,KAAK,CAAC;YAE7B,IAAI,UAAU,IAAI,IAAI,IAAI,UAAU,CAAC,KAAK,IAAI,IAAI;gBACjD,OAAO,GAAG,IAAI,CAAC;YAEhB,IAAI,UAAkB,CAAC;YAEvB,IAAI,OAAO,CAAC,UAAU,CAAC,KAAK,QAAQ;gBACnC,UAAU,GAAG,UAAU,CAAC;;gBAExB,UAAU,GAAG,IAAI,CAAC,SAAS,CAAE,UAAU,CAAC,CAAC;YAE1C,IAAI,MAAM,GAAmB;gBAC3B,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;gBAC7C,OAAO,EAAE,OAAO;aAChB,CAAC;YAEH,OAAO,CAAC,MAAM,CAAC,CAAC;QACjB,CAAC;KAAA;IAED;;;;;;;OAOG;IACa,gBAAgB,CAAE,GAAoB,EAAE,GAAqB;;YAE5E,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,CAAC,wBAAwB,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAE7D,iEAAiE;YACjE,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,EAC7B,CAAC;gBACA,IAAI,OAAO,GAAY,KAAK,CAAC;gBAE7B,IACA,CAAC;oBACA,OAAO,GAAG,MAAM,IAAI,CAAC,YAAY,CAAE,GAAG,CAAC,CAAC;gBACzC,CAAC;gBACD,OAAO,EAAE,EACT,CAAC;oBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,2BAA2B,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAC5D,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE,EAAE,KAAK,EAAE,uBAAuB,EAAE,CAAC,CAAC;oBAE3D,OAAO;gBACR,CAAC;gBAED,IAAI,OAAO,KAAK,KAAK,EACrB,CAAC;oBACA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,6CAA6C,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAC5E,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;oBAE/C,OAAO;gBACR,CAAC;YACF,CAAC;YAED,iEAAiE;YACjE,kEAAkE;YAClE,0EAA0E;YAC1E,IAAI,WAAW,GAAW,EAAE,CAAC;YAE7B,IAAI,GAAG,CAAC,OAAO,CAAC,aAAa,IAAI,IAAI,EACrC,CAAC;gBACA,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,aAAa,CAAC;gBAExC,IAAI,WAAW,CAAC,UAAU,CAAE,SAAS,CAAC,IAAI,WAAW,CAAC,UAAU,CAAE,SAAS,CAAC;oBAC3E,WAAW,GAAG,WAAW,CAAC,SAAS,CAAE,CAAC,CAAC,CAAC;YAC1C,CAAC;iBACI,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,IAAI,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,KAAK,CAAC,KAAK,QAAQ,CAAC,EAC7E,CAAC;gBACA,WAAW,GAAG,GAAG,CAAC,KAAK,CAAC,KAAe,CAAC;YACzC,CAAC;YAED,iEAAiE;YACjE,qEAAqE;YACrE,iEAAiE;YACjE,IAAI,eAAe,GAAQ,WAAW,KAAK,EAAE,CAAC,CAAC,CAAC,WAAW,CAAC,CAAC,CAAC,IAAI,CAAC;YAEnE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI,EAClC,CAAC;gBACA,IAAI,OAAO,GAAkB,IAAI,8BAAa,CAAE;oBAC9C,GAAG,EAAE,GAAG;oBACR,GAAG,EAAE,IAAI;oBACT,WAAW,EAAE,WAAW;oBACxB,eAAe,EAAE,IAAI;oBACrB,OAAO,EAAE,GAAG,CAAC,IAAI,IAAI,EAAE;oBACvB,QAAQ,EAAE,GAAG,CAAC,KAAK;oBACnB,KAAK,EAAE,IAAI;iBACX,CAAC,CAAC;gBAEJ,IACA,CAAC;oBACA,eAAe,GAAG,MAAM,IAAI,CAAC,iBAAiB,CAAE,OAAO,CAAC,CAAC;gBAC1D,CAAC;gBACD,OAAO,EAAE,EACT,CAAC;oBACA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,gCAAgC,GAAG,CAAC,EAAE,KAAK,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAE9E,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI;wBACjC,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC;oBAEhD,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE,EAAE,KAAK,EAAE,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;oBAE9C,OAAO;gBACR,CAAC;gBAED,IAAI,eAAe,KAAK,SAAS,EACjC,CAAC;oBACA,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,iCAAiC,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;oBAEhE,IAAI,IAAI,CAAC,iBAAiB,IAAI,IAAI;wBACjC,MAAM,IAAI,CAAC,iBAAiB,CAAE,GAAG,EAAE,cAAc,CAAC,CAAC;oBAEpD,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE,EAAE,KAAK,EAAE,cAAc,EAAE,CAAC,CAAC;oBAElD,OAAO;gBACR,CAAC;YACF,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,OAAO,CAAE,GAAG,EAAE,CAAC,+BAA+B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;YAEpE,mEAAmE;YACnE,6DAA6D;YAC7D,IAAI,SAAS,GAAkC,IAAI,iDAA6B,CAAE;gBAChF,kBAAkB,EAAE,SAAS;aAC7B,CAAC,CAAC;YAEJ,IAAI,aAAa,GAAW,IAAI,CAAC,oBAAoB,CAAE,eAAe,CAAC,CAAC;YAExE,IACA,CAAC;gBACA,MAAM,aAAa,CAAC,OAAO,CAAE,SAAS,CAAC,CAAC;gBAExC,IAAI,IAAI,CAAC,sBAAsB,IAAI,IAAI,EACvC,CAAC;oBACA,oEAAoE;oBACpE,kEAAkE;oBAClE,uCAAuC;oBACvC,IAAI,SAAS,GAAW,GAAG,IAAI,CAAC,GAAG,EAAG,IAAI,IAAI,CAAC,MAAM,EAAG,CAAC,QAAQ,CAAE,EAAE,CAAC,CAAC,KAAK,CAAE,CAAC,EAAE,EAAE,CAAC,EAAE,CAAC;oBAEvF,MAAM,IAAI,CAAC,sBAAsB,CAAE,SAAS,EAAE,eAAe,CAAC,CAAC;gBAChE,CAAC;gBAED,iEAAiE;gBACjE,gEAAgE;gBAChE,4BAA4B;gBAC5B,MAAM,SAAS,CAAC,aAAa,CAAE,GAAU,EAAE,GAAU,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YAClE,CAAC;YACD,OAAO,EAAE,EACT,CAAC;gBACA,IAAI,CAAC,MAAM,CAAC,KAAK,CAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,CAAC,CAAC;gBAEvD,IAAI,GAAG,CAAC,WAAW,KAAK,KAAK,EAC7B,CAAC;oBACA,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE;wBACrB,OAAO,EAAE,KAAK;wBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;wBACzD,EAAE,EAAE,IAAI;qBACR,CAAC,CAAC;gBACL,CAAC;YACF,CAAC;oBAED,CAAC;gBACA,gEAAgE;gBAChE,kEAAkE;gBAClE,uDAAuD;gBACvD,IAAI,OAAO,GAAG,GAAG,EAAE;oBAEjB,IAAI,CAAC;wBAAC,SAAS,CAAC,KAAK,EAAG,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;oBACxC,IAAI,CAAC;wBAAC,aAAa,CAAC,KAAK,EAAG,CAAC;oBAAC,CAAC;oBAAC,OAAO,CAAC,EAAE,CAAC,CAAA,CAAC;gBAC7C,CAAC,CAAC;gBAEH,IAAI,GAAG,CAAC,aAAa;oBACpB,OAAO,EAAG,CAAC;;oBAEX,GAAG,CAAC,EAAE,CAAE,OAAO,EAAE,OAAO,CAAC,CAAC;YAC5B,CAAC;QACF,CAAC;KAAA;IAED;;;;;;;OAOG;IACG,MAAM,CAAE,GAAoB;;YAEjC,GAAG,CAAC,IAAI,CAAE,IAAI,CAAC,KAAK,EAAE,CAAO,GAAoB,EAAE,GAAqB,EAAE,EAAE;gBAE1E,MAAM,IAAI,CAAC,gBAAgB,CAAE,GAAG,EAAE,GAAG,CAAC,CAAC;YACxC,CAAC,CAAA,CAAC,CAAC;YAEJ,GAAG,CAAC,GAAG,CAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAqB,EAAE,GAAqB,EAAE,EAAE;gBAEpE,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE;oBACrB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uDAAuD,EAAE;oBACzF,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;YAEJ,GAAG,CAAC,MAAM,CAAE,IAAI,CAAC,KAAK,EAAE,CAAC,IAAqB,EAAE,GAAqB,EAAE,EAAE;gBAEvE,GAAG,CAAC,MAAM,CAAE,GAAG,CAAC,CAAC,IAAI,CAAE;oBACrB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,qBAAqB,EAAE;oBACvD,EAAE,EAAE,IAAI;iBACR,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;KAAA;CACD;AA7kBD,oCA6kBC"}
|
package/build/src/HotStaq.js
CHANGED