@crypto512/jicon-mcp 2.3.0 → 2.3.19
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/PROMPT.md +10 -28
- package/README.md +35 -7
- package/TOOL_LIST.md +206 -136
- package/dist/config/constants.d.ts +17 -4
- package/dist/config/constants.d.ts.map +1 -1
- package/dist/config/constants.js +20 -5
- package/dist/config/constants.js.map +1 -1
- package/dist/config/loader.d.ts.map +1 -1
- package/dist/config/loader.js +6 -2
- package/dist/config/loader.js.map +1 -1
- package/dist/config/types.d.ts +19 -8
- package/dist/config/types.d.ts.map +1 -1
- package/dist/config/types.js +10 -8
- package/dist/config/types.js.map +1 -1
- package/dist/confluence/client.d.ts.map +1 -1
- package/dist/confluence/client.js +7 -2
- package/dist/confluence/client.js.map +1 -1
- package/dist/confluence/tools.d.ts +8 -13
- package/dist/confluence/tools.d.ts.map +1 -1
- package/dist/confluence/tools.js +19 -37
- package/dist/confluence/tools.js.map +1 -1
- package/dist/credentials/extractor.d.ts +14 -3
- package/dist/credentials/extractor.d.ts.map +1 -1
- package/dist/credentials/extractor.js +83 -13
- package/dist/credentials/extractor.js.map +1 -1
- package/dist/credentials/index.d.ts +1 -1
- package/dist/credentials/index.d.ts.map +1 -1
- package/dist/credentials/index.js.map +1 -1
- package/dist/credentials/types.d.ts +22 -0
- package/dist/credentials/types.d.ts.map +1 -1
- package/dist/credentials/types.js.map +1 -1
- package/dist/index.js +196 -184
- package/dist/index.js.map +1 -1
- package/dist/jira/activity-tools.d.ts +0 -4
- package/dist/jira/activity-tools.d.ts.map +1 -1
- package/dist/jira/activity-tools.js +42 -65
- package/dist/jira/activity-tools.js.map +1 -1
- package/dist/jira/client.d.ts +12 -0
- package/dist/jira/client.d.ts.map +1 -1
- package/dist/jira/client.js +30 -6
- package/dist/jira/client.js.map +1 -1
- package/dist/jira/formatters.d.ts +4 -1
- package/dist/jira/formatters.d.ts.map +1 -1
- package/dist/jira/formatters.js +9 -6
- package/dist/jira/formatters.js.map +1 -1
- package/dist/jira/tools.d.ts +48 -14
- package/dist/jira/tools.d.ts.map +1 -1
- package/dist/jira/tools.js +174 -101
- package/dist/jira/tools.js.map +1 -1
- package/dist/permissions/filter.d.ts.map +1 -1
- package/dist/permissions/filter.js +8 -4
- package/dist/permissions/filter.js.map +1 -1
- package/dist/permissions/tool-registry.d.ts +15 -13
- package/dist/permissions/tool-registry.d.ts.map +1 -1
- package/dist/permissions/tool-registry.js +16 -8
- package/dist/permissions/tool-registry.js.map +1 -1
- package/dist/session/context.d.ts +3 -3
- package/dist/session/context.d.ts.map +1 -1
- package/dist/session/manager.d.ts +58 -27
- package/dist/session/manager.d.ts.map +1 -1
- package/dist/session/manager.js +177 -79
- package/dist/session/manager.js.map +1 -1
- package/dist/tempo/client.d.ts.map +1 -1
- package/dist/tempo/client.js +3 -1
- package/dist/tempo/client.js.map +1 -1
- package/dist/tempo/tools.d.ts +4 -4
- package/dist/tempo/tools.d.ts.map +1 -1
- package/dist/tempo/tools.js +15 -0
- package/dist/tempo/tools.js.map +1 -1
- package/dist/transport/http.d.ts +17 -18
- package/dist/transport/http.d.ts.map +1 -1
- package/dist/transport/http.js +135 -120
- package/dist/transport/http.js.map +1 -1
- package/dist/transport/index.d.ts +7 -2
- package/dist/transport/index.d.ts.map +1 -1
- package/dist/transport/index.js +10 -4
- package/dist/transport/index.js.map +1 -1
- package/dist/transport/types.d.ts +0 -2
- package/dist/transport/types.d.ts.map +1 -1
- package/dist/transport/types.js.map +1 -1
- package/dist/utils/buffer-tools.d.ts +2 -2
- package/dist/utils/buffer-tools.d.ts.map +1 -1
- package/dist/utils/buffer-tools.js +41 -19
- package/dist/utils/buffer-tools.js.map +1 -1
- package/dist/utils/http-client.d.ts.map +1 -1
- package/dist/utils/http-client.js +99 -2
- package/dist/utils/http-client.js.map +1 -1
- package/dist/utils/jicon-help.d.ts +1 -1
- package/dist/utils/jicon-help.d.ts.map +1 -1
- package/dist/utils/jicon-help.js +126 -336
- package/dist/utils/jicon-help.js.map +1 -1
- package/dist/utils/logger.d.ts +43 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +102 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/plantuml/tools.js +2 -2
- package/dist/utils/plantuml/tools.js.map +1 -1
- package/dist/utils/response-formatter.d.ts +8 -0
- package/dist/utils/response-formatter.d.ts.map +1 -1
- package/dist/utils/response-formatter.js +65 -7
- package/dist/utils/response-formatter.js.map +1 -1
- package/dist/utils/schemas/confluence.js +11 -11
- package/dist/utils/schemas/confluence.js.map +1 -1
- package/dist/utils/schemas/index.d.ts +11 -0
- package/dist/utils/schemas/index.d.ts.map +1 -1
- package/dist/utils/schemas/index.js.map +1 -1
- package/dist/utils/schemas/jira.d.ts +1 -1
- package/dist/utils/schemas/jira.d.ts.map +1 -1
- package/dist/utils/schemas/jira.js +37 -35
- package/dist/utils/schemas/jira.js.map +1 -1
- package/dist/utils/schemas/tempo.js +13 -13
- package/dist/utils/schemas/tempo.js.map +1 -1
- package/dist/utils/whoami-tools.d.ts +17 -0
- package/dist/utils/whoami-tools.d.ts.map +1 -0
- package/dist/utils/whoami-tools.js +90 -0
- package/dist/utils/whoami-tools.js.map +1 -0
- package/package.json +3 -3
- package/dist/credentials/client-factory.d.ts +0 -64
- package/dist/credentials/client-factory.d.ts.map +0 -1
- package/dist/credentials/client-factory.js +0 -110
- package/dist/credentials/client-factory.js.map +0 -1
- package/dist/credentials/context.d.ts +0 -25
- package/dist/credentials/context.d.ts.map +0 -1
- package/dist/credentials/context.js +0 -35
- package/dist/credentials/context.js.map +0 -1
- package/dist/utils/buffer-pipeline/index.d.ts +0 -30
- package/dist/utils/buffer-pipeline/index.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/index.js +0 -317
- package/dist/utils/buffer-pipeline/index.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.d.ts +0 -20
- package/dist/utils/buffer-pipeline/output/csv.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/csv.js +0 -117
- package/dist/utils/buffer-pipeline/output/csv.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/json.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/json.js +0 -48
- package/dist/utils/buffer-pipeline/output/json.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/markdown.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/markdown.js +0 -105
- package/dist/utils/buffer-pipeline/output/markdown.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts +0 -16
- package/dist/utils/buffer-pipeline/output/xhtml-list.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-list.js +0 -81
- package/dist/utils/buffer-pipeline/output/xhtml-list.js.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts +0 -15
- package/dist/utils/buffer-pipeline/output/xhtml-table.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/output/xhtml-table.js +0 -176
- package/dist/utils/buffer-pipeline/output/xhtml-table.js.map +0 -1
- package/dist/utils/buffer-pipeline/schema.d.ts +0 -1878
- package/dist/utils/buffer-pipeline/schema.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/schema.js +0 -168
- package/dist/utils/buffer-pipeline/schema.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.d.ts +0 -32
- package/dist/utils/buffer-pipeline/stages/filter.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/filter.js +0 -208
- package/dist/utils/buffer-pipeline/stages/filter.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.d.ts +0 -45
- package/dist/utils/buffer-pipeline/stages/format.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/format.js +0 -160
- package/dist/utils/buffer-pipeline/stages/format.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts +0 -25
- package/dist/utils/buffer-pipeline/stages/group-by.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/group-by.js +0 -190
- package/dist/utils/buffer-pipeline/stages/group-by.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.d.ts +0 -54
- package/dist/utils/buffer-pipeline/stages/select.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/select.js +0 -228
- package/dist/utils/buffer-pipeline/stages/select.js.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.d.ts +0 -20
- package/dist/utils/buffer-pipeline/stages/sort.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/stages/sort.js +0 -96
- package/dist/utils/buffer-pipeline/stages/sort.js.map +0 -1
- package/dist/utils/buffer-pipeline/types.d.ts +0 -277
- package/dist/utils/buffer-pipeline/types.d.ts.map +0 -1
- package/dist/utils/buffer-pipeline/types.js +0 -8
- package/dist/utils/buffer-pipeline/types.js.map +0 -1
- package/dist/utils/plantuml/docker-manager.d.ts +0 -37
- package/dist/utils/plantuml/docker-manager.d.ts.map +0 -1
- package/dist/utils/plantuml/docker-manager.js +0 -284
- package/dist/utils/plantuml/docker-manager.js.map +0 -1
package/dist/tempo/tools.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tempo/tools.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"tools.js","sourceRoot":"","sources":["../../src/tempo/tools.ts"],"names":[],"mappings":"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"}
|
package/dist/transport/http.d.ts
CHANGED
|
@@ -1,35 +1,34 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HTTP transport using StreamableHTTPServerTransport with per-session
|
|
2
|
+
* HTTP transport using StreamableHTTPServerTransport with per-session Server instances
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
* - For initialization requests (no session ID), create a new transport
|
|
11
|
-
* - For requests with a session ID, look up the existing transport
|
|
12
|
-
* - Clean up transports when sessions are destroyed
|
|
4
|
+
* Architecture (following MCP SDK example pattern):
|
|
5
|
+
* - Each MCP session gets its own Transport AND Server instance
|
|
6
|
+
* - Transports are stored in a map by session ID
|
|
7
|
+
* - On initialization: create new transport + new server, connect them
|
|
8
|
+
* - On subsequent requests: reuse existing transport
|
|
9
|
+
* - Sessions are cleaned up after inactivity timeout (default: 1 hour)
|
|
13
10
|
*/
|
|
14
|
-
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
15
11
|
import type { Server } from "@modelcontextprotocol/sdk/server/index.js";
|
|
16
12
|
import type { Express } from "express";
|
|
17
13
|
import type { HttpTransportConfig } from "./types.js";
|
|
18
14
|
export interface HttpServer {
|
|
19
15
|
app: Express;
|
|
20
|
-
transports: Map<string, StreamableHTTPServerTransport>;
|
|
21
16
|
start: () => Promise<void>;
|
|
22
17
|
close: () => Promise<void>;
|
|
23
18
|
}
|
|
19
|
+
/**
|
|
20
|
+
* Factory function type for creating new Server instances
|
|
21
|
+
* Each session gets its own Server instance with all tools registered
|
|
22
|
+
*/
|
|
23
|
+
export type ServerFactory = () => Server;
|
|
24
24
|
/**
|
|
25
25
|
* Creates an HTTP server with per-session StreamableHTTPServerTransport instances
|
|
26
26
|
*
|
|
27
27
|
* Session management:
|
|
28
|
-
* - Each
|
|
29
|
-
* -
|
|
30
|
-
* -
|
|
31
|
-
* - Sessions are automatically cleaned up after
|
|
32
|
-
* - Buffers are isolated between sessions (no cross-session data access)
|
|
28
|
+
* - Each session gets its own Transport + Server pair (required by MCP SDK)
|
|
29
|
+
* - Transports are stored by session ID for request routing
|
|
30
|
+
* - Per-session state (buffers, clients) is managed by SessionManager
|
|
31
|
+
* - Sessions are automatically cleaned up after inactivity timeout
|
|
33
32
|
*/
|
|
34
|
-
export declare function createHttpServer(
|
|
33
|
+
export declare function createHttpServer(createServer: ServerFactory, config: HttpTransportConfig): HttpServer;
|
|
35
34
|
//# sourceMappingURL=http.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.d.ts","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAMH,OAAO,KAAK,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACxE,OAAO,KAAK,EAAE,OAAO,EAAqB,MAAM,SAAS,CAAC;AAC1D,OAAO,KAAK,EAAE,mBAAmB,EAAE,MAAM,YAAY,CAAC;AAKtD,MAAM,WAAW,UAAU;IACzB,GAAG,EAAE,OAAO,CAAC;IACb,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;GAGG;AACH,MAAM,MAAM,aAAa,GAAG,MAAM,MAAM,CAAC;AAEzC;;;;;;;;GAQG;AACH,wBAAgB,gBAAgB,CAC9B,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,mBAAmB,GAC1B,UAAU,CA2OZ"}
|
package/dist/transport/http.js
CHANGED
|
@@ -1,195 +1,209 @@
|
|
|
1
1
|
/**
|
|
2
|
-
* HTTP transport using StreamableHTTPServerTransport with per-session
|
|
2
|
+
* HTTP transport using StreamableHTTPServerTransport with per-session Server instances
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
9
|
-
* -
|
|
10
|
-
* - For initialization requests (no session ID), create a new transport
|
|
11
|
-
* - For requests with a session ID, look up the existing transport
|
|
12
|
-
* - Clean up transports when sessions are destroyed
|
|
4
|
+
* Architecture (following MCP SDK example pattern):
|
|
5
|
+
* - Each MCP session gets its own Transport AND Server instance
|
|
6
|
+
* - Transports are stored in a map by session ID
|
|
7
|
+
* - On initialization: create new transport + new server, connect them
|
|
8
|
+
* - On subsequent requests: reuse existing transport
|
|
9
|
+
* - Sessions are cleaned up after inactivity timeout (default: 1 hour)
|
|
13
10
|
*/
|
|
14
11
|
import { randomUUID } from "crypto";
|
|
15
12
|
import { createMcpExpressApp } from "@modelcontextprotocol/sdk/server/express.js";
|
|
16
13
|
import { StreamableHTTPServerTransport } from "@modelcontextprotocol/sdk/server/streamableHttp.js";
|
|
14
|
+
import { isInitializeRequest } from "@modelcontextprotocol/sdk/types.js";
|
|
17
15
|
import { getSessionManager, runWithSession } from "../session/index.js";
|
|
18
|
-
import { DEFAULT_SESSION_TIMEOUT_MS } from "../config/constants.js";
|
|
19
16
|
import { extractCredentials } from "../credentials/extractor.js";
|
|
17
|
+
import { log, debug, error as logError } from "../utils/logger.js";
|
|
20
18
|
/**
|
|
21
19
|
* Creates an HTTP server with per-session StreamableHTTPServerTransport instances
|
|
22
20
|
*
|
|
23
21
|
* Session management:
|
|
24
|
-
* - Each
|
|
25
|
-
* -
|
|
26
|
-
* -
|
|
27
|
-
* - Sessions are automatically cleaned up after
|
|
28
|
-
* - Buffers are isolated between sessions (no cross-session data access)
|
|
22
|
+
* - Each session gets its own Transport + Server pair (required by MCP SDK)
|
|
23
|
+
* - Transports are stored by session ID for request routing
|
|
24
|
+
* - Per-session state (buffers, clients) is managed by SessionManager
|
|
25
|
+
* - Sessions are automatically cleaned up after inactivity timeout
|
|
29
26
|
*/
|
|
30
|
-
export function createHttpServer(
|
|
27
|
+
export function createHttpServer(createServer, config) {
|
|
31
28
|
const { port, host, basePath } = config;
|
|
32
|
-
// Store transports by session ID
|
|
29
|
+
// Store transports by session ID (following SDK example pattern)
|
|
33
30
|
const transports = new Map();
|
|
34
|
-
// Get session manager
|
|
31
|
+
// Get session manager
|
|
35
32
|
const sessionManager = getSessionManager();
|
|
36
33
|
/**
|
|
37
|
-
*
|
|
38
|
-
* Called by SessionManager when session times out or is explicitly destroyed
|
|
34
|
+
* Clean up a session and its transport
|
|
39
35
|
*/
|
|
40
|
-
function
|
|
36
|
+
function destroySession(sessionId) {
|
|
41
37
|
const transport = transports.get(sessionId);
|
|
42
38
|
if (transport) {
|
|
43
39
|
transport.close().catch((err) => {
|
|
44
|
-
|
|
40
|
+
logError(`Error closing transport for session ${sessionId}`, err);
|
|
45
41
|
});
|
|
46
42
|
transports.delete(sessionId);
|
|
47
|
-
console.error(`MCP transport destroyed for session: ${sessionId} (remaining: ${transports.size})`);
|
|
48
43
|
}
|
|
44
|
+
sessionManager.destroySession(sessionId);
|
|
45
|
+
log(`Session destroyed: ${sessionId} (remaining: ${transports.size})`);
|
|
49
46
|
}
|
|
50
|
-
// Register
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
47
|
+
// Register cleanup callback with session manager
|
|
48
|
+
sessionManager.setSessionDestroyedCallback((sessionId) => {
|
|
49
|
+
transports.delete(sessionId);
|
|
50
|
+
});
|
|
51
|
+
// Create Express app
|
|
54
52
|
const app = createMcpExpressApp({
|
|
55
53
|
host,
|
|
56
|
-
// When binding to 0.0.0.0, allow any host header for container deployments
|
|
57
54
|
allowedHosts: host === "0.0.0.0" ? undefined : [host, "localhost"],
|
|
58
55
|
});
|
|
59
56
|
// Health check endpoint
|
|
60
57
|
app.get("/health", (_req, res) => {
|
|
61
|
-
const sessionManager = getSessionManager();
|
|
62
58
|
res.json({
|
|
63
59
|
status: "ok",
|
|
64
60
|
sessions: sessionManager.getSessionCount(),
|
|
65
61
|
transports: transports.size,
|
|
66
62
|
});
|
|
67
63
|
});
|
|
68
|
-
// Readiness endpoint
|
|
64
|
+
// Readiness endpoint
|
|
69
65
|
app.get("/ready", (_req, res) => {
|
|
70
66
|
res.json({ status: "ready" });
|
|
71
67
|
});
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
* @throws Error if transport limit reached (coordinated with session limit)
|
|
75
|
-
*/
|
|
76
|
-
async function createSessionTransport() {
|
|
77
|
-
// Transport limit coordinated with session limit (fix: issue #5)
|
|
78
|
-
const maxTransports = sessionManager.getMaxSessions();
|
|
79
|
-
if (transports.size >= maxTransports) {
|
|
80
|
-
throw new Error(`Maximum transports limit reached (${maxTransports}). ` +
|
|
81
|
-
"Try again later or contact administrator.");
|
|
82
|
-
}
|
|
83
|
-
const transport = new StreamableHTTPServerTransport({
|
|
84
|
-
// Generate unique session IDs for each MCP session
|
|
85
|
-
sessionIdGenerator: () => randomUUID(),
|
|
86
|
-
onsessioninitialized: (sessionId) => {
|
|
87
|
-
// Store the transport by session ID once initialized
|
|
88
|
-
transports.set(sessionId, transport);
|
|
89
|
-
console.error(`MCP transport created for session: ${sessionId} (total: ${transports.size})`);
|
|
90
|
-
},
|
|
91
|
-
enableJsonResponse: true,
|
|
92
|
-
});
|
|
93
|
-
// Connect this transport to the server
|
|
94
|
-
await server.connect(transport);
|
|
95
|
-
return transport;
|
|
96
|
-
}
|
|
97
|
-
// Mount MCP endpoint with session context wrapping
|
|
98
|
-
app.all(basePath, async (req, res) => {
|
|
68
|
+
// Handle POST requests (initialization and tool calls)
|
|
69
|
+
app.post(basePath, async (req, res) => {
|
|
99
70
|
// Extract credentials from HTTP headers
|
|
100
71
|
const credentials = extractCredentials(req.headers);
|
|
101
72
|
// Get session ID from MCP session header
|
|
102
73
|
const sessionId = req.headers["mcp-session-id"];
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
74
|
+
try {
|
|
75
|
+
let transport;
|
|
76
|
+
if (sessionId && transports.has(sessionId)) {
|
|
77
|
+
// Reuse existing transport for this session
|
|
78
|
+
transport = transports.get(sessionId);
|
|
79
|
+
debug(`Request for existing session: ${sessionId}`);
|
|
80
|
+
// Get or update session data (handles credential changes)
|
|
81
|
+
const session = sessionManager.getOrCreateSession(sessionId, credentials);
|
|
82
|
+
// Run request within session context
|
|
83
|
+
await runWithSession({
|
|
84
|
+
sessionId,
|
|
85
|
+
credentials: session.credentials,
|
|
86
|
+
buffer: session.buffer,
|
|
87
|
+
jiraClient: session.clients.jira,
|
|
88
|
+
confluenceClient: session.clients.confluence,
|
|
89
|
+
tempoClient: session.clients.tempo,
|
|
90
|
+
writeHomeValidator: session.writeHomeValidator,
|
|
91
|
+
}, async () => {
|
|
92
|
+
await transport.handleRequest(req, res, req.body);
|
|
93
|
+
});
|
|
94
|
+
}
|
|
95
|
+
else if (!sessionId && isInitializeRequest(req.body)) {
|
|
96
|
+
// New initialization request - create new transport and server
|
|
97
|
+
debug(`Initialization request from ${req.ip}`);
|
|
98
|
+
transport = new StreamableHTTPServerTransport({
|
|
99
|
+
sessionIdGenerator: () => randomUUID(),
|
|
100
|
+
onsessioninitialized: (newSessionId) => {
|
|
101
|
+
// Store transport by session ID when session is initialized
|
|
102
|
+
transports.set(newSessionId, transport);
|
|
103
|
+
log(`MCP session initialized: ${newSessionId} (total: ${transports.size})`);
|
|
104
|
+
},
|
|
105
|
+
enableJsonResponse: true,
|
|
106
|
+
});
|
|
107
|
+
// Set up onclose handler to clean up when transport closes
|
|
108
|
+
transport.onclose = () => {
|
|
109
|
+
const sid = transport.sessionId;
|
|
110
|
+
if (sid && transports.has(sid)) {
|
|
111
|
+
log(`Transport closed for session ${sid}, cleaning up`);
|
|
112
|
+
destroySession(sid);
|
|
113
|
+
}
|
|
114
|
+
};
|
|
115
|
+
transport.onerror = (error) => {
|
|
116
|
+
logError(`Transport error for session ${transport.sessionId || "unknown"}`, error);
|
|
117
|
+
};
|
|
118
|
+
// Create new server instance and connect transport to it
|
|
119
|
+
const server = createServer();
|
|
120
|
+
await server.connect(transport);
|
|
121
|
+
// Handle the initialization request
|
|
122
|
+
await transport.handleRequest(req, res, req.body);
|
|
123
|
+
}
|
|
124
|
+
else {
|
|
125
|
+
// Invalid request - no session ID or not initialization request
|
|
126
|
+
res.status(400).json({
|
|
109
127
|
jsonrpc: "2.0",
|
|
110
128
|
error: {
|
|
111
|
-
code: -
|
|
112
|
-
message: "
|
|
129
|
+
code: -32600,
|
|
130
|
+
message: "Bad Request: No valid session ID provided",
|
|
113
131
|
},
|
|
114
132
|
id: null,
|
|
115
133
|
});
|
|
116
|
-
return;
|
|
117
134
|
}
|
|
118
|
-
// Get or create our session data
|
|
119
|
-
const sessionManager = getSessionManager();
|
|
120
|
-
const session = sessionManager.getOrCreateSession(sessionId, credentials);
|
|
121
|
-
// Run request within session context
|
|
122
|
-
await runWithSession({
|
|
123
|
-
sessionId,
|
|
124
|
-
credentials: session.credentials,
|
|
125
|
-
buffer: session.buffer,
|
|
126
|
-
jiraClient: session.clients.jira,
|
|
127
|
-
confluenceClient: session.clients.confluence,
|
|
128
|
-
tempoClient: session.clients.tempo,
|
|
129
|
-
writeHomeValidator: session.writeHomeValidator,
|
|
130
|
-
}, async () => {
|
|
131
|
-
await transport.handleRequest(req, res, req.body);
|
|
132
|
-
});
|
|
133
135
|
}
|
|
134
|
-
|
|
135
|
-
|
|
136
|
-
|
|
137
|
-
const transport = await createSessionTransport();
|
|
138
|
-
await transport.handleRequest(req, res, req.body);
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
console.error("Error creating session transport:", error);
|
|
136
|
+
catch (error) {
|
|
137
|
+
logError("Error handling MCP request", error);
|
|
138
|
+
if (!res.headersSent) {
|
|
142
139
|
res.status(500).json({
|
|
143
140
|
jsonrpc: "2.0",
|
|
144
|
-
error: {
|
|
145
|
-
code: -32603,
|
|
146
|
-
message: "Internal error creating session",
|
|
147
|
-
},
|
|
141
|
+
error: { code: -32603, message: "Internal server error" },
|
|
148
142
|
id: null,
|
|
149
143
|
});
|
|
150
144
|
}
|
|
151
145
|
}
|
|
152
146
|
});
|
|
147
|
+
// Handle GET requests for SSE streams
|
|
148
|
+
app.get(basePath, async (req, res) => {
|
|
149
|
+
const sessionId = req.headers["mcp-session-id"];
|
|
150
|
+
if (!sessionId || !transports.has(sessionId)) {
|
|
151
|
+
res.status(400).json({
|
|
152
|
+
jsonrpc: "2.0",
|
|
153
|
+
error: { code: -32600, message: "Invalid or missing session ID" },
|
|
154
|
+
id: null,
|
|
155
|
+
});
|
|
156
|
+
return;
|
|
157
|
+
}
|
|
158
|
+
const lastEventId = req.headers["last-event-id"];
|
|
159
|
+
if (lastEventId) {
|
|
160
|
+
debug(`Client reconnecting with Last-Event-ID: ${lastEventId}`);
|
|
161
|
+
}
|
|
162
|
+
else {
|
|
163
|
+
debug(`Establishing new SSE stream for session ${sessionId}`);
|
|
164
|
+
}
|
|
165
|
+
const transport = transports.get(sessionId);
|
|
166
|
+
await transport.handleRequest(req, res);
|
|
167
|
+
});
|
|
153
168
|
// Handle DELETE requests for session termination
|
|
154
169
|
app.delete(basePath, async (req, res) => {
|
|
155
170
|
const sessionId = req.headers["mcp-session-id"];
|
|
156
|
-
if (!sessionId) {
|
|
171
|
+
if (!sessionId || !transports.has(sessionId)) {
|
|
157
172
|
res.status(400).json({
|
|
158
173
|
jsonrpc: "2.0",
|
|
159
|
-
error: {
|
|
160
|
-
code: -32600,
|
|
161
|
-
message: "Session ID required for DELETE",
|
|
162
|
-
},
|
|
174
|
+
error: { code: -32600, message: "Invalid or missing session ID" },
|
|
163
175
|
id: null,
|
|
164
176
|
});
|
|
165
177
|
return;
|
|
166
178
|
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
171
|
-
|
|
179
|
+
log(`Session termination request for session ${sessionId}`);
|
|
180
|
+
try {
|
|
181
|
+
const transport = transports.get(sessionId);
|
|
182
|
+
await transport.handleRequest(req, res);
|
|
183
|
+
}
|
|
184
|
+
catch (error) {
|
|
185
|
+
logError("Error handling session termination", error);
|
|
186
|
+
if (!res.headersSent) {
|
|
187
|
+
res.status(500).send("Error processing session termination");
|
|
188
|
+
}
|
|
189
|
+
}
|
|
172
190
|
});
|
|
173
191
|
let httpServer = null;
|
|
174
192
|
return {
|
|
175
193
|
app,
|
|
176
|
-
transports,
|
|
177
194
|
start: async () => {
|
|
178
|
-
// Start HTTP server (transports are
|
|
195
|
+
// Start HTTP server (no transport created here - transports are per-session)
|
|
179
196
|
return new Promise((resolve) => {
|
|
180
197
|
httpServer = app.listen(port, host, () => {
|
|
181
|
-
//
|
|
182
|
-
|
|
183
|
-
|
|
184
|
-
httpServer.
|
|
185
|
-
httpServer.
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
console.error(`Health check: http://${host}:${port}/health`);
|
|
191
|
-
console.error("Session management: enabled (per-session transports, 30-min timeout)");
|
|
192
|
-
console.error("SSE connections: timeout disabled for long-lived streams");
|
|
198
|
+
// Configure HTTP server timeouts for SSE
|
|
199
|
+
httpServer.setTimeout(0);
|
|
200
|
+
httpServer.keepAliveTimeout = 24 * 60 * 60 * 1000;
|
|
201
|
+
httpServer.headersTimeout = 60000;
|
|
202
|
+
httpServer.requestTimeout = 0;
|
|
203
|
+
log(`HTTP server listening on http://${host}:${port}`);
|
|
204
|
+
log(`MCP endpoint: http://${host}:${port}${basePath}`);
|
|
205
|
+
log(`Health check: http://${host}:${port}/health`);
|
|
206
|
+
log(`Session management: per-session transport + server`);
|
|
193
207
|
resolve();
|
|
194
208
|
});
|
|
195
209
|
});
|
|
@@ -199,13 +213,14 @@ export function createHttpServer(server, config) {
|
|
|
199
213
|
for (const [sessionId, transport] of transports) {
|
|
200
214
|
try {
|
|
201
215
|
await transport.close();
|
|
202
|
-
|
|
216
|
+
log(`Transport closed for session ${sessionId}`);
|
|
203
217
|
}
|
|
204
218
|
catch (err) {
|
|
205
|
-
|
|
219
|
+
logError(`Error closing transport for session ${sessionId}`, err);
|
|
206
220
|
}
|
|
207
221
|
}
|
|
208
222
|
transports.clear();
|
|
223
|
+
// Close HTTP server
|
|
209
224
|
if (httpServer) {
|
|
210
225
|
return new Promise((resolve, reject) => {
|
|
211
226
|
httpServer.close((err) => {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA
|
|
1
|
+
{"version":3,"file":"http.js","sourceRoot":"","sources":["../../src/transport/http.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AACpC,OAAO,EAAE,mBAAmB,EAAE,MAAM,6CAA6C,CAAC;AAClF,OAAO,EAAE,6BAA6B,EAAE,MAAM,oDAAoD,CAAC;AACnG,OAAO,EAAE,mBAAmB,EAAE,MAAM,oCAAoC,CAAC;AAIzE,OAAO,EAAE,iBAAiB,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACxE,OAAO,EAAE,kBAAkB,EAA0B,MAAM,6BAA6B,CAAC;AACzF,OAAO,EAAE,GAAG,EAAE,KAAK,EAAE,KAAK,IAAI,QAAQ,EAAE,MAAM,oBAAoB,CAAC;AAcnE;;;;;;;;GAQG;AACH,MAAM,UAAU,gBAAgB,CAC9B,YAA2B,EAC3B,MAA2B;IAE3B,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAExC,iEAAiE;IACjE,MAAM,UAAU,GAAG,IAAI,GAAG,EAAyC,CAAC;IAEpE,sBAAsB;IACtB,MAAM,cAAc,GAAG,iBAAiB,EAAE,CAAC;IAE3C;;OAEG;IACH,SAAS,cAAc,CAAC,SAAiB;QACvC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;QAC5C,IAAI,SAAS,EAAE,CAAC;YACd,SAAS,CAAC,KAAK,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;gBAC9B,QAAQ,CAAC,uCAAuC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;YACpE,CAAC,CAAC,CAAC;YACH,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;QAC/B,CAAC;QAED,cAAc,CAAC,cAAc,CAAC,SAAS,CAAC,CAAC;QACzC,GAAG,CAAC,sBAAsB,SAAS,gBAAgB,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;IACzE,CAAC;IAED,iDAAiD;IACjD,cAAc,CAAC,2BAA2B,CAAC,CAAC,SAAS,EAAE,EAAE;QACvD,UAAU,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;IAC/B,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,MAAM,GAAG,GAAG,mBAAmB,CAAC;QAC9B,IAAI;QACJ,YAAY,EAAE,IAAI,KAAK,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC,CAAC,CAAC,IAAI,EAAE,WAAW,CAAC;KACnE,CAAC,CAAC;IAEH,wBAAwB;IACxB,GAAG,CAAC,GAAG,CAAC,SAAS,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QAClD,GAAG,CAAC,IAAI,CAAC;YACP,MAAM,EAAE,IAAI;YACZ,QAAQ,EAAE,cAAc,CAAC,eAAe,EAAE;YAC1C,UAAU,EAAE,UAAU,CAAC,IAAI;SAC5B,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;IAEH,qBAAqB;IACrB,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,CAAC,IAAa,EAAE,GAAa,EAAE,EAAE;QACjD,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,EAAE,OAAO,EAAE,CAAC,CAAC;IAChC,CAAC,CAAC,CAAC;IAEH,uDAAuD;IACvD,GAAG,CAAC,IAAI,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACvD,wCAAwC;QACxC,MAAM,WAAW,GAAG,kBAAkB,CAAC,GAAG,CAAC,OAA4B,CAAC,CAAC;QAEzE,yCAAyC;QACzC,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QAEtE,IAAI,CAAC;YACH,IAAI,SAAwC,CAAC;YAE7C,IAAI,SAAS,IAAI,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;gBAC3C,4CAA4C;gBAC5C,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;gBACvC,KAAK,CAAC,iCAAiC,SAAS,EAAE,CAAC,CAAC;gBAEpD,0DAA0D;gBAC1D,MAAM,OAAO,GAAG,cAAc,CAAC,kBAAkB,CAAC,SAAS,EAAE,WAAW,CAAC,CAAC;gBAE1E,qCAAqC;gBACrC,MAAM,cAAc,CAClB;oBACE,SAAS;oBACT,WAAW,EAAE,OAAO,CAAC,WAAW;oBAChC,MAAM,EAAE,OAAO,CAAC,MAAM;oBACtB,UAAU,EAAE,OAAO,CAAC,OAAO,CAAC,IAAI;oBAChC,gBAAgB,EAAE,OAAO,CAAC,OAAO,CAAC,UAAU;oBAC5C,WAAW,EAAE,OAAO,CAAC,OAAO,CAAC,KAAK;oBAClC,kBAAkB,EAAE,OAAO,CAAC,kBAAkB;iBAC/C,EACD,KAAK,IAAI,EAAE;oBACT,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;gBACpD,CAAC,CACF,CAAC;YACJ,CAAC;iBAAM,IAAI,CAAC,SAAS,IAAI,mBAAmB,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,CAAC;gBACvD,+DAA+D;gBAC/D,KAAK,CAAC,+BAA+B,GAAG,CAAC,EAAE,EAAE,CAAC,CAAC;gBAE/C,SAAS,GAAG,IAAI,6BAA6B,CAAC;oBAC5C,kBAAkB,EAAE,GAAG,EAAE,CAAC,UAAU,EAAE;oBACtC,oBAAoB,EAAE,CAAC,YAAY,EAAE,EAAE;wBACrC,4DAA4D;wBAC5D,UAAU,CAAC,GAAG,CAAC,YAAY,EAAE,SAAS,CAAC,CAAC;wBACxC,GAAG,CAAC,4BAA4B,YAAY,YAAY,UAAU,CAAC,IAAI,GAAG,CAAC,CAAC;oBAC9E,CAAC;oBACD,kBAAkB,EAAE,IAAI;iBACzB,CAAC,CAAC;gBAEH,2DAA2D;gBAC3D,SAAS,CAAC,OAAO,GAAG,GAAG,EAAE;oBACvB,MAAM,GAAG,GAAG,SAAS,CAAC,SAAS,CAAC;oBAChC,IAAI,GAAG,IAAI,UAAU,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;wBAC/B,GAAG,CAAC,gCAAgC,GAAG,eAAe,CAAC,CAAC;wBACxD,cAAc,CAAC,GAAG,CAAC,CAAC;oBACtB,CAAC;gBACH,CAAC,CAAC;gBAEF,SAAS,CAAC,OAAO,GAAG,CAAC,KAAY,EAAE,EAAE;oBACnC,QAAQ,CAAC,+BAA+B,SAAS,CAAC,SAAS,IAAI,SAAS,EAAE,EAAE,KAAK,CAAC,CAAC;gBACrF,CAAC,CAAC;gBAEF,yDAAyD;gBACzD,MAAM,MAAM,GAAG,YAAY,EAAE,CAAC;gBAC9B,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;gBAEhC,oCAAoC;gBACpC,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,EAAE,GAAG,CAAC,IAAI,CAAC,CAAC;YACpD,CAAC;iBAAM,CAAC;gBACN,gEAAgE;gBAChE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE;wBACL,IAAI,EAAE,CAAC,KAAK;wBACZ,OAAO,EAAE,2CAA2C;qBACrD;oBACD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,4BAA4B,EAAE,KAAK,CAAC,CAAC;YAC9C,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;oBACnB,OAAO,EAAE,KAAK;oBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,uBAAuB,EAAE;oBACzD,EAAE,EAAE,IAAI;iBACT,CAAC,CAAC;YACL,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,sCAAsC;IACtC,GAAG,CAAC,GAAG,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACtD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QAEtE,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE;gBACjE,EAAE,EAAE,IAAI;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,MAAM,WAAW,GAAG,GAAG,CAAC,OAAO,CAAC,eAAe,CAAC,CAAC;QACjD,IAAI,WAAW,EAAE,CAAC;YAChB,KAAK,CAAC,2CAA2C,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;aAAM,CAAC;YACN,KAAK,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QAChE,CAAC;QAED,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;QAC7C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;IAC1C,CAAC,CAAC,CAAC;IAEH,iDAAiD;IACjD,GAAG,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;QACzD,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,gBAAgB,CAAuB,CAAC;QAEtE,IAAI,CAAC,SAAS,IAAI,CAAC,UAAU,CAAC,GAAG,CAAC,SAAS,CAAC,EAAE,CAAC;YAC7C,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC;gBACnB,OAAO,EAAE,KAAK;gBACd,KAAK,EAAE,EAAE,IAAI,EAAE,CAAC,KAAK,EAAE,OAAO,EAAE,+BAA+B,EAAE;gBACjE,EAAE,EAAE,IAAI;aACT,CAAC,CAAC;YACH,OAAO;QACT,CAAC;QAED,GAAG,CAAC,2CAA2C,SAAS,EAAE,CAAC,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,CAAC,SAAS,CAAE,CAAC;YAC7C,MAAM,SAAS,CAAC,aAAa,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;QAC1C,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,QAAQ,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;YACtD,IAAI,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;gBACrB,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;YAC/D,CAAC;QACH,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,IAAI,UAAU,GAAyC,IAAI,CAAC;IAE5D,OAAO;QACL,GAAG;QACH,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,6EAA6E;YAC7E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,EAAE;gBAC7B,UAAU,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,EAAE,IAAI,EAAE,GAAG,EAAE;oBACvC,yCAAyC;oBACzC,UAAW,CAAC,UAAU,CAAC,CAAC,CAAC,CAAC;oBAC1B,UAAW,CAAC,gBAAgB,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,IAAI,CAAC;oBACnD,UAAW,CAAC,cAAc,GAAG,KAAK,CAAC;oBACnC,UAAW,CAAC,cAAc,GAAG,CAAC,CAAC;oBAE/B,GAAG,CAAC,mCAAmC,IAAI,IAAI,IAAI,EAAE,CAAC,CAAC;oBACvD,GAAG,CAAC,wBAAwB,IAAI,IAAI,IAAI,GAAG,QAAQ,EAAE,CAAC,CAAC;oBACvD,GAAG,CAAC,wBAAwB,IAAI,IAAI,IAAI,SAAS,CAAC,CAAC;oBACnD,GAAG,CAAC,oDAAoD,CAAC,CAAC;oBAC1D,OAAO,EAAE,CAAC;gBACZ,CAAC,CAAC,CAAC;YACL,CAAC,CAAC,CAAC;QACL,CAAC;QACD,KAAK,EAAE,KAAK,IAAI,EAAE;YAChB,uBAAuB;YACvB,KAAK,MAAM,CAAC,SAAS,EAAE,SAAS,CAAC,IAAI,UAAU,EAAE,CAAC;gBAChD,IAAI,CAAC;oBACH,MAAM,SAAS,CAAC,KAAK,EAAE,CAAC;oBACxB,GAAG,CAAC,gCAAgC,SAAS,EAAE,CAAC,CAAC;gBACnD,CAAC;gBAAC,OAAO,GAAG,EAAE,CAAC;oBACb,QAAQ,CAAC,uCAAuC,SAAS,EAAE,EAAE,GAAG,CAAC,CAAC;gBACpE,CAAC;YACH,CAAC;YACD,UAAU,CAAC,KAAK,EAAE,CAAC;YAEnB,oBAAoB;YACpB,IAAI,UAAU,EAAE,CAAC;gBACf,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;oBACrC,UAAW,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;wBACxB,IAAI,GAAG;4BAAE,MAAM,CAAC,GAAG,CAAC,CAAC;;4BAChB,OAAO,EAAE,CAAC;oBACjB,CAAC,CAAC,CAAC;gBACL,CAAC,CAAC,CAAC;YACL,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}
|
|
@@ -1,10 +1,11 @@
|
|
|
1
1
|
/**
|
|
2
2
|
* Transport module - factory for creating stdio or HTTP transports
|
|
3
3
|
*/
|
|
4
|
-
import type
|
|
4
|
+
import { type ServerFactory } from "./http.js";
|
|
5
5
|
import type { TransportConfig } from "./types.js";
|
|
6
6
|
export type { TransportMode, HttpTransportConfig, TransportConfig } from "./types.js";
|
|
7
7
|
export { DEFAULT_TRANSPORT_CONFIG } from "./types.js";
|
|
8
|
+
export type { ServerFactory } from "./http.js";
|
|
8
9
|
export interface TransportResult {
|
|
9
10
|
mode: "stdio" | "http";
|
|
10
11
|
start: () => Promise<void>;
|
|
@@ -12,6 +13,10 @@ export interface TransportResult {
|
|
|
12
13
|
}
|
|
13
14
|
/**
|
|
14
15
|
* Creates and starts a transport based on configuration
|
|
16
|
+
*
|
|
17
|
+
* @param createServer - Factory function to create Server instances
|
|
18
|
+
* For HTTP mode: called once per session (each session gets its own Server)
|
|
19
|
+
* For stdio mode: called once at startup
|
|
15
20
|
*/
|
|
16
|
-
export declare function createTransport(
|
|
21
|
+
export declare function createTransport(createServer: ServerFactory, config: TransportConfig): TransportResult;
|
|
17
22
|
//# sourceMappingURL=index.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,KAAK,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/transport/index.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAoB,KAAK,aAAa,EAAE,MAAM,WAAW,CAAC;AACjE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AAGlD,YAAY,EAAE,aAAa,EAAE,mBAAmB,EAAE,eAAe,EAAE,MAAM,YAAY,CAAC;AACtF,OAAO,EAAE,wBAAwB,EAAE,MAAM,YAAY,CAAC;AACtD,YAAY,EAAE,aAAa,EAAE,MAAM,WAAW,CAAC;AAE/C,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,OAAO,GAAG,MAAM,CAAC;IACvB,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;IAC3B,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAED;;;;;;GAMG;AACH,wBAAgB,eAAe,CAC7B,YAAY,EAAE,aAAa,EAC3B,MAAM,EAAE,eAAe,GACtB,eAAe,CAuBjB"}
|