@next-ai-drawio/mcp-server 0.1.6 → 0.1.8
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/README.md +1 -1
- package/dist/index.js +54 -15
- package/dist/index.js.map +1 -1
- package/package.json +3 -3
- package/dist/api-client.d.ts +0 -30
- package/dist/api-client.d.ts.map +0 -1
- package/dist/api-client.js +0 -87
- package/dist/api-client.js.map +0 -1
- package/dist/session.d.ts +0 -59
- package/dist/session.d.ts.map +0 -1
- package/dist/session.js +0 -120
- package/dist/session.js.map +0 -1
package/README.md
CHANGED
|
@@ -97,7 +97,7 @@ Use the standard MCP configuration with:
|
|
|
97
97
|
| Tool | Description |
|
|
98
98
|
|------|-------------|
|
|
99
99
|
| `start_session` | Opens browser with real-time diagram preview |
|
|
100
|
-
| `
|
|
100
|
+
| `create_new_diagram` | Create a new diagram from XML (requires `xml` argument) |
|
|
101
101
|
| `edit_diagram` | Edit diagram by ID-based operations (update/add/delete cells) |
|
|
102
102
|
| `get_diagram` | Get the current diagram XML |
|
|
103
103
|
| `export_diagram` | Save diagram to a `.drawio` file |
|
package/dist/index.js
CHANGED
|
@@ -55,7 +55,7 @@ server.prompt("diagram-workflow", "Guidelines for creating and editing draw.io d
|
|
|
55
55
|
|
|
56
56
|
## Creating a New Diagram
|
|
57
57
|
1. Call start_session to open the browser preview
|
|
58
|
-
2. Use
|
|
58
|
+
2. Use create_new_diagram with complete mxGraphModel XML to create a new diagram
|
|
59
59
|
|
|
60
60
|
## Adding Elements to Existing Diagram
|
|
61
61
|
1. Use edit_diagram with "add" operation
|
|
@@ -68,7 +68,7 @@ server.prompt("diagram-workflow", "Guidelines for creating and editing draw.io d
|
|
|
68
68
|
3. For update, provide the cell_id and complete new mxCell XML
|
|
69
69
|
|
|
70
70
|
## Important Notes
|
|
71
|
-
-
|
|
71
|
+
- create_new_diagram REPLACES the entire diagram - only use for new diagrams
|
|
72
72
|
- edit_diagram PRESERVES user's manual changes (fetches browser state first)
|
|
73
73
|
- Always use unique cell_ids when adding elements (e.g., "shape-1", "arrow-2")`,
|
|
74
74
|
},
|
|
@@ -115,16 +115,55 @@ server.registerTool("start_session", {
|
|
|
115
115
|
};
|
|
116
116
|
}
|
|
117
117
|
});
|
|
118
|
-
// Tool:
|
|
119
|
-
server.registerTool("
|
|
120
|
-
description:
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
118
|
+
// Tool: create_new_diagram
|
|
119
|
+
server.registerTool("create_new_diagram", {
|
|
120
|
+
description: `Create a NEW diagram from mxGraphModel XML. Use this when creating a diagram from scratch or replacing the current diagram entirely.
|
|
121
|
+
|
|
122
|
+
CRITICAL: You MUST provide the 'xml' argument in EVERY call. Do NOT call this tool without xml.
|
|
123
|
+
|
|
124
|
+
When to use this tool:
|
|
125
|
+
- Creating a new diagram from scratch
|
|
126
|
+
- Replacing the current diagram with a completely different one
|
|
127
|
+
- Major structural changes that require regenerating the diagram
|
|
128
|
+
|
|
129
|
+
When to use edit_diagram instead:
|
|
130
|
+
- Small modifications to existing diagram
|
|
131
|
+
- Adding/removing individual elements
|
|
132
|
+
- Changing labels, colors, or positions
|
|
133
|
+
|
|
134
|
+
XML FORMAT - Full mxGraphModel structure:
|
|
135
|
+
<mxGraphModel>
|
|
136
|
+
<root>
|
|
137
|
+
<mxCell id="0"/>
|
|
138
|
+
<mxCell id="1" parent="0"/>
|
|
139
|
+
<mxCell id="2" value="Shape" style="rounded=1;" vertex="1" parent="1">
|
|
140
|
+
<mxGeometry x="100" y="100" width="120" height="60" as="geometry"/>
|
|
141
|
+
</mxCell>
|
|
142
|
+
</root>
|
|
143
|
+
</mxGraphModel>
|
|
144
|
+
|
|
145
|
+
LAYOUT CONSTRAINTS:
|
|
146
|
+
- Keep all elements within x=0-800, y=0-600 (single page viewport)
|
|
147
|
+
- Start from margins (x=40, y=40), keep elements grouped closely
|
|
148
|
+
- Use unique IDs starting from "2" (0 and 1 are reserved)
|
|
149
|
+
- Set parent="1" for top-level shapes
|
|
150
|
+
- Space shapes 150-200px apart for clear edge routing
|
|
151
|
+
|
|
152
|
+
EDGE ROUTING RULES:
|
|
153
|
+
- Never let multiple edges share the same path - use different exitY/entryY values
|
|
154
|
+
- For bidirectional connections (A↔B), use OPPOSITE sides
|
|
155
|
+
- Always specify exitX, exitY, entryX, entryY explicitly in edge style
|
|
156
|
+
- Route edges AROUND obstacles using waypoints (add 20-30px clearance)
|
|
157
|
+
- Use natural connection points based on flow (not corners)
|
|
158
|
+
|
|
159
|
+
COMMON STYLES:
|
|
160
|
+
- Shapes: rounded=1; fillColor=#hex; strokeColor=#hex
|
|
161
|
+
- Edges: endArrow=classic; edgeStyle=orthogonalEdgeStyle; curved=1
|
|
162
|
+
- Text: fontSize=14; fontStyle=1 (bold); align=center`,
|
|
124
163
|
inputSchema: {
|
|
125
164
|
xml: z
|
|
126
165
|
.string()
|
|
127
|
-
.describe("The
|
|
166
|
+
.describe("REQUIRED: The complete mxGraphModel XML. Must always be provided."),
|
|
128
167
|
},
|
|
129
168
|
}, async ({ xml: inputXml }) => {
|
|
130
169
|
try {
|
|
@@ -158,7 +197,7 @@ server.registerTool("display_diagram", {
|
|
|
158
197
|
isError: true,
|
|
159
198
|
};
|
|
160
199
|
}
|
|
161
|
-
log.info(`
|
|
200
|
+
log.info(`Setting diagram content, ${xml.length} chars`);
|
|
162
201
|
// Sync from browser state first
|
|
163
202
|
const browserState = getState(currentSession.id);
|
|
164
203
|
if (browserState?.xml) {
|
|
@@ -175,19 +214,19 @@ server.registerTool("display_diagram", {
|
|
|
175
214
|
setState(currentSession.id, xml);
|
|
176
215
|
// Save AI result (no SVG yet - will be captured by browser)
|
|
177
216
|
addHistory(currentSession.id, xml, "");
|
|
178
|
-
log.info(`Diagram
|
|
217
|
+
log.info(`Diagram content set successfully`);
|
|
179
218
|
return {
|
|
180
219
|
content: [
|
|
181
220
|
{
|
|
182
221
|
type: "text",
|
|
183
|
-
text: `Diagram
|
|
222
|
+
text: `Diagram content set successfully!\n\nThe diagram is now visible in your browser.\n\nXML length: ${xml.length} characters`,
|
|
184
223
|
},
|
|
185
224
|
],
|
|
186
225
|
};
|
|
187
226
|
}
|
|
188
227
|
catch (error) {
|
|
189
228
|
const message = error instanceof Error ? error.message : String(error);
|
|
190
|
-
log.error("
|
|
229
|
+
log.error("create_new_diagram failed:", message);
|
|
191
230
|
return {
|
|
192
231
|
content: [{ type: "text", text: `Error: ${message}` }],
|
|
193
232
|
isError: true,
|
|
@@ -270,7 +309,7 @@ server.registerTool("edit_diagram", {
|
|
|
270
309
|
content: [
|
|
271
310
|
{
|
|
272
311
|
type: "text",
|
|
273
|
-
text: "Error: No diagram to edit. Please create a diagram first with
|
|
312
|
+
text: "Error: No diagram to edit. Please create a diagram first with create_new_diagram.",
|
|
274
313
|
},
|
|
275
314
|
],
|
|
276
315
|
isError: true,
|
|
@@ -369,7 +408,7 @@ server.registerTool("get_diagram", {
|
|
|
369
408
|
content: [
|
|
370
409
|
{
|
|
371
410
|
type: "text",
|
|
372
|
-
text: "No diagram exists yet. Use
|
|
411
|
+
text: "No diagram exists yet. Use create_new_diagram to create one.",
|
|
373
412
|
},
|
|
374
413
|
],
|
|
375
414
|
};
|
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@next-ai-drawio/mcp-server",
|
|
3
|
-
"version": "0.1.
|
|
3
|
+
"version": "0.1.8",
|
|
4
4
|
"description": "MCP server for Next AI Draw.io - AI-powered diagram generation with real-time browser preview",
|
|
5
5
|
"type": "module",
|
|
6
6
|
"main": "dist/index.js",
|
|
@@ -38,11 +38,11 @@
|
|
|
38
38
|
"dependencies": {
|
|
39
39
|
"@modelcontextprotocol/sdk": "^1.0.4",
|
|
40
40
|
"linkedom": "^0.18.0",
|
|
41
|
-
"open": "^
|
|
41
|
+
"open": "^11.0.0",
|
|
42
42
|
"zod": "^3.24.0"
|
|
43
43
|
},
|
|
44
44
|
"devDependencies": {
|
|
45
|
-
"@types/node": "^
|
|
45
|
+
"@types/node": "^24.0.0",
|
|
46
46
|
"tsx": "^4.19.0",
|
|
47
47
|
"typescript": "^5"
|
|
48
48
|
},
|
package/dist/api-client.d.ts
DELETED
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API client for communicating with the Next.js app
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - Health checks
|
|
6
|
-
* - State synchronization for browser updates
|
|
7
|
-
*/
|
|
8
|
-
interface StateResult {
|
|
9
|
-
xml?: string;
|
|
10
|
-
version?: number;
|
|
11
|
-
lastUpdated?: string;
|
|
12
|
-
error?: string;
|
|
13
|
-
}
|
|
14
|
-
declare class ApiClient {
|
|
15
|
-
/**
|
|
16
|
-
* Check if the Next.js app is running
|
|
17
|
-
*/
|
|
18
|
-
checkHealth(serverUrl: string): Promise<boolean>;
|
|
19
|
-
/**
|
|
20
|
-
* Get diagram state from the Next.js app (for browser sync)
|
|
21
|
-
*/
|
|
22
|
-
getState(serverUrl: string, sessionId: string): Promise<StateResult>;
|
|
23
|
-
/**
|
|
24
|
-
* Push diagram state to the Next.js app (for browser sync)
|
|
25
|
-
*/
|
|
26
|
-
pushState(serverUrl: string, sessionId: string, xml: string): Promise<boolean>;
|
|
27
|
-
}
|
|
28
|
-
export declare const apiClient: ApiClient;
|
|
29
|
-
export {};
|
|
30
|
-
//# sourceMappingURL=api-client.d.ts.map
|
package/dist/api-client.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.d.ts","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AAIH,UAAU,WAAW;IACjB,GAAG,CAAC,EAAE,MAAM,CAAA;IACZ,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,WAAW,CAAC,EAAE,MAAM,CAAA;IACpB,KAAK,CAAC,EAAE,MAAM,CAAA;CACjB;AAED,cAAM,SAAS;IACX;;OAEG;IACG,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAqBtD;;OAEG;IACG,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,CAAC;IA0B1E;;OAEG;IACG,SAAS,CACX,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE,MAAM,EACjB,GAAG,EAAE,MAAM,GACZ,OAAO,CAAC,OAAO,CAAC;CAuBtB;AAGD,eAAO,MAAM,SAAS,WAAkB,CAAA"}
|
package/dist/api-client.js
DELETED
|
@@ -1,87 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* API client for communicating with the Next.js app
|
|
3
|
-
*
|
|
4
|
-
* Handles:
|
|
5
|
-
* - Health checks
|
|
6
|
-
* - State synchronization for browser updates
|
|
7
|
-
*/
|
|
8
|
-
import { log } from "./logger.js";
|
|
9
|
-
class ApiClient {
|
|
10
|
-
/**
|
|
11
|
-
* Check if the Next.js app is running
|
|
12
|
-
*/
|
|
13
|
-
async checkHealth(serverUrl) {
|
|
14
|
-
try {
|
|
15
|
-
const response = await fetch(`${serverUrl}/api/mcp/health`, {
|
|
16
|
-
method: "GET",
|
|
17
|
-
signal: AbortSignal.timeout(5000),
|
|
18
|
-
});
|
|
19
|
-
return response.ok;
|
|
20
|
-
}
|
|
21
|
-
catch {
|
|
22
|
-
// If health endpoint doesn't exist, try the main page
|
|
23
|
-
try {
|
|
24
|
-
const response = await fetch(serverUrl, {
|
|
25
|
-
method: "HEAD",
|
|
26
|
-
signal: AbortSignal.timeout(5000),
|
|
27
|
-
});
|
|
28
|
-
return response.ok;
|
|
29
|
-
}
|
|
30
|
-
catch {
|
|
31
|
-
return false;
|
|
32
|
-
}
|
|
33
|
-
}
|
|
34
|
-
}
|
|
35
|
-
/**
|
|
36
|
-
* Get diagram state from the Next.js app (for browser sync)
|
|
37
|
-
*/
|
|
38
|
-
async getState(serverUrl, sessionId) {
|
|
39
|
-
try {
|
|
40
|
-
const response = await fetch(`${serverUrl}/api/mcp/state?sessionId=${encodeURIComponent(sessionId)}`, {
|
|
41
|
-
method: "GET",
|
|
42
|
-
signal: AbortSignal.timeout(5000),
|
|
43
|
-
});
|
|
44
|
-
if (!response.ok) {
|
|
45
|
-
if (response.status === 404) {
|
|
46
|
-
// No state yet, that's okay
|
|
47
|
-
return {};
|
|
48
|
-
}
|
|
49
|
-
return { error: `State API error: ${response.status}` };
|
|
50
|
-
}
|
|
51
|
-
return await response.json();
|
|
52
|
-
}
|
|
53
|
-
catch (error) {
|
|
54
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
55
|
-
log.debug(`getState failed: ${message}`);
|
|
56
|
-
return {}; // Don't error out, just return empty
|
|
57
|
-
}
|
|
58
|
-
}
|
|
59
|
-
/**
|
|
60
|
-
* Push diagram state to the Next.js app (for browser sync)
|
|
61
|
-
*/
|
|
62
|
-
async pushState(serverUrl, sessionId, xml) {
|
|
63
|
-
try {
|
|
64
|
-
const response = await fetch(`${serverUrl}/api/mcp/state`, {
|
|
65
|
-
method: "POST",
|
|
66
|
-
headers: {
|
|
67
|
-
"Content-Type": "application/json",
|
|
68
|
-
},
|
|
69
|
-
body: JSON.stringify({ sessionId, xml }),
|
|
70
|
-
signal: AbortSignal.timeout(5000),
|
|
71
|
-
});
|
|
72
|
-
if (!response.ok) {
|
|
73
|
-
log.warn(`pushState failed: ${response.status}`);
|
|
74
|
-
return false;
|
|
75
|
-
}
|
|
76
|
-
return true;
|
|
77
|
-
}
|
|
78
|
-
catch (error) {
|
|
79
|
-
const message = error instanceof Error ? error.message : String(error);
|
|
80
|
-
log.warn(`pushState failed: ${message}`);
|
|
81
|
-
return false;
|
|
82
|
-
}
|
|
83
|
-
}
|
|
84
|
-
}
|
|
85
|
-
// Export singleton instance
|
|
86
|
-
export const apiClient = new ApiClient();
|
|
87
|
-
//# sourceMappingURL=api-client.js.map
|
package/dist/api-client.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"api-client.js","sourceRoot":"","sources":["../src/api-client.ts"],"names":[],"mappings":"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"}
|
package/dist/session.d.ts
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session management for MCP server
|
|
3
|
-
*
|
|
4
|
-
* Manages diagram sessions with TTL cleanup.
|
|
5
|
-
*/
|
|
6
|
-
export interface Session {
|
|
7
|
-
id: string;
|
|
8
|
-
serverUrl: string;
|
|
9
|
-
xml: string;
|
|
10
|
-
previousXml: string;
|
|
11
|
-
version: number;
|
|
12
|
-
lastUpdated: Date;
|
|
13
|
-
createdAt: Date;
|
|
14
|
-
}
|
|
15
|
-
declare class SessionManager {
|
|
16
|
-
private sessions;
|
|
17
|
-
private currentSessionId;
|
|
18
|
-
private cleanupTimer;
|
|
19
|
-
constructor();
|
|
20
|
-
/**
|
|
21
|
-
* Generate a unique session ID
|
|
22
|
-
*/
|
|
23
|
-
private generateSessionId;
|
|
24
|
-
/**
|
|
25
|
-
* Create a new session
|
|
26
|
-
*/
|
|
27
|
-
createSession(serverUrl: string): Session;
|
|
28
|
-
/**
|
|
29
|
-
* Get the current active session
|
|
30
|
-
*/
|
|
31
|
-
getCurrentSession(): Session | null;
|
|
32
|
-
/**
|
|
33
|
-
* Get a session by ID
|
|
34
|
-
*/
|
|
35
|
-
getSession(sessionId: string): Session | null;
|
|
36
|
-
/**
|
|
37
|
-
* Update session state
|
|
38
|
-
*/
|
|
39
|
-
updateSession(sessionId: string, updates: Partial<Session>): Session | null;
|
|
40
|
-
/**
|
|
41
|
-
* Delete a session
|
|
42
|
-
*/
|
|
43
|
-
deleteSession(sessionId: string): boolean;
|
|
44
|
-
/**
|
|
45
|
-
* Cleanup expired sessions (older than TTL)
|
|
46
|
-
*/
|
|
47
|
-
private cleanupExpiredSessions;
|
|
48
|
-
/**
|
|
49
|
-
* Get all active sessions (for debugging)
|
|
50
|
-
*/
|
|
51
|
-
getAllSessions(): Session[];
|
|
52
|
-
/**
|
|
53
|
-
* Stop the cleanup timer (for graceful shutdown)
|
|
54
|
-
*/
|
|
55
|
-
destroy(): void;
|
|
56
|
-
}
|
|
57
|
-
export declare const sessionManager: SessionManager;
|
|
58
|
-
export {};
|
|
59
|
-
//# sourceMappingURL=session.d.ts.map
|
package/dist/session.d.ts.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.d.ts","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAIH,MAAM,WAAW,OAAO;IACpB,EAAE,EAAE,MAAM,CAAA;IACV,SAAS,EAAE,MAAM,CAAA;IACjB,GAAG,EAAE,MAAM,CAAA;IACX,WAAW,EAAE,MAAM,CAAA;IACnB,OAAO,EAAE,MAAM,CAAA;IACf,WAAW,EAAE,IAAI,CAAA;IACjB,SAAS,EAAE,IAAI,CAAA;CAClB;AAQD,cAAM,cAAc;IAChB,OAAO,CAAC,QAAQ,CAA6B;IAC7C,OAAO,CAAC,gBAAgB,CAAsB;IAC9C,OAAO,CAAC,YAAY,CAA8B;;IASlD;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAMzB;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAkBzC;;OAEG;IACH,iBAAiB,IAAI,OAAO,GAAG,IAAI;IAOnC;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,IAAI;IAI7C;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,CAAC,GAAG,OAAO,GAAG,IAAI;IAU3E;;OAEG;IACH,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO;IAOzC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAoB9B;;OAEG;IACH,cAAc,IAAI,OAAO,EAAE;IAI3B;;OAEG;IACH,OAAO,IAAI,IAAI;CAMlB;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAA"}
|
package/dist/session.js
DELETED
|
@@ -1,120 +0,0 @@
|
|
|
1
|
-
/**
|
|
2
|
-
* Session management for MCP server
|
|
3
|
-
*
|
|
4
|
-
* Manages diagram sessions with TTL cleanup.
|
|
5
|
-
*/
|
|
6
|
-
import { log } from "./logger.js";
|
|
7
|
-
// Session TTL in milliseconds (1 hour)
|
|
8
|
-
const SESSION_TTL = 60 * 60 * 1000;
|
|
9
|
-
// Cleanup interval (5 minutes)
|
|
10
|
-
const CLEANUP_INTERVAL = 5 * 60 * 1000;
|
|
11
|
-
class SessionManager {
|
|
12
|
-
sessions = new Map();
|
|
13
|
-
currentSessionId = null;
|
|
14
|
-
cleanupTimer = null;
|
|
15
|
-
constructor() {
|
|
16
|
-
// Start cleanup timer
|
|
17
|
-
this.cleanupTimer = setInterval(() => {
|
|
18
|
-
this.cleanupExpiredSessions();
|
|
19
|
-
}, CLEANUP_INTERVAL);
|
|
20
|
-
}
|
|
21
|
-
/**
|
|
22
|
-
* Generate a unique session ID
|
|
23
|
-
*/
|
|
24
|
-
generateSessionId() {
|
|
25
|
-
const timestamp = Date.now().toString(36);
|
|
26
|
-
const random = Math.random().toString(36).substring(2, 8);
|
|
27
|
-
return `mcp-${timestamp}-${random}`;
|
|
28
|
-
}
|
|
29
|
-
/**
|
|
30
|
-
* Create a new session
|
|
31
|
-
*/
|
|
32
|
-
createSession(serverUrl) {
|
|
33
|
-
const session = {
|
|
34
|
-
id: this.generateSessionId(),
|
|
35
|
-
serverUrl,
|
|
36
|
-
xml: "",
|
|
37
|
-
previousXml: "",
|
|
38
|
-
version: 0,
|
|
39
|
-
lastUpdated: new Date(),
|
|
40
|
-
createdAt: new Date(),
|
|
41
|
-
};
|
|
42
|
-
this.sessions.set(session.id, session);
|
|
43
|
-
this.currentSessionId = session.id;
|
|
44
|
-
log.info(`Created session: ${session.id}`);
|
|
45
|
-
return session;
|
|
46
|
-
}
|
|
47
|
-
/**
|
|
48
|
-
* Get the current active session
|
|
49
|
-
*/
|
|
50
|
-
getCurrentSession() {
|
|
51
|
-
if (!this.currentSessionId) {
|
|
52
|
-
return null;
|
|
53
|
-
}
|
|
54
|
-
return this.sessions.get(this.currentSessionId) || null;
|
|
55
|
-
}
|
|
56
|
-
/**
|
|
57
|
-
* Get a session by ID
|
|
58
|
-
*/
|
|
59
|
-
getSession(sessionId) {
|
|
60
|
-
return this.sessions.get(sessionId) || null;
|
|
61
|
-
}
|
|
62
|
-
/**
|
|
63
|
-
* Update session state
|
|
64
|
-
*/
|
|
65
|
-
updateSession(sessionId, updates) {
|
|
66
|
-
const session = this.sessions.get(sessionId);
|
|
67
|
-
if (!session) {
|
|
68
|
-
return null;
|
|
69
|
-
}
|
|
70
|
-
Object.assign(session, updates, { lastUpdated: new Date() });
|
|
71
|
-
return session;
|
|
72
|
-
}
|
|
73
|
-
/**
|
|
74
|
-
* Delete a session
|
|
75
|
-
*/
|
|
76
|
-
deleteSession(sessionId) {
|
|
77
|
-
if (this.currentSessionId === sessionId) {
|
|
78
|
-
this.currentSessionId = null;
|
|
79
|
-
}
|
|
80
|
-
return this.sessions.delete(sessionId);
|
|
81
|
-
}
|
|
82
|
-
/**
|
|
83
|
-
* Cleanup expired sessions (older than TTL)
|
|
84
|
-
*/
|
|
85
|
-
cleanupExpiredSessions() {
|
|
86
|
-
const now = Date.now();
|
|
87
|
-
let cleanedCount = 0;
|
|
88
|
-
for (const [id, session] of this.sessions) {
|
|
89
|
-
const age = now - session.lastUpdated.getTime();
|
|
90
|
-
if (age > SESSION_TTL) {
|
|
91
|
-
this.sessions.delete(id);
|
|
92
|
-
if (this.currentSessionId === id) {
|
|
93
|
-
this.currentSessionId = null;
|
|
94
|
-
}
|
|
95
|
-
cleanedCount++;
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
if (cleanedCount > 0) {
|
|
99
|
-
log.info(`Cleaned up ${cleanedCount} expired session(s)`);
|
|
100
|
-
}
|
|
101
|
-
}
|
|
102
|
-
/**
|
|
103
|
-
* Get all active sessions (for debugging)
|
|
104
|
-
*/
|
|
105
|
-
getAllSessions() {
|
|
106
|
-
return Array.from(this.sessions.values());
|
|
107
|
-
}
|
|
108
|
-
/**
|
|
109
|
-
* Stop the cleanup timer (for graceful shutdown)
|
|
110
|
-
*/
|
|
111
|
-
destroy() {
|
|
112
|
-
if (this.cleanupTimer) {
|
|
113
|
-
clearInterval(this.cleanupTimer);
|
|
114
|
-
this.cleanupTimer = null;
|
|
115
|
-
}
|
|
116
|
-
}
|
|
117
|
-
}
|
|
118
|
-
// Export singleton instance
|
|
119
|
-
export const sessionManager = new SessionManager();
|
|
120
|
-
//# sourceMappingURL=session.js.map
|
package/dist/session.js.map
DELETED
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"session.js","sourceRoot":"","sources":["../src/session.ts"],"names":[],"mappings":"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"}
|