@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
@@ -1,112 +0,0 @@
1
- "use strict";
2
- /**
3
- * Log Cleanup Module
4
- * Automatically deletes log files older than retention period
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.cleanupOldLogs = cleanupOldLogs;
41
- exports.startLogCleanupSchedule = startLogCleanupSchedule;
42
- exports.stopLogCleanupSchedule = stopLogCleanupSchedule;
43
- const fs = __importStar(require("fs"));
44
- const path = __importStar(require("path"));
45
- const logger_1 = require("./logger");
46
- const config_1 = require("../config");
47
- // Matches both the canonical name (app-YYYY-MM-DD.log) produced after the
48
- // midnight rename, and the active pino-roll name (app.YYYY-MM-DD.1.log).
49
- const LOG_FILE_PATTERN = /^app[.-]\d{4}-\d{2}-\d{2}[\d.]*\.log$/;
50
- /**
51
- * Delete log files older than retention days
52
- */
53
- // eslint-disable-next-line @typescript-eslint/require-await
54
- async function cleanupOldLogs() {
55
- const logsDir = path.resolve(process.cwd(), config_1.config.logging.dir);
56
- if (!fs.existsSync(logsDir)) {
57
- logger_1.logger.debug('Logs directory does not exist, skipping cleanup');
58
- return;
59
- }
60
- const retentionMs = config_1.config.logging.retentionDays * 24 * 60 * 60 * 1000;
61
- const now = Date.now();
62
- try {
63
- const files = fs.readdirSync(logsDir);
64
- let deletedCount = 0;
65
- for (const file of files) {
66
- const match = file.match(LOG_FILE_PATTERN);
67
- if (!match) {
68
- continue; // Skip non-log files
69
- }
70
- const filePath = path.join(logsDir, file);
71
- const stats = fs.statSync(filePath);
72
- const fileAge = now - stats.mtimeMs;
73
- if (fileAge > retentionMs) {
74
- fs.unlinkSync(filePath);
75
- deletedCount++;
76
- logger_1.logger.info({ file, agedays: Math.floor(fileAge / (24 * 60 * 60 * 1000)) }, `Deleted old log file: ${file}`);
77
- }
78
- }
79
- if (deletedCount > 0) {
80
- logger_1.logger.info({ deletedCount }, `Log cleanup completed: ${deletedCount} old log files deleted`);
81
- }
82
- else {
83
- logger_1.logger.debug('Log cleanup completed: no old log files to delete');
84
- }
85
- }
86
- catch (error) {
87
- logger_1.logger.error({ error }, 'Failed to cleanup old log files');
88
- }
89
- }
90
- /**
91
- * Start log cleanup scheduler
92
- * Runs cleanup once per day at 2 AM
93
- */
94
- function startLogCleanupSchedule() {
95
- // Run cleanup immediately on startup
96
- void cleanupOldLogs();
97
- // Schedule cleanup every 7 days
98
- const interval = 7 * 24 * 60 * 60 * 1000; // 7 days
99
- const timer = setInterval(() => {
100
- void cleanupOldLogs();
101
- }, interval);
102
- logger_1.logger.info({ retentionDays: config_1.config.logging.retentionDays }, 'Log cleanup scheduler started');
103
- return timer;
104
- }
105
- /**
106
- * Stop log cleanup scheduler
107
- */
108
- function stopLogCleanupSchedule(timer) {
109
- clearInterval(timer);
110
- logger_1.logger.info('Log cleanup scheduler stopped');
111
- }
112
- //# sourceMappingURL=log-cleaner.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"log-cleaner.js","sourceRoot":"","sources":["../../src/utils/log-cleaner.ts"],"names":[],"mappings":"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"}
@@ -1,59 +0,0 @@
1
- /**
2
- * Logging Module
3
- * Structured logging using pino with daily file rotation.
4
- *
5
- * Files are named app-YYYY-MM-DD.log. Rotation is implemented by:
6
- * 1. Starting pino/file pointing at today's file (fixed fd, opened at startup).
7
- * 2. A midnight timer in the main thread spawns a fresh child process for the
8
- * next day's file via a second pino instance — but that would mean two loggers.
9
- *
10
- * Practical solution used here:
11
- * - Use pino-roll (daily, dateFormat: 'yyyy-MM-dd').
12
- * - pino-roll produces Logs/app.YYYY-MM-DD.1.log (date + sequential counter).
13
- * - At midnight + 2 s we rename the *previous* day's app.YYYY-MM-DD.1.log
14
- * → app-YYYY-MM-DD.log so the canonical name is clean.
15
- * - The active (today's) file keeps the pino-roll name until it rotates.
16
- * - log-cleaner scans by mtime so it handles both naming conventions.
17
- */
18
- export declare const logger: import("pino").Logger<never>;
19
- /**
20
- * Log MCP Tool call
21
- */
22
- export declare function logToolCall(toolName: string, userId: string, params: Record<string, unknown>, durationMs: number): void;
23
- /**
24
- * Log error with context
25
- */
26
- export declare function logError(error: Error, context?: Record<string, unknown>): void;
27
- /**
28
- * Log performance metrics
29
- */
30
- export declare function logPerformance(operation: string, durationMs: number, metadata?: Record<string, unknown>): void;
31
- /**
32
- * Log API request with detailed information
33
- */
34
- export declare function logApiRequest(method: string, url: string, statusCode: number, durationMs: number, requestData?: unknown, responseData?: unknown, headers?: Record<string, string>): void;
35
- /**
36
- * Log API error with full details
37
- */
38
- export declare function logApiError(method: string, url: string, error: Error, requestData?: unknown, statusCode?: number): void;
39
- /**
40
- * Log tool execution step
41
- */
42
- export declare function logToolStep(toolName: string, step: string, details?: Record<string, unknown>): void;
43
- /**
44
- * Log tool execution result
45
- */
46
- export declare function logToolResult(toolName: string, success: boolean, result?: unknown, error?: Error): void;
47
- /**
48
- * Log authentication attempt
49
- */
50
- export declare function logAuthAttempt(type: 'token_validation' | 'permission_check', success: boolean, details?: Record<string, unknown>): void;
51
- /**
52
- * Log cache operation
53
- */
54
- export declare function logCacheOperation(operation: 'get' | 'set' | 'delete' | 'hit' | 'miss', key: string, details?: Record<string, unknown>): void;
55
- /**
56
- * Log Git operation
57
- */
58
- export declare function logGitOperation(operation: string, details: Record<string, unknown>, durationMs: number): void;
59
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AA+CH,eAAO,MAAM,MAAM,8BAmCjB,CAAC;AAEH;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,MAAM,EAAE,MAAM,EACd,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC/B,UAAU,EAAE,MAAM,GACjB,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,QAAQ,CAAC,KAAK,EAAE,KAAK,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI,CAa9E;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,EAClB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GACjC,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,UAAU,EAAE,MAAM,EAClB,UAAU,EAAE,MAAM,EAClB,WAAW,CAAC,EAAE,OAAO,EACrB,YAAY,CAAC,EAAE,OAAO,EACtB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAC/B,IAAI,CAcN;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,KAAK,EAAE,KAAK,EACZ,WAAW,CAAC,EAAE,OAAO,EACrB,UAAU,CAAC,EAAE,MAAM,GAClB,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,WAAW,CACzB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,EACZ,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAUN;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,QAAQ,EAAE,MAAM,EAChB,OAAO,EAAE,OAAO,EAChB,MAAM,CAAC,EAAE,OAAO,EAChB,KAAK,CAAC,EAAE,KAAK,GACZ,IAAI,CAgBN;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,IAAI,EAAE,kBAAkB,GAAG,kBAAkB,EAC7C,OAAO,EAAE,OAAO,EAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAWN;AAED;;GAEG;AACH,wBAAgB,iBAAiB,CAC/B,SAAS,EAAE,KAAK,GAAG,KAAK,GAAG,QAAQ,GAAG,KAAK,GAAG,MAAM,EACpD,GAAG,EAAE,MAAM,EACX,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAChC,IAAI,CAUN;AAqBD;;GAEG;AACH,wBAAgB,eAAe,CAC7B,SAAS,EAAE,MAAM,EACjB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAChC,UAAU,EAAE,MAAM,GACjB,IAAI,CAUN"}
@@ -1,292 +0,0 @@
1
- "use strict";
2
- /**
3
- * Logging Module
4
- * Structured logging using pino with daily file rotation.
5
- *
6
- * Files are named app-YYYY-MM-DD.log. Rotation is implemented by:
7
- * 1. Starting pino/file pointing at today's file (fixed fd, opened at startup).
8
- * 2. A midnight timer in the main thread spawns a fresh child process for the
9
- * next day's file via a second pino instance — but that would mean two loggers.
10
- *
11
- * Practical solution used here:
12
- * - Use pino-roll (daily, dateFormat: 'yyyy-MM-dd').
13
- * - pino-roll produces Logs/app.YYYY-MM-DD.1.log (date + sequential counter).
14
- * - At midnight + 2 s we rename the *previous* day's app.YYYY-MM-DD.1.log
15
- * → app-YYYY-MM-DD.log so the canonical name is clean.
16
- * - The active (today's) file keeps the pino-roll name until it rotates.
17
- * - log-cleaner scans by mtime so it handles both naming conventions.
18
- */
19
- var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
20
- if (k2 === undefined) k2 = k;
21
- var desc = Object.getOwnPropertyDescriptor(m, k);
22
- if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
23
- desc = { enumerable: true, get: function() { return m[k]; } };
24
- }
25
- Object.defineProperty(o, k2, desc);
26
- }) : (function(o, m, k, k2) {
27
- if (k2 === undefined) k2 = k;
28
- o[k2] = m[k];
29
- }));
30
- var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
31
- Object.defineProperty(o, "default", { enumerable: true, value: v });
32
- }) : function(o, v) {
33
- o["default"] = v;
34
- });
35
- var __importStar = (this && this.__importStar) || (function () {
36
- var ownKeys = function(o) {
37
- ownKeys = Object.getOwnPropertyNames || function (o) {
38
- var ar = [];
39
- for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
40
- return ar;
41
- };
42
- return ownKeys(o);
43
- };
44
- return function (mod) {
45
- if (mod && mod.__esModule) return mod;
46
- var result = {};
47
- if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
48
- __setModuleDefault(result, mod);
49
- return result;
50
- };
51
- })();
52
- var __importDefault = (this && this.__importDefault) || function (mod) {
53
- return (mod && mod.__esModule) ? mod : { "default": mod };
54
- };
55
- Object.defineProperty(exports, "__esModule", { value: true });
56
- exports.logger = void 0;
57
- exports.logToolCall = logToolCall;
58
- exports.logError = logError;
59
- exports.logPerformance = logPerformance;
60
- exports.logApiRequest = logApiRequest;
61
- exports.logApiError = logApiError;
62
- exports.logToolStep = logToolStep;
63
- exports.logToolResult = logToolResult;
64
- exports.logAuthAttempt = logAuthAttempt;
65
- exports.logCacheOperation = logCacheOperation;
66
- exports.logGitOperation = logGitOperation;
67
- const pino_1 = __importDefault(require("pino"));
68
- const path = __importStar(require("path"));
69
- const fs = __importStar(require("fs"));
70
- const config_1 = require("../config");
71
- // Ensure logs directory exists (relative to project root)
72
- const logsDir = path.resolve(process.cwd(), config_1.config.logging.dir);
73
- if (!fs.existsSync(logsDir)) {
74
- fs.mkdirSync(logsDir, { recursive: true });
75
- }
76
- /** ms until the next local midnight + 1 s buffer. */
77
- function msUntilMidnight() {
78
- const now = new Date();
79
- const next = new Date(now.getFullYear(), now.getMonth(), now.getDate() + 1, 0, 0, 1);
80
- return next.getTime() - now.getTime();
81
- }
82
- /**
83
- * Rename yesterday's pino-roll file (app.YYYY-MM-DD.1.log)
84
- * to the canonical name (app-YYYY-MM-DD.log) once it has been rotated away.
85
- */
86
- function renameYesterdayLog() {
87
- const d = new Date();
88
- d.setDate(d.getDate() - 1);
89
- const dateStr = [
90
- d.getFullYear(),
91
- String(d.getMonth() + 1).padStart(2, '0'),
92
- String(d.getDate()).padStart(2, '0'),
93
- ].join('-');
94
- const src = path.join(logsDir, `app.${dateStr}.1.log`);
95
- const dst = path.join(logsDir, `app-${dateStr}.log`);
96
- if (fs.existsSync(src) && !fs.existsSync(dst)) {
97
- try {
98
- fs.renameSync(src, dst);
99
- }
100
- catch { /* non-fatal */ }
101
- }
102
- }
103
- // Fire rename at midnight + 2 s, then every 24 h.
104
- setTimeout(() => {
105
- renameYesterdayLog();
106
- setInterval(renameYesterdayLog, 24 * 60 * 60 * 1000).unref();
107
- }, msUntilMidnight() + 2000).unref();
108
- // Create pino logger with multi-target transport
109
- exports.logger = (0, pino_1.default)({
110
- level: config_1.config.logLevel,
111
- timestamp: pino_1.default.stdTimeFunctions.isoTime,
112
- base: {
113
- service: 'csp-ai-agent-mcp',
114
- },
115
- transport: {
116
- targets: [
117
- // Console output (pretty format in development)
118
- {
119
- target: 'pino-pretty',
120
- level: config_1.config.logLevel,
121
- options: {
122
- colorize: true,
123
- translateTime: 'SYS:standard',
124
- ignore: 'pid,hostname',
125
- singleLine: false,
126
- },
127
- },
128
- // Daily-rotating file output.
129
- // Active file: Logs/app.YYYY-MM-DD.1.log
130
- // After midnight rename: Logs/app-YYYY-MM-DD.log
131
- {
132
- target: 'pino-roll',
133
- level: config_1.config.logLevel,
134
- options: {
135
- file: path.join(logsDir, 'app'),
136
- frequency: 'daily',
137
- dateFormat: 'yyyy-MM-dd',
138
- mkdir: true,
139
- sync: false,
140
- },
141
- },
142
- ],
143
- },
144
- });
145
- /**
146
- * Log MCP Tool call
147
- */
148
- function logToolCall(toolName, userId, params, durationMs) {
149
- exports.logger.info({
150
- type: 'tool_call',
151
- toolName,
152
- userId,
153
- params,
154
- durationMs,
155
- }, `Tool ${toolName} called by ${userId} (${durationMs}ms)`);
156
- }
157
- /**
158
- * Log error with context
159
- */
160
- function logError(error, context) {
161
- exports.logger.error({
162
- type: 'error',
163
- error: {
164
- message: error.message,
165
- stack: error.stack,
166
- name: error.name,
167
- },
168
- ...context,
169
- }, error.message);
170
- }
171
- /**
172
- * Log performance metrics
173
- */
174
- function logPerformance(operation, durationMs, metadata) {
175
- exports.logger.info({
176
- type: 'performance',
177
- operation,
178
- durationMs,
179
- ...metadata,
180
- }, `${operation} completed in ${durationMs}ms`);
181
- }
182
- /**
183
- * Log API request with detailed information
184
- */
185
- function logApiRequest(method, url, statusCode, durationMs, requestData, responseData, headers) {
186
- exports.logger.info({
187
- type: 'api_request',
188
- method,
189
- url,
190
- statusCode,
191
- durationMs,
192
- requestData: requestData ? JSON.stringify(requestData).substring(0, 500) : undefined,
193
- responseData: responseData ? JSON.stringify(responseData).substring(0, 1000) : undefined,
194
- headers: headers ? sanitizeHeaders(headers) : undefined,
195
- }, `${method} ${url} - ${statusCode} (${durationMs}ms)`);
196
- }
197
- /**
198
- * Log API error with full details
199
- */
200
- function logApiError(method, url, error, requestData, statusCode) {
201
- exports.logger.error({
202
- type: 'api_error',
203
- method,
204
- url,
205
- statusCode,
206
- requestData: requestData ? JSON.stringify(requestData).substring(0, 500) : undefined,
207
- error: {
208
- message: error.message,
209
- stack: error.stack,
210
- name: error.name,
211
- },
212
- }, `API Error: ${method} ${url} - ${error.message}`);
213
- }
214
- /**
215
- * Log tool execution step
216
- */
217
- function logToolStep(toolName, step, details) {
218
- exports.logger.debug({
219
- type: 'tool_step',
220
- toolName,
221
- step,
222
- ...details,
223
- }, `[${toolName}] ${step}`);
224
- }
225
- /**
226
- * Log tool execution result
227
- */
228
- function logToolResult(toolName, success, result, error) {
229
- const level = success ? 'info' : 'error';
230
- exports.logger[level]({
231
- type: 'tool_result',
232
- toolName,
233
- success,
234
- result: result ? JSON.stringify(result).substring(0, 1000) : undefined,
235
- error: error ? {
236
- message: error.message,
237
- stack: error.stack,
238
- name: error.name,
239
- } : undefined,
240
- }, `[${toolName}] ${success ? 'Success' : 'Failed'}`);
241
- }
242
- /**
243
- * Log authentication attempt
244
- */
245
- function logAuthAttempt(type, success, details) {
246
- const level = success ? 'info' : 'warn';
247
- exports.logger[level]({
248
- type: 'auth',
249
- operation: type,
250
- success,
251
- ...details,
252
- }, `Auth ${type}: ${success ? 'Success' : 'Failed'}`);
253
- }
254
- /**
255
- * Log cache operation
256
- */
257
- function logCacheOperation(operation, key, details) {
258
- exports.logger.debug({
259
- type: 'cache',
260
- operation,
261
- key,
262
- ...details,
263
- }, `Cache ${operation}: ${key}`);
264
- }
265
- /**
266
- * Sanitize headers to remove sensitive information
267
- */
268
- function sanitizeHeaders(headers) {
269
- const sanitized = { ...headers };
270
- // Mask Authorization header
271
- if (sanitized['Authorization'] || sanitized['authorization']) {
272
- const authKey = sanitized['Authorization'] ? 'Authorization' : 'authorization';
273
- const authValue = sanitized[authKey];
274
- if (authValue && authValue.startsWith('Bearer ')) {
275
- const token = authValue.substring(7);
276
- sanitized[authKey] = `Bearer ${token.substring(0, 10)}...${token.substring(token.length - 10)}`;
277
- }
278
- }
279
- return sanitized;
280
- }
281
- /**
282
- * Log Git operation
283
- */
284
- function logGitOperation(operation, details, durationMs) {
285
- exports.logger.info({
286
- type: 'git_operation',
287
- operation,
288
- ...details,
289
- durationMs,
290
- }, `Git ${operation} completed (${durationMs}ms)`);
291
- }
292
- //# sourceMappingURL=logger.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.js","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"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"}
@@ -1,58 +0,0 @@
1
- /**
2
- * Request Validation Utilities
3
- * Enhanced validation with clear error messages
4
- */
5
- export interface ValidationError {
6
- field: string;
7
- message: string;
8
- expected?: string;
9
- received?: any;
10
- suggestion?: string;
11
- }
12
- export declare class RequestValidationError extends Error {
13
- errors: ValidationError[];
14
- statusCode: number;
15
- constructor(errors: ValidationError[], statusCode?: number);
16
- toJSON(): {
17
- error: string;
18
- message: string;
19
- details: ValidationError[];
20
- };
21
- }
22
- /**
23
- * Validate required field
24
- */
25
- export declare function validateRequired(value: any, fieldName: string): ValidationError | null;
26
- /**
27
- * Validate string type
28
- */
29
- export declare function validateString(value: any, fieldName: string): ValidationError | null;
30
- /**
31
- * Validate enum value
32
- */
33
- export declare function validateEnum(value: any, fieldName: string, allowedValues: readonly string[]): ValidationError | null;
34
- /**
35
- * Validate array type
36
- */
37
- export declare function validateArray(value: any, fieldName: string): ValidationError | null;
38
- /**
39
- * Validate object type
40
- */
41
- export declare function validateObject(value: any, fieldName: string): ValidationError | null;
42
- /**
43
- * Validate boolean type
44
- */
45
- export declare function validateBoolean(value: any, fieldName: string): ValidationError | null;
46
- /**
47
- * Validate number type
48
- */
49
- export declare function validateNumber(value: any, fieldName: string): ValidationError | null;
50
- /**
51
- * Validate SSE connection parameters
52
- */
53
- export declare function validateSSEConnectionParams(_body: any): ValidationError[];
54
- /**
55
- * Validate message parameters
56
- */
57
- export declare function validateMessageParams(body: any): ValidationError[];
58
- //# sourceMappingURL=validation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"validation.d.ts","sourceRoot":"","sources":["../../src/utils/validation.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;IAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,QAAQ,CAAC,EAAE,GAAG,CAAC;IACf,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,qBAAa,sBAAuB,SAAQ,KAAK;IACxC,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,UAAU,EAAE,MAAM,CAAC;gBAEd,MAAM,EAAE,eAAe,EAAE,EAAE,UAAU,SAAM;IAQvD,MAAM;;;;;CAOP;AAED;;GAEG;AACH,wBAAgB,gBAAgB,CAC9B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,YAAY,CAC1B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,EACjB,aAAa,EAAE,SAAS,MAAM,EAAE,GAC/B,eAAe,GAAG,IAAI,CAcxB;AAED;;GAEG;AACH,wBAAgB,aAAa,CAC3B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,eAAe,CAC7B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AAED;;GAEG;AACH,wBAAgB,cAAc,CAC5B,KAAK,EAAE,GAAG,EACV,SAAS,EAAE,MAAM,GAChB,eAAe,GAAG,IAAI,CAUxB;AA8DD;;GAEG;AACH,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,GAAG,GAAG,eAAe,EAAE,CAOzE;AAED;;GAEG;AACH,wBAAgB,qBAAqB,CAAC,IAAI,EAAE,GAAG,GAAG,eAAe,EAAE,CAqBlE"}