@carbonvoice/cv-mcp-server 1.1.3 → 2.1.0

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.
Files changed (54) hide show
  1. package/dist/auth/auth.service.js +79 -0
  2. package/dist/auth/auth.service.js.map +1 -0
  3. package/dist/auth/index.js +15 -0
  4. package/dist/auth/index.js.map +1 -1
  5. package/dist/auth/interfaces/auth.types.js +3 -0
  6. package/dist/auth/interfaces/auth.types.js.map +1 -0
  7. package/dist/auth/interfaces/index.js +1 -0
  8. package/dist/auth/interfaces/index.js.map +1 -1
  9. package/dist/cv-api.js +13 -5
  10. package/dist/cv-api.js.map +1 -1
  11. package/dist/server.js +143 -31
  12. package/dist/server.js.map +1 -1
  13. package/dist/transports/http/interfaces/index.js +3 -0
  14. package/dist/transports/http/interfaces/index.js.map +1 -0
  15. package/dist/transports/http/middleware/add-mcp-session-id.middleware.js +20 -13
  16. package/dist/transports/http/middleware/add-mcp-session-id.middleware.js.map +1 -1
  17. package/dist/transports/http/middleware/add-request-id.middlware.js +13 -4
  18. package/dist/transports/http/middleware/add-request-id.middlware.js.map +1 -1
  19. package/dist/transports/http/middleware/log-request.middlware.js +27 -11
  20. package/dist/transports/http/middleware/log-request.middlware.js.map +1 -1
  21. package/dist/transports/http/session/index.js +34 -0
  22. package/dist/transports/http/session/index.js.map +1 -0
  23. package/dist/transports/http/session/session-cleanup.js +60 -0
  24. package/dist/transports/http/session/session-cleanup.js.map +1 -0
  25. package/dist/transports/http/session/session-manager.js +52 -0
  26. package/dist/transports/http/session/session-manager.js.map +1 -0
  27. package/dist/transports/http/session/session.config.js +29 -0
  28. package/dist/transports/http/session/session.config.js.map +1 -0
  29. package/dist/transports/http/session/session.logger.js +68 -0
  30. package/dist/transports/http/session/session.logger.js.map +1 -0
  31. package/dist/transports/http/session/session.service.js +196 -0
  32. package/dist/transports/http/session/session.service.js.map +1 -0
  33. package/dist/transports/http/session/session.types.js +31 -0
  34. package/dist/transports/http/session/session.types.js.map +1 -0
  35. package/dist/transports/http/streamable.js +184 -427
  36. package/dist/transports/http/streamable.js.map +1 -1
  37. package/dist/transports/http/utils/request-context.js +78 -0
  38. package/dist/transports/http/utils/request-context.js.map +1 -0
  39. package/dist/utils/axios-instance.js +34 -22
  40. package/dist/utils/axios-instance.js.map +1 -1
  41. package/dist/utils/get-process-uptime.js +13 -0
  42. package/dist/utils/get-process-uptime.js.map +1 -0
  43. package/dist/utils/index.js +2 -2
  44. package/dist/utils/index.js.map +1 -1
  45. package/dist/utils/logger.js +34 -11
  46. package/dist/utils/logger.js.map +1 -1
  47. package/dist/utils/{format-time-to-human.js → time-to-human.js} +17 -7
  48. package/dist/utils/time-to-human.js.map +1 -0
  49. package/package.json +1 -1
  50. package/dist/auth/auth-middleware.js +0 -203
  51. package/dist/auth/auth-middleware.js.map +0 -1
  52. package/dist/utils/format-time-to-human.js.map +0 -1
  53. package/dist/utils/format-uptime.js +0 -13
  54. package/dist/utils/format-uptime.js.map +0 -1
