@elliotding/ai-agent-mcp 0.1.24 → 0.1.26

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 (233) hide show
  1. package/README.md +27 -0
  2. package/package.json +4 -1
  3. package/.prompt-cache/cmd-cmd-client-sdk-ai-hub-generate-testcase.md +0 -101
  4. package/.prompt-cache/cmd-cmd-client-sdk-ai-hub-submit_zct_job.md +0 -158
  5. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-conf-status.md +0 -311
  6. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-sdk-log.md +0 -64
  7. package/.prompt-cache/skill-skill-client-sdk-ai-hub-analyze-zmb-log-errors.md +0 -84
  8. package/ai-resource-telemetry.json +0 -40
  9. package/dist/api/cached-client.d.ts +0 -48
  10. package/dist/api/cached-client.d.ts.map +0 -1
  11. package/dist/api/cached-client.js +0 -126
  12. package/dist/api/cached-client.js.map +0 -1
  13. package/dist/api/client.d.ts +0 -281
  14. package/dist/api/client.d.ts.map +0 -1
  15. package/dist/api/client.js +0 -371
  16. package/dist/api/client.js.map +0 -1
  17. package/dist/auth/index.d.ts +0 -8
  18. package/dist/auth/index.d.ts.map +0 -1
  19. package/dist/auth/index.js +0 -26
  20. package/dist/auth/index.js.map +0 -1
  21. package/dist/auth/middleware.d.ts +0 -36
  22. package/dist/auth/middleware.d.ts.map +0 -1
  23. package/dist/auth/middleware.js +0 -194
  24. package/dist/auth/middleware.js.map +0 -1
  25. package/dist/auth/permissions.d.ts +0 -60
  26. package/dist/auth/permissions.d.ts.map +0 -1
  27. package/dist/auth/permissions.js +0 -262
  28. package/dist/auth/permissions.js.map +0 -1
  29. package/dist/auth/token-validator.d.ts +0 -52
  30. package/dist/auth/token-validator.d.ts.map +0 -1
  31. package/dist/auth/token-validator.js +0 -215
  32. package/dist/auth/token-validator.js.map +0 -1
  33. package/dist/cache/cache-manager.d.ts +0 -49
  34. package/dist/cache/cache-manager.d.ts.map +0 -1
  35. package/dist/cache/cache-manager.js +0 -191
  36. package/dist/cache/cache-manager.js.map +0 -1
  37. package/dist/cache/index.d.ts +0 -6
  38. package/dist/cache/index.d.ts.map +0 -1
  39. package/dist/cache/index.js +0 -12
  40. package/dist/cache/index.js.map +0 -1
  41. package/dist/cache/redis-client.d.ts +0 -45
  42. package/dist/cache/redis-client.d.ts.map +0 -1
  43. package/dist/cache/redis-client.js +0 -210
  44. package/dist/cache/redis-client.js.map +0 -1
  45. package/dist/config/constants.d.ts +0 -28
  46. package/dist/config/constants.d.ts.map +0 -1
  47. package/dist/config/constants.js +0 -31
  48. package/dist/config/constants.js.map +0 -1
  49. package/dist/config/index.d.ts +0 -71
  50. package/dist/config/index.d.ts.map +0 -1
  51. package/dist/config/index.js +0 -190
  52. package/dist/config/index.js.map +0 -1
  53. package/dist/filesystem/manager.d.ts +0 -45
  54. package/dist/filesystem/manager.d.ts.map +0 -1
  55. package/dist/filesystem/manager.js +0 -246
  56. package/dist/filesystem/manager.js.map +0 -1
  57. package/dist/git/multi-source-manager.d.ts +0 -78
  58. package/dist/git/multi-source-manager.d.ts.map +0 -1
  59. package/dist/git/multi-source-manager.js +0 -577
  60. package/dist/git/multi-source-manager.js.map +0 -1
  61. package/dist/git/operations.d.ts +0 -27
  62. package/dist/git/operations.d.ts.map +0 -1
  63. package/dist/git/operations.js +0 -83
  64. package/dist/git/operations.js.map +0 -1
  65. package/dist/index.d.ts +0 -6
  66. package/dist/index.d.ts.map +0 -1
  67. package/dist/index.js +0 -122
  68. package/dist/index.js.map +0 -1
  69. package/dist/monitoring/health.d.ts +0 -35
  70. package/dist/monitoring/health.d.ts.map +0 -1
  71. package/dist/monitoring/health.js +0 -105
  72. package/dist/monitoring/health.js.map +0 -1
  73. package/dist/prompts/cache.d.ts +0 -69
  74. package/dist/prompts/cache.d.ts.map +0 -1
  75. package/dist/prompts/cache.js +0 -163
  76. package/dist/prompts/cache.js.map +0 -1
  77. package/dist/prompts/generator.d.ts +0 -49
  78. package/dist/prompts/generator.d.ts.map +0 -1
  79. package/dist/prompts/generator.js +0 -160
  80. package/dist/prompts/generator.js.map +0 -1
  81. package/dist/prompts/index.d.ts +0 -13
  82. package/dist/prompts/index.d.ts.map +0 -1
  83. package/dist/prompts/index.js +0 -24
  84. package/dist/prompts/index.js.map +0 -1
  85. package/dist/prompts/manager.d.ts +0 -169
  86. package/dist/prompts/manager.d.ts.map +0 -1
  87. package/dist/prompts/manager.js +0 -488
  88. package/dist/prompts/manager.js.map +0 -1
  89. package/dist/resources/index.d.ts +0 -6
  90. package/dist/resources/index.d.ts.map +0 -1
  91. package/dist/resources/index.js +0 -10
  92. package/dist/resources/index.js.map +0 -1
  93. package/dist/resources/loader.d.ts +0 -88
  94. package/dist/resources/loader.d.ts.map +0 -1
  95. package/dist/resources/loader.js +0 -492
  96. package/dist/resources/loader.js.map +0 -1
  97. package/dist/server/http.d.ts +0 -57
  98. package/dist/server/http.d.ts.map +0 -1
  99. package/dist/server/http.js +0 -435
  100. package/dist/server/http.js.map +0 -1
  101. package/dist/server.d.ts +0 -13
  102. package/dist/server.d.ts.map +0 -1
  103. package/dist/server.js +0 -200
  104. package/dist/server.js.map +0 -1
  105. package/dist/session/manager.d.ts +0 -91
  106. package/dist/session/manager.d.ts.map +0 -1
  107. package/dist/session/manager.js +0 -251
  108. package/dist/session/manager.js.map +0 -1
  109. package/dist/telemetry/index.d.ts +0 -3
  110. package/dist/telemetry/index.d.ts.map +0 -1
  111. package/dist/telemetry/index.js +0 -7
  112. package/dist/telemetry/index.js.map +0 -1
  113. package/dist/telemetry/manager.d.ts +0 -151
  114. package/dist/telemetry/manager.d.ts.map +0 -1
  115. package/dist/telemetry/manager.js +0 -367
  116. package/dist/telemetry/manager.js.map +0 -1
  117. package/dist/tools/index.d.ts +0 -12
  118. package/dist/tools/index.d.ts.map +0 -1
  119. package/dist/tools/index.js +0 -28
  120. package/dist/tools/index.js.map +0 -1
  121. package/dist/tools/manage-subscription.d.ts +0 -47
  122. package/dist/tools/manage-subscription.d.ts.map +0 -1
  123. package/dist/tools/manage-subscription.js +0 -314
  124. package/dist/tools/manage-subscription.js.map +0 -1
  125. package/dist/tools/registry.d.ts +0 -40
  126. package/dist/tools/registry.d.ts.map +0 -1
  127. package/dist/tools/registry.js +0 -85
  128. package/dist/tools/registry.js.map +0 -1
  129. package/dist/tools/search-resources.d.ts +0 -35
  130. package/dist/tools/search-resources.d.ts.map +0 -1
  131. package/dist/tools/search-resources.js +0 -159
  132. package/dist/tools/search-resources.js.map +0 -1
  133. package/dist/tools/sync-resources.d.ts +0 -54
  134. package/dist/tools/sync-resources.d.ts.map +0 -1
  135. package/dist/tools/sync-resources.js +0 -733
  136. package/dist/tools/sync-resources.js.map +0 -1
  137. package/dist/tools/track-usage.d.ts +0 -63
  138. package/dist/tools/track-usage.d.ts.map +0 -1
  139. package/dist/tools/track-usage.js +0 -90
  140. package/dist/tools/track-usage.js.map +0 -1
  141. package/dist/tools/uninstall-resource.d.ts +0 -30
  142. package/dist/tools/uninstall-resource.d.ts.map +0 -1
  143. package/dist/tools/uninstall-resource.js +0 -174
  144. package/dist/tools/uninstall-resource.js.map +0 -1
  145. package/dist/tools/upload-resource.d.ts +0 -81
  146. package/dist/tools/upload-resource.d.ts.map +0 -1
  147. package/dist/tools/upload-resource.js +0 -393
  148. package/dist/tools/upload-resource.js.map +0 -1
  149. package/dist/transport/sse.d.ts +0 -29
  150. package/dist/transport/sse.d.ts.map +0 -1
  151. package/dist/transport/sse.js +0 -271
  152. package/dist/transport/sse.js.map +0 -1
  153. package/dist/types/errors.d.ts +0 -60
  154. package/dist/types/errors.d.ts.map +0 -1
  155. package/dist/types/errors.js +0 -112
  156. package/dist/types/errors.js.map +0 -1
  157. package/dist/types/index.d.ts +0 -7
  158. package/dist/types/index.d.ts.map +0 -1
  159. package/dist/types/index.js +0 -23
  160. package/dist/types/index.js.map +0 -1
  161. package/dist/types/mcp.d.ts +0 -50
  162. package/dist/types/mcp.d.ts.map +0 -1
  163. package/dist/types/mcp.js +0 -6
  164. package/dist/types/mcp.js.map +0 -1
  165. package/dist/types/resources.d.ts +0 -109
  166. package/dist/types/resources.d.ts.map +0 -1
  167. package/dist/types/resources.js +0 -7
  168. package/dist/types/resources.js.map +0 -1
  169. package/dist/types/tools.d.ts +0 -235
  170. package/dist/types/tools.d.ts.map +0 -1
  171. package/dist/types/tools.js +0 -6
  172. package/dist/types/tools.js.map +0 -1
  173. package/dist/utils/cursor-paths.d.ts +0 -84
  174. package/dist/utils/cursor-paths.d.ts.map +0 -1
  175. package/dist/utils/cursor-paths.js +0 -166
  176. package/dist/utils/cursor-paths.js.map +0 -1
  177. package/dist/utils/log-cleaner.d.ts +0 -18
  178. package/dist/utils/log-cleaner.d.ts.map +0 -1
  179. package/dist/utils/log-cleaner.js +0 -112
  180. package/dist/utils/log-cleaner.js.map +0 -1
  181. package/dist/utils/logger.d.ts +0 -59
  182. package/dist/utils/logger.d.ts.map +0 -1
  183. package/dist/utils/logger.js +0 -292
  184. package/dist/utils/logger.js.map +0 -1
  185. package/dist/utils/validation.d.ts +0 -58
  186. package/dist/utils/validation.d.ts.map +0 -1
  187. package/dist/utils/validation.js +0 -214
  188. package/dist/utils/validation.js.map +0 -1
  189. package/src/api/cached-client.ts +0 -144
  190. package/src/api/client.ts +0 -697
  191. package/src/auth/index.ts +0 -11
  192. package/src/auth/middleware.ts +0 -244
  193. package/src/auth/permissions.ts +0 -323
  194. package/src/auth/token-validator.ts +0 -292
  195. package/src/cache/cache-manager.ts +0 -243
  196. package/src/cache/index.ts +0 -6
  197. package/src/cache/redis-client.ts +0 -249
  198. package/src/config/constants.ts +0 -33
  199. package/src/config/index.ts +0 -269
  200. package/src/filesystem/manager.ts +0 -235
  201. package/src/git/multi-source-manager.ts +0 -654
  202. package/src/git/operations.ts +0 -93
  203. package/src/index.ts +0 -157
  204. package/src/monitoring/health.ts +0 -132
  205. package/src/prompts/cache.ts +0 -140
  206. package/src/prompts/generator.ts +0 -143
  207. package/src/prompts/index.ts +0 -20
  208. package/src/prompts/manager.ts +0 -613
  209. package/src/resources/index.ts +0 -13
  210. package/src/resources/loader.ts +0 -563
  211. package/src/server/http.ts +0 -549
  212. package/src/server.ts +0 -204
  213. package/src/session/manager.ts +0 -296
  214. package/src/telemetry/index.ts +0 -10
  215. package/src/telemetry/manager.ts +0 -419
  216. package/src/tools/index.ts +0 -12
  217. package/src/tools/manage-subscription.ts +0 -385
  218. package/src/tools/registry.ts +0 -97
  219. package/src/tools/search-resources.ts +0 -185
  220. package/src/tools/sync-resources.ts +0 -827
  221. package/src/tools/track-usage.ts +0 -113
  222. package/src/tools/uninstall-resource.ts +0 -199
  223. package/src/tools/upload-resource.ts +0 -431
  224. package/src/transport/sse.ts +0 -308
  225. package/src/types/errors.ts +0 -146
  226. package/src/types/index.ts +0 -7
  227. package/src/types/mcp.ts +0 -61
  228. package/src/types/resources.ts +0 -141
  229. package/src/types/tools.ts +0 -284
  230. package/src/utils/cursor-paths.ts +0 -135
  231. package/src/utils/log-cleaner.ts +0 -92
  232. package/src/utils/logger.ts +0 -333
  233. package/src/utils/validation.ts +0 -262
package/dist/server.js DELETED
@@ -1,200 +0,0 @@
1
- "use strict";
2
- /**
3
- * MCP Server Main Logic
4
- * Implements Model Context Protocol server with dual transport support
5
- */
6
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
7
- if (k2 === undefined) k2 = k;
8
- var desc = Object.getOwnPropertyDescriptor(m, k);
9
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
10
- desc = { enumerable: true, get: function() { return m[k]; } };
11
- }
12
- Object.defineProperty(o, k2, desc);
13
- }) : (function(o, m, k, k2) {
14
- if (k2 === undefined) k2 = k;
15
- o[k2] = m[k];
16
- }));
17
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
18
- Object.defineProperty(o, "default", { enumerable: true, value: v });
19
- }) : function(o, v) {
20
- o["default"] = v;
21
- });
22
- var __importStar = (this && this.__importStar) || (function () {
23
- var ownKeys = function(o) {
24
- ownKeys = Object.getOwnPropertyNames || function (o) {
25
- var ar = [];
26
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
27
- return ar;
28
- };
29
- return ownKeys(o);
30
- };
31
- return function (mod) {
32
- if (mod && mod.__esModule) return mod;
33
- var result = {};
34
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
35
- __setModuleDefault(result, mod);
36
- return result;
37
- };
38
- })();
39
- Object.defineProperty(exports, "__esModule", { value: true });
40
- exports.startServer = startServer;
41
- exports.stopServer = stopServer;
42
- const index_js_1 = require("@modelcontextprotocol/sdk/server/index.js");
43
- const stdio_js_1 = require("@modelcontextprotocol/sdk/server/stdio.js");
44
- const types_js_1 = require("@modelcontextprotocol/sdk/types.js");
45
- const logger_1 = require("./utils/logger");
46
- const config_1 = require("./config");
47
- const registry_1 = require("./tools/registry");
48
- const tools_1 = require("./tools");
49
- const http_1 = require("./server/http");
50
- let server = null;
51
- /**
52
- * Register all MCP tools
53
- */
54
- function registerTools() {
55
- logger_1.logger.info('Registering MCP tools...');
56
- registry_1.toolRegistry.registerTool(tools_1.syncResourcesTool);
57
- registry_1.toolRegistry.registerTool(tools_1.manageSubscriptionTool);
58
- registry_1.toolRegistry.registerTool(tools_1.searchResourcesTool);
59
- registry_1.toolRegistry.registerTool(tools_1.uploadResourceTool);
60
- registry_1.toolRegistry.registerTool(tools_1.uninstallResourceTool);
61
- registry_1.toolRegistry.registerTool(tools_1.trackUsageTool);
62
- logger_1.logger.info({ toolCount: registry_1.toolRegistry.getToolCount() }, `Registered ${registry_1.toolRegistry.getToolCount()} MCP tools`);
63
- }
64
- /**
65
- * Start MCP Server with stdio transport
66
- */
67
- async function startStdioServer() {
68
- logger_1.logger.info('Starting MCP Server with stdio transport...');
69
- // Create MCP Server
70
- server = new index_js_1.Server({
71
- name: 'csp-ai-agent-mcp',
72
- version: '0.2.0',
73
- }, {
74
- capabilities: {
75
- tools: {},
76
- prompts: {},
77
- },
78
- });
79
- // Install Prompt list/get handlers so Command and Skill resources are
80
- // exposed as MCP Prompts (Cursor slash commands).
81
- const { promptManager } = await Promise.resolve().then(() => __importStar(require('./prompts/index.js')));
82
- promptManager.installHandlers(server);
83
- // Handle tools/list request
84
- server.setRequestHandler(types_js_1.ListToolsRequestSchema, () => {
85
- const tools = registry_1.toolRegistry.getMCPToolDefinitions();
86
- logger_1.logger.debug({ toolCount: tools.length }, 'tools/list request handled');
87
- return {
88
- tools,
89
- };
90
- });
91
- // Handle tools/call request
92
- server.setRequestHandler(types_js_1.CallToolRequestSchema, async (request) => {
93
- const { name, arguments: args } = request.params;
94
- logger_1.logger.info({ toolName: name, arguments: args }, `tools/call request: ${name}`);
95
- const tool = registry_1.toolRegistry.getTool(name);
96
- if (!tool) {
97
- const error = `Tool not found: ${name}`;
98
- logger_1.logger.error({ toolName: name }, error);
99
- return {
100
- content: [
101
- {
102
- type: 'text',
103
- text: JSON.stringify({
104
- success: false,
105
- error: {
106
- code: 'TOOL_NOT_FOUND',
107
- message: error,
108
- },
109
- }),
110
- },
111
- ],
112
- isError: true,
113
- };
114
- }
115
- try {
116
- // Call the tool handler
117
- const result = await tool.handler(args || {});
118
- return {
119
- content: [
120
- {
121
- type: 'text',
122
- text: JSON.stringify(result),
123
- },
124
- ],
125
- };
126
- }
127
- catch (error) {
128
- const errorMessage = error instanceof Error ? error.message : String(error);
129
- logger_1.logger.error({ toolName: name, error: errorMessage }, `Tool execution failed: ${name}`);
130
- return {
131
- content: [
132
- {
133
- type: 'text',
134
- text: JSON.stringify({
135
- success: false,
136
- error: {
137
- code: 'TOOL_EXECUTION_ERROR',
138
- message: errorMessage,
139
- },
140
- }),
141
- },
142
- ],
143
- isError: true,
144
- };
145
- }
146
- });
147
- // Connect to stdio transport
148
- const transport = new stdio_js_1.StdioServerTransport();
149
- await server.connect(transport);
150
- // Flush any pending telemetry immediately — stdio reconnects when Cursor
151
- // restarts the process, so treat connect as a reconnect event.
152
- const { telemetry: tel } = await Promise.resolve().then(() => __importStar(require('./telemetry/index.js')));
153
- tel.flushOnReconnect();
154
- logger_1.logger.info('✅ MCP Server started successfully (stdio transport)');
155
- }
156
- /**
157
- * Start MCP Server with SSE transport
158
- */
159
- async function startSSEServer() {
160
- logger_1.logger.info('Starting MCP Server with SSE transport...');
161
- // Start HTTP server
162
- await http_1.httpServer.start();
163
- logger_1.logger.info('✅ MCP Server started successfully (SSE transport)');
164
- }
165
- /**
166
- * Start MCP Server (auto-detect transport mode)
167
- */
168
- async function startServer() {
169
- // Register all tools (common for both transports)
170
- registerTools();
171
- // Start server based on transport mode
172
- const transportMode = config_1.config.transport.mode;
173
- logger_1.logger.info({ transportMode }, `Starting server with ${transportMode} transport`);
174
- if (transportMode === 'sse') {
175
- await startSSEServer();
176
- }
177
- else {
178
- await startStdioServer();
179
- }
180
- }
181
- /**
182
- * Stop MCP Server
183
- */
184
- async function stopServer() {
185
- logger_1.logger.info('Stopping MCP Server...');
186
- const transportMode = config_1.config.transport.mode;
187
- if (transportMode === 'sse') {
188
- // Stop HTTP server
189
- await http_1.httpServer.stop();
190
- }
191
- else {
192
- // Stop stdio server
193
- if (server) {
194
- await server.close();
195
- server = null;
196
- }
197
- }
198
- logger_1.logger.info('MCP Server stopped');
199
- }
200
- //# sourceMappingURL=server.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAoKH,kCAcC;AAKD,gCAiBC;AAtMD,wEAAmE;AACnE,wEAAiF;AACjF,iEAG4C;AAC5C,2CAAwC;AACxC,qCAAkC;AAClC,+CAAgD;AAChD,mCAOiB;AACjB,wCAA2C;AAE3C,IAAI,MAAM,GAAkB,IAAI,CAAC;AAEjC;;GAEG;AACH,SAAS,aAAa;IACpB,eAAM,CAAC,IAAI,CAAC,0BAA0B,CAAC,CAAC;IAExC,uBAAY,CAAC,YAAY,CAAC,yBAAiB,CAAC,CAAC;IAC7C,uBAAY,CAAC,YAAY,CAAC,8BAAsB,CAAC,CAAC;IAClD,uBAAY,CAAC,YAAY,CAAC,2BAAmB,CAAC,CAAC;IAC/C,uBAAY,CAAC,YAAY,CAAC,0BAAkB,CAAC,CAAC;IAC9C,uBAAY,CAAC,YAAY,CAAC,6BAAqB,CAAC,CAAC;IACjD,uBAAY,CAAC,YAAY,CAAC,sBAAc,CAAC,CAAC;IAE1C,eAAM,CAAC,IAAI,CACT,EAAE,SAAS,EAAE,uBAAY,CAAC,YAAY,EAAE,EAAE,EAC1C,cAAc,uBAAY,CAAC,YAAY,EAAE,YAAY,CACtD,CAAC;AACJ,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,gBAAgB;IAC7B,eAAM,CAAC,IAAI,CAAC,6CAA6C,CAAC,CAAC;IAE3D,oBAAoB;IACpB,MAAM,GAAG,IAAI,iBAAM,CACjB;QACE,IAAI,EAAE,kBAAkB;QACxB,OAAO,EAAE,OAAO;KACjB,EACD;QACE,YAAY,EAAE;YACZ,KAAK,EAAE,EAAE;YACT,OAAO,EAAE,EAAE;SACZ;KACF,CACF,CAAC;IAEF,sEAAsE;IACtE,kDAAkD;IAClD,MAAM,EAAE,aAAa,EAAE,GAAG,wDAAa,oBAAoB,GAAC,CAAC;IAC7D,aAAa,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;IAEtC,4BAA4B;IAC5B,MAAM,CAAC,iBAAiB,CAAC,iCAAsB,EAAE,GAAG,EAAE;QACpD,MAAM,KAAK,GAAG,uBAAY,CAAC,qBAAqB,EAAE,CAAC;QACnD,eAAM,CAAC,KAAK,CAAC,EAAE,SAAS,EAAE,KAAK,CAAC,MAAM,EAAE,EAAE,4BAA4B,CAAC,CAAC;QACxE,OAAO;YACL,KAAK;SACN,CAAC;IACJ,CAAC,CAAC,CAAC;IAEH,4BAA4B;IAC5B,MAAM,CAAC,iBAAiB,CAAC,gCAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;QAChE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;QAEjD,eAAM,CAAC,IAAI,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,EAAE,uBAAuB,IAAI,EAAE,CAAC,CAAC;QAEhF,MAAM,IAAI,GAAG,uBAAY,CAAC,OAAO,CAAC,IAAI,CAAC,CAAC;QACxC,IAAI,CAAC,IAAI,EAAE,CAAC;YACV,MAAM,KAAK,GAAG,mBAAmB,IAAI,EAAE,CAAC;YACxC,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,EAAE,KAAK,CAAC,CAAC;YACxC,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,IAAI,EAAE,gBAAgB;gCACtB,OAAO,EAAE,KAAK;6BACf;yBACF,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;QAED,IAAI,CAAC;YACH,wBAAwB;YACxB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,OAAO,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC;YAE9C,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,CAAC;qBAC7B;iBACF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,YAAY,GAAG,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;YAC5E,eAAM,CAAC,KAAK,CAAC,EAAE,QAAQ,EAAE,IAAI,EAAE,KAAK,EAAE,YAAY,EAAE,EAAE,0BAA0B,IAAI,EAAE,CAAC,CAAC;YAExF,OAAO;gBACL,OAAO,EAAE;oBACP;wBACE,IAAI,EAAE,MAAe;wBACrB,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC;4BACnB,OAAO,EAAE,KAAK;4BACd,KAAK,EAAE;gCACL,IAAI,EAAE,sBAAsB;gCAC5B,OAAO,EAAE,YAAY;6BACtB;yBACF,CAAC;qBACH;iBACF;gBACD,OAAO,EAAE,IAAI;aACd,CAAC;QACJ,CAAC;IACH,CAAC,CAAC,CAAC;IAEH,6BAA6B;IAC7B,MAAM,SAAS,GAAG,IAAI,+BAAoB,EAAE,CAAC;IAC7C,MAAM,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;IAEhC,yEAAyE;IACzE,+DAA+D;IAC/D,MAAM,EAAE,SAAS,EAAE,GAAG,EAAE,GAAG,wDAAa,sBAAsB,GAAC,CAAC;IAChE,GAAG,CAAC,gBAAgB,EAAE,CAAC;IAEvB,eAAM,CAAC,IAAI,CAAC,qDAAqD,CAAC,CAAC;AACrE,CAAC;AAED;;GAEG;AACH,KAAK,UAAU,cAAc;IAC3B,eAAM,CAAC,IAAI,CAAC,2CAA2C,CAAC,CAAC;IAEzD,oBAAoB;IACpB,MAAM,iBAAU,CAAC,KAAK,EAAE,CAAC;IAEzB,eAAM,CAAC,IAAI,CAAC,mDAAmD,CAAC,CAAC;AACnE,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,WAAW;IAC/B,kDAAkD;IAClD,aAAa,EAAE,CAAC;IAEhB,uCAAuC;IACvC,MAAM,aAAa,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IAE5C,eAAM,CAAC,IAAI,CAAC,EAAE,aAAa,EAAE,EAAE,wBAAwB,aAAa,YAAY,CAAC,CAAC;IAElF,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,MAAM,cAAc,EAAE,CAAC;IACzB,CAAC;SAAM,CAAC;QACN,MAAM,gBAAgB,EAAE,CAAC;IAC3B,CAAC;AACH,CAAC;AAED;;GAEG;AACI,KAAK,UAAU,UAAU;IAC9B,eAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;IAEtC,MAAM,aAAa,GAAG,eAAM,CAAC,SAAS,CAAC,IAAI,CAAC;IAE5C,IAAI,aAAa,KAAK,KAAK,EAAE,CAAC;QAC5B,mBAAmB;QACnB,MAAM,iBAAU,CAAC,IAAI,EAAE,CAAC;IAC1B,CAAC;SAAM,CAAC;QACN,oBAAoB;QACpB,IAAI,MAAM,EAAE,CAAC;YACX,MAAM,MAAM,CAAC,KAAK,EAAE,CAAC;YACrB,MAAM,GAAG,IAAI,CAAC;QAChB,CAAC;IACH,CAAC;IAED,eAAM,CAAC,IAAI,CAAC,oBAAoB,CAAC,CAAC;AACpC,CAAC"}
@@ -1,91 +0,0 @@
1
- /**
2
- * Session Manager
3
- * Manages SSE sessions and connections
4
- */
5
- import type { ServerResponse } from 'http';
6
- export interface Session {
7
- id: string;
8
- userId: string;
9
- email: string;
10
- groups: string[];
11
- token: string;
12
- ip: string;
13
- createdAt: Date;
14
- lastActivity: Date;
15
- connection?: ServerResponse;
16
- }
17
- export interface CreateSessionOptions {
18
- userId?: string;
19
- email?: string;
20
- groups?: string[];
21
- }
22
- export declare class SessionManager {
23
- private sessions;
24
- private totalSessions;
25
- private cleanupInterval?;
26
- constructor();
27
- /**
28
- * Create new session
29
- * @param token - Auth token (JWT from CSP)
30
- * @param ip - Client IP address
31
- * @param options - User info from /user/permissions API (userId, email, groups)
32
- */
33
- createSession(token: string, ip: string, options?: CreateSessionOptions): Promise<Session>;
34
- /**
35
- * Get session by ID
36
- */
37
- getSession(sessionId: string): Session | undefined;
38
- /**
39
- * Register SSE connection with session
40
- */
41
- registerConnection(sessionId: string, connection: ServerResponse): void;
42
- /**
43
- * Send message to session via SSE
44
- * Enhanced error handling to prevent EPIPE errors
45
- * Note: This is synchronous for SSE transport compatibility
46
- */
47
- sendMessage(sessionId: string, message: unknown): boolean;
48
- /**
49
- * Update session activity timestamp
50
- */
51
- updateActivity(sessionId: string): void;
52
- /**
53
- * Close session with improved error handling
54
- */
55
- closeSession(sessionId: string): void;
56
- /**
57
- * Close all sessions
58
- */
59
- closeAllSessions(): void;
60
- /**
61
- * Get active session count
62
- */
63
- getActiveSessionCount(): number;
64
- /**
65
- * Get total session count (since server start)
66
- */
67
- getTotalSessionCount(): number;
68
- /**
69
- * Get all active sessions
70
- */
71
- getActiveSessions(): Session[];
72
- /**
73
- * Start cleanup interval for expired sessions
74
- */
75
- private startCleanup;
76
- /**
77
- * Stop cleanup interval
78
- */
79
- stopCleanup(): void;
80
- /**
81
- * Cleanup expired sessions
82
- */
83
- private cleanupExpiredSessions;
84
- /**
85
- * Extract user ID from token (simplified)
86
- * TODO: Implement proper JWT validation in Stage 5
87
- */
88
- private extractUserIdFromToken;
89
- }
90
- export declare const sessionManager: SessionManager;
91
- //# sourceMappingURL=manager.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.d.ts","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAGH,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,MAAM,CAAC;AAI3C,MAAM,WAAW,OAAO;IACtB,EAAE,EAAE,MAAM,CAAC;IACX,MAAM,EAAE,MAAM,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,KAAK,EAAE,MAAM,CAAC;IACd,EAAE,EAAE,MAAM,CAAC;IACX,SAAS,EAAE,IAAI,CAAC;IAChB,YAAY,EAAE,IAAI,CAAC;IACnB,UAAU,CAAC,EAAE,cAAc,CAAC;CAC7B;AAED,MAAM,WAAW,oBAAoB;IACnC,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,MAAM,CAAC,EAAE,MAAM,EAAE,CAAC;CACnB;AAED,qBAAa,cAAc;IACzB,OAAO,CAAC,QAAQ,CAAmC;IACnD,OAAO,CAAC,aAAa,CAAa;IAClC,OAAO,CAAC,eAAe,CAAC,CAAiB;;IAOzC;;;;;OAKG;IACG,aAAa,CACjB,KAAK,EAAE,MAAM,EACb,EAAE,EAAE,MAAM,EACV,OAAO,CAAC,EAAE,oBAAoB,GAC7B,OAAO,CAAC,OAAO,CAAC;IA0BnB;;OAEG;IACH,UAAU,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,GAAG,SAAS;IAIlD;;OAEG;IACH,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,cAAc,GAAG,IAAI;IAQvE;;;;OAIG;IACH,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,OAAO;IAoDzD;;OAEG;IACH,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IAOvC;;OAEG;IACH,YAAY,CAAC,SAAS,EAAE,MAAM,GAAG,IAAI;IA0CrC;;OAEG;IACH,gBAAgB,IAAI,IAAI;IAQxB;;OAEG;IACH,qBAAqB,IAAI,MAAM;IAI/B;;OAEG;IACH,oBAAoB,IAAI,MAAM;IAI9B;;OAEG;IACH,iBAAiB,IAAI,OAAO,EAAE;IAI9B;;OAEG;IACH,OAAO,CAAC,YAAY;IAWpB;;OAEG;IACH,WAAW,IAAI,IAAI;IAQnB;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAmB9B;;;OAGG;IACH,OAAO,CAAC,sBAAsB;CAK/B;AAGD,eAAO,MAAM,cAAc,gBAAuB,CAAC"}
@@ -1,251 +0,0 @@
1
- "use strict";
2
- /**
3
- * Session Manager
4
- * Manages SSE sessions and connections
5
- */
6
- Object.defineProperty(exports, "__esModule", { value: true });
7
- exports.sessionManager = exports.SessionManager = void 0;
8
- const crypto_1 = require("crypto");
9
- const logger_1 = require("../utils/logger");
10
- const config_1 = require("../config");
11
- class SessionManager {
12
- sessions = new Map();
13
- totalSessions = 0;
14
- cleanupInterval;
15
- constructor() {
16
- // Start cleanup interval
17
- this.startCleanup();
18
- }
19
- /**
20
- * Create new session
21
- * @param token - Auth token (JWT from CSP)
22
- * @param ip - Client IP address
23
- * @param options - User info from /user/permissions API (userId, email, groups)
24
- */
25
- async createSession(token, ip, options) {
26
- const sessionId = (0, crypto_1.randomUUID)();
27
- const userId = options?.userId ?? this.extractUserIdFromToken(token);
28
- const email = options?.email ?? '';
29
- const groups = options?.groups ?? [];
30
- const session = {
31
- id: sessionId,
32
- userId,
33
- email,
34
- groups,
35
- token,
36
- ip,
37
- createdAt: new Date(),
38
- lastActivity: new Date(),
39
- };
40
- this.sessions.set(sessionId, session);
41
- this.totalSessions++;
42
- logger_1.logger.info({ sessionId, userId, email, groups, ip }, 'Session created');
43
- return session;
44
- }
45
- /**
46
- * Get session by ID
47
- */
48
- getSession(sessionId) {
49
- return this.sessions.get(sessionId);
50
- }
51
- /**
52
- * Register SSE connection with session
53
- */
54
- registerConnection(sessionId, connection) {
55
- const session = this.sessions.get(sessionId);
56
- if (session) {
57
- session.connection = connection;
58
- logger_1.logger.debug({ sessionId }, 'Connection registered with session');
59
- }
60
- }
61
- /**
62
- * Send message to session via SSE
63
- * Enhanced error handling to prevent EPIPE errors
64
- * Note: This is synchronous for SSE transport compatibility
65
- */
66
- sendMessage(sessionId, message) {
67
- const session = this.sessions.get(sessionId);
68
- if (!session || !session.connection || session.connection.destroyed) {
69
- logger_1.logger.debug({ sessionId }, 'Cannot send message: session not found or connection closed');
70
- return false;
71
- }
72
- try {
73
- const data = JSON.stringify(message);
74
- // Use write callback to detect errors (fire-and-forget)
75
- let writeSuccess = true;
76
- session.connection.write(`data: ${data}\n\n`, (err) => {
77
- if (err) {
78
- // Handle specific error types
79
- if (err.message.includes('EPIPE') || err.message.includes('ECONNRESET')) {
80
- logger_1.logger.debug({
81
- sessionId,
82
- error: err.message
83
- }, 'Message write failed (client disconnected)');
84
- }
85
- else {
86
- logger_1.logger.warn({
87
- sessionId,
88
- error: err.message
89
- }, 'Message write failed');
90
- }
91
- writeSuccess = false;
92
- }
93
- else {
94
- logger_1.logger.debug({ sessionId, messageSize: data.length }, 'Message sent to session');
95
- }
96
- });
97
- return writeSuccess;
98
- }
99
- catch (error) {
100
- // Catch synchronous errors
101
- if (error instanceof Error) {
102
- if (error.message.includes('EPIPE') || error.message.includes('ECONNRESET')) {
103
- logger_1.logger.debug({
104
- sessionId,
105
- error: error.message
106
- }, 'Message send failed (client disconnected)');
107
- }
108
- else {
109
- logger_1.logger.error({
110
- error: error.message,
111
- sessionId
112
- }, 'Failed to send message to session');
113
- }
114
- }
115
- return false;
116
- }
117
- }
118
- /**
119
- * Update session activity timestamp
120
- */
121
- updateActivity(sessionId) {
122
- const session = this.sessions.get(sessionId);
123
- if (session) {
124
- session.lastActivity = new Date();
125
- }
126
- }
127
- /**
128
- * Close session with improved error handling
129
- */
130
- closeSession(sessionId) {
131
- const session = this.sessions.get(sessionId);
132
- if (session) {
133
- // Close connection if exists
134
- if (session.connection && !session.connection.destroyed) {
135
- try {
136
- // Try to send close message
137
- session.connection.write(`data: ${JSON.stringify({ type: 'close' })}\n\n`, (err) => {
138
- if (err) {
139
- logger_1.logger.debug({
140
- sessionId,
141
- error: err.message
142
- }, 'Close message write failed (expected if client already disconnected)');
143
- }
144
- });
145
- // End connection
146
- session.connection.end();
147
- }
148
- catch (error) {
149
- if (error instanceof Error) {
150
- // Only log non-EPIPE errors as warnings
151
- if (error.message.includes('EPIPE') || error.message.includes('ECONNRESET')) {
152
- logger_1.logger.debug({
153
- sessionId,
154
- error: error.message
155
- }, 'Connection already closed');
156
- }
157
- else {
158
- logger_1.logger.warn({
159
- sessionId,
160
- error: error.message
161
- }, 'Error closing connection');
162
- }
163
- }
164
- }
165
- }
166
- // Remove session
167
- this.sessions.delete(sessionId);
168
- logger_1.logger.info({ sessionId }, 'Session closed');
169
- }
170
- }
171
- /**
172
- * Close all sessions
173
- */
174
- closeAllSessions() {
175
- logger_1.logger.info({ count: this.sessions.size }, 'Closing all sessions');
176
- for (const [sessionId] of this.sessions) {
177
- this.closeSession(sessionId);
178
- }
179
- }
180
- /**
181
- * Get active session count
182
- */
183
- getActiveSessionCount() {
184
- return this.sessions.size;
185
- }
186
- /**
187
- * Get total session count (since server start)
188
- */
189
- getTotalSessionCount() {
190
- return this.totalSessions;
191
- }
192
- /**
193
- * Get all active sessions
194
- */
195
- getActiveSessions() {
196
- return Array.from(this.sessions.values());
197
- }
198
- /**
199
- * Start cleanup interval for expired sessions
200
- */
201
- startCleanup() {
202
- const timeout = config_1.config.session?.timeout || 3600; // Default 1 hour
203
- const cleanupInterval = 60000; // Check every 1 minute
204
- this.cleanupInterval = setInterval(() => {
205
- this.cleanupExpiredSessions(timeout);
206
- }, cleanupInterval);
207
- logger_1.logger.info({ timeout, cleanupInterval }, 'Session cleanup started');
208
- }
209
- /**
210
- * Stop cleanup interval
211
- */
212
- stopCleanup() {
213
- if (this.cleanupInterval) {
214
- clearInterval(this.cleanupInterval);
215
- this.cleanupInterval = undefined;
216
- logger_1.logger.info('Session cleanup stopped');
217
- }
218
- }
219
- /**
220
- * Cleanup expired sessions
221
- */
222
- cleanupExpiredSessions(timeoutSeconds) {
223
- const now = Date.now();
224
- const expiredSessions = [];
225
- for (const [sessionId, session] of this.sessions) {
226
- const inactiveTime = (now - session.lastActivity.getTime()) / 1000;
227
- if (inactiveTime > timeoutSeconds) {
228
- expiredSessions.push(sessionId);
229
- }
230
- }
231
- if (expiredSessions.length > 0) {
232
- logger_1.logger.info({ count: expiredSessions.length }, 'Cleaning up expired sessions');
233
- for (const sessionId of expiredSessions) {
234
- this.closeSession(sessionId);
235
- }
236
- }
237
- }
238
- /**
239
- * Extract user ID from token (simplified)
240
- * TODO: Implement proper JWT validation in Stage 5
241
- */
242
- extractUserIdFromToken(token) {
243
- // For now, use a simple hash or the token itself
244
- // In Stage 5, this should decode and validate JWT
245
- return token.substring(0, 16);
246
- }
247
- }
248
- exports.SessionManager = SessionManager;
249
- // Singleton instance
250
- exports.sessionManager = new SessionManager();
251
- //# sourceMappingURL=manager.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"manager.js","sourceRoot":"","sources":["../../src/session/manager.ts"],"names":[],"mappings":"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"}
@@ -1,3 +0,0 @@
1
- export { TelemetryManager, telemetry } from './manager.js';
2
- export type { ResourceCategory, InvocationEvent, SubscribedRule, ConfiguredMcp, TelemetryFile, TelemetryReportPayload, ReportFn, } from './manager.js';
3
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,gBAAgB,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EACV,gBAAgB,EAChB,eAAe,EACf,cAAc,EACd,aAAa,EACb,aAAa,EACb,sBAAsB,EACtB,QAAQ,GACT,MAAM,cAAc,CAAC"}
@@ -1,7 +0,0 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.telemetry = exports.TelemetryManager = void 0;
4
- var manager_js_1 = require("./manager.js");
5
- Object.defineProperty(exports, "TelemetryManager", { enumerable: true, get: function () { return manager_js_1.TelemetryManager; } });
6
- Object.defineProperty(exports, "telemetry", { enumerable: true, get: function () { return manager_js_1.telemetry; } });
7
- //# sourceMappingURL=index.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/telemetry/index.ts"],"names":[],"mappings":";;;AAAA,2CAA2D;AAAlD,8GAAA,gBAAgB,OAAA;AAAE,uGAAA,SAAS,OAAA"}