@@ -0,0 +1,196 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.sessionService = exports.SessionService = void 0;
4
+ const session_config_1 = require("./session.config");
5
+ const session_logger_1 = require("./session.logger");
6
+ const session_types_1 = require("./session.types");
7
+ const session_manager_1 = require("./session-manager");
8
+ class SessionService {
9
+ constructor(sessionManager, config = new session_config_1.SessionConfig()) {
10
+ this.sessionManager = sessionManager;
11
+ this.config = config;
12
+ this.logger = new session_logger_1.SessionLogger();
13
+ this.config.validate();
14
+ }
15
+ createSession(transport, req, sessionId) {
16
+ var _a, _b;
17
+ // Validate inputs
18
+ if (!((_b = (_a = req.auth) === null || _a === void 0 ? void 0 : _a.extra) === null || _b === void 0 ? void 0 : _b.user)) {
19
+ throw new session_types_1.UserNotFoundError();
20
+ }
21
+ if (!sessionId) {
22
+ throw new Error('Session ID cannot be empty');
23
+ }
24
+ if (!transport) {
25
+ throw new Error('Transport cannot be null or undefined');
26
+ }
27
+ // Check if session already exists
28
+ if (this.sessionManager.hasSession(sessionId)) {
29
+ throw new Error(`Session already exists: ${sessionId}`);
30
+ }
31
+ // Check session limits
32
+ if (this.sessionManager.getSessionCount() >= this.config.maxSessions) {
33
+ throw new Error(`Maximum sessions limit reached: ${this.config.maxSessions}`);
34
+ }
35
+ const userId = req.auth.extra.user.id;
36
+ const now = new Date();
37
+ const expiresAt = new Date(now.getTime() + this.config.ttlMs);
38
+ // Create enhanced metrics
39
+ const metrics = {
40
+ sessionId,
41
+ userId,
42
+ createdAt: now,
43
+ expiresAt,
44
+ totalInteractions: 0,
45
+ totalToolCalls: 0,
46
+ lastActivityAt: now,
47
+ errorCount: 0,
48
+ averageResponseTime: 0,
49
+ };
50
+ // Create session with timeout
51
+ const timeout = setTimeout(() => {
52
+ this.logger.logSessionTimeout();
53
+ this.destroySession(sessionId);
54
+ }, this.config.ttlMs);
55
+ const session = {
56
+ transport,
57
+ timeout,
58
+ userId,
59
+ metrics,
60
+ };
61
+ // Store session
62
+ this.sessionManager.setSession(sessionId, session);
63
+ // Log session creation
64
+ this.logger.logSessionCreated();
65
+ return sessionId;
66
+ }
67
+ destroySession(sessionId) {
68
+ if (!sessionId) {
69
+ return;
70
+ }
71
+ const session = this.sessionManager.getSession(sessionId);
72
+ if (!session) {
73
+ return; // Session doesn't exist, nothing to destroy
74
+ }
75
+ if (session.destroying) {
76
+ this.logger.logSessionDebug(`Session already being destroyed: ${sessionId}`);
77
+ return;
78
+ }
79
+ try {
80
+ // Mark session as being destroyed to prevent recursive calls
81
+ session.destroying = true;
82
+ // Clear timeout
83
+ clearTimeout(session.timeout);
84
+ // Close transport
85
+ session.transport.close();
86
+ // Calculate duration
87
+ const durationInSeconds = (new Date().getTime() - session.metrics.createdAt.getTime()) / 1000;
88
+ // Log session destruction
89
+ this.logger.logSessionDestroyed(durationInSeconds, session.metrics);
90
+ // Remove from manager
91
+ this.sessionManager.deleteSession(sessionId);
92
+ }
93
+ catch (error) {
94
+ this.logger.logSessionError(error, {
95
+ action: 'destroySession',
96
+ sessionId,
97
+ });
98
+ // Still try to remove from manager even if cleanup fails
99
+ this.sessionManager.deleteSession(sessionId);
100
+ }
101
+ }
102
+ getSession(sessionId) {
103
+ if (!sessionId) {
104
+ return undefined;
105
+ }
106
+ return this.sessionManager.getSession(sessionId);
107
+ }
108
+ hasSession(sessionId) {
109
+ if (!sessionId) {
110
+ return false;
111
+ }
112
+ return this.sessionManager.hasSession(sessionId);
113
+ }
114
+ getAllSessions() {
115
+ return this.sessionManager.getAllSessions();
116
+ }
117
+ getAllSessionIds() {
118
+ return this.sessionManager.getAllSessionIds();
119
+ }
120
+ getSessionCount() {
121
+ return this.sessionManager.getSessionCount();
122
+ }
123
+ clearAllSessions() {
124
+ const sessions = this.sessionManager.getAllSessions();
125
+ for (const [sessionId] of sessions) {
126
+ this.destroySession(sessionId);
127
+ }
128
+ }
129
+ // Enhanced metrics tracking
130
+ recordInteraction(sessionId) {
131
+ const session = this.getSession(sessionId);
132
+ if (session) {
133
+ session.metrics.totalInteractions++;
134
+ session.metrics.lastActivityAt = new Date();
135
+ // Don't log automatically - let the request handler decide when to log
136
+ }
137
+ }
138
+ recordToolCall(sessionId) {
139
+ const session = this.getSession(sessionId);
140
+ if (session) {
141
+ session.metrics.totalToolCalls++;
142
+ session.metrics.totalInteractions++; // Tool calls are also interactions
143
+ session.metrics.lastActivityAt = new Date();
144
+ }
145
+ }
146
+ recordError(sessionId) {
147
+ const session = this.getSession(sessionId);
148
+ if (session) {
149
+ session.metrics.errorCount++;
150
+ // Log metrics on every error since these are important for debugging
151
+ this.logger.logSessionMetrics(session.metrics);
152
+ }
153
+ }
154
+ // Additional utility methods
155
+ getSessionMetrics(sessionId) {
156
+ const session = this.getSession(sessionId);
157
+ return session === null || session === void 0 ? void 0 : session.metrics;
158
+ }
159
+ isSessionExpired(sessionId) {
160
+ const session = this.getSession(sessionId);
161
+ if (!session) {
162
+ return true;
163
+ }
164
+ return session.metrics.expiresAt < new Date();
165
+ }
166
+ extendSession(sessionId, additionalTtlMs = this.config.ttlMs) {
167
+ const session = this.getSession(sessionId);
168
+ if (!session) {
169
+ return false;
170
+ }
171
+ // Clear existing timeout
172
+ clearTimeout(session.timeout);
173
+ // Extend expiration
174
+ const newExpiresAt = new Date(Date.now() + additionalTtlMs);
175
+ session.metrics.expiresAt = newExpiresAt;
176
+ session.metrics.lastActivityAt = new Date();
177
+ // Set new timeout
178
+ session.timeout = setTimeout(() => {
179
+ this.logger.logSessionTimeout();
180
+ this.destroySession(sessionId);
181
+ }, additionalTtlMs);
182
+ this.logger.logSessionMetrics(session.metrics);
183
+ return true;
184
+ }
185
+ // Public method to log session metrics
186
+ logSessionMetrics(sessionId) {
187
+ const session = this.getSession(sessionId);
188
+ if (session) {
189
+ this.logger.logSessionMetrics(session.metrics);
190
+ }
191
+ }
192
+ }
193
+ exports.SessionService = SessionService;
194
+ // Singleton instance
195
+ exports.sessionService = new SessionService(session_manager_1.sessionManager);
196
+ //# sourceMappingURL=session.service.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.service.js","sourceRoot":"","sources":["../../../../src/transports/http/session/session.service.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SessionAlreadyDestroyingError = exports.SessionNotFoundError = exports.UserNotFoundError = exports.SessionError = void 0;
4
+ // Error classes
5
+ class SessionError extends Error {
6
+ constructor(message, code) {
7
+ super(message);
8
+ this.code = code;
9
+ this.name = 'SessionError';
10
+ }
11
+ }
12
+ exports.SessionError = SessionError;
13
+ class UserNotFoundError extends SessionError {
14
+ constructor() {
15
+ super('User not found in session creation', 'USER_NOT_FOUND');
16
+ }
17
+ }
18
+ exports.UserNotFoundError = UserNotFoundError;
19
+ class SessionNotFoundError extends SessionError {
20
+ constructor(sessionId) {
21
+ super(`Session not found: ${sessionId}`, 'SESSION_NOT_FOUND');
22
+ }
23
+ }
24
+ exports.SessionNotFoundError = SessionNotFoundError;
25
+ class SessionAlreadyDestroyingError extends SessionError {
26
+ constructor(sessionId) {
27
+ super(`Session already being destroyed: ${sessionId}`, 'SESSION_ALREADY_DESTROYING');
28
+ }
29
+ }
30
+ exports.SessionAlreadyDestroyingError = SessionAlreadyDestroyingError;
31
+ //# sourceMappingURL=session.types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"session.types.js","sourceRoot":"","sources":["../../../../src/transports/http/session/session.types.ts"],"names":[],"mappings":";;;AA8DA,gBAAgB;AAChB,MAAa,YAAa,SAAQ,KAAK;IACrC,YACE,OAAe,EACR,IAAY;QAEnB,KAAK,CAAC,OAAO,CAAC,CAAC;QAFR,SAAI,GAAJ,IAAI,CAAQ;QAGnB,IAAI,CAAC,IAAI,GAAG,cAAc,CAAC;IAC7B,CAAC;CACF;AARD,oCAQC;AAED,MAAa,iBAAkB,SAAQ,YAAY;IACjD;QACE,KAAK,CAAC,oCAAoC,EAAE,gBAAgB,CAAC,CAAC;IAChE,CAAC;CACF;AAJD,8CAIC;AAED,MAAa,oBAAqB,SAAQ,YAAY;IACpD,YAAY,SAAiB;QAC3B,KAAK,CAAC,sBAAsB,SAAS,EAAE,EAAE,mBAAmB,CAAC,CAAC;IAChE,CAAC;CACF;AAJD,oDAIC;AAED,MAAa,6BAA8B,SAAQ,YAAY;IAC7D,YAAY,SAAiB;QAC3B,KAAK,CACH,oCAAoC,SAAS,EAAE,EAC/C,4BAA4B,CAC7B,CAAC;IACJ,CAAC;CACF;AAPD,sEAOC"}