@stackguide/mcp-server 3.3.0 → 3.8.2

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 (137) hide show
  1. package/README.md +259 -10
  2. package/dist/config/persistence.d.ts +16 -0
  3. package/dist/config/persistence.d.ts.map +1 -1
  4. package/dist/config/persistence.js +53 -0
  5. package/dist/config/persistence.js.map +1 -1
  6. package/dist/handlers/config.d.ts +1 -8
  7. package/dist/handlers/config.d.ts.map +1 -1
  8. package/dist/handlers/config.js +7 -1
  9. package/dist/handlers/config.js.map +1 -1
  10. package/dist/handlers/context.d.ts +1 -5
  11. package/dist/handlers/context.d.ts.map +1 -1
  12. package/dist/handlers/context.js +7 -1
  13. package/dist/handlers/context.js.map +1 -1
  14. package/dist/handlers/cursor.d.ts +1 -7
  15. package/dist/handlers/cursor.d.ts.map +1 -1
  16. package/dist/handlers/cursor.js +7 -1
  17. package/dist/handlers/cursor.js.map +1 -1
  18. package/dist/handlers/custom-rule.d.ts +1 -11
  19. package/dist/handlers/custom-rule.d.ts.map +1 -1
  20. package/dist/handlers/custom-rule.js +7 -1
  21. package/dist/handlers/custom-rule.js.map +1 -1
  22. package/dist/handlers/docs.d.ts +1 -8
  23. package/dist/handlers/docs.d.ts.map +1 -1
  24. package/dist/handlers/docs.js +7 -1
  25. package/dist/handlers/docs.js.map +1 -1
  26. package/dist/handlers/generate.d.ts +1 -13
  27. package/dist/handlers/generate.d.ts.map +1 -1
  28. package/dist/handlers/generate.js +6 -3
  29. package/dist/handlers/generate.js.map +1 -1
  30. package/dist/handlers/health.d.ts +1 -8
  31. package/dist/handlers/health.d.ts.map +1 -1
  32. package/dist/handlers/health.js +11 -3
  33. package/dist/handlers/health.js.map +1 -1
  34. package/dist/handlers/help.d.ts +1 -5
  35. package/dist/handlers/help.d.ts.map +1 -1
  36. package/dist/handlers/help.js +7 -1
  37. package/dist/handlers/help.js.map +1 -1
  38. package/dist/handlers/knowledge.d.ts +1 -8
  39. package/dist/handlers/knowledge.d.ts.map +1 -1
  40. package/dist/handlers/knowledge.js +7 -1
  41. package/dist/handlers/knowledge.js.map +1 -1
  42. package/dist/handlers/prompts.d.ts +31 -0
  43. package/dist/handlers/prompts.d.ts.map +1 -0
  44. package/dist/handlers/prompts.js +236 -0
  45. package/dist/handlers/prompts.js.map +1 -0
  46. package/dist/handlers/resources.d.ts +27 -0
  47. package/dist/handlers/resources.d.ts.map +1 -0
  48. package/dist/handlers/resources.js +210 -0
  49. package/dist/handlers/resources.js.map +1 -0
  50. package/dist/handlers/review.d.ts.map +1 -1
  51. package/dist/handlers/review.js +45 -4
  52. package/dist/handlers/review.js.map +1 -1
  53. package/dist/handlers/rules.d.ts +1 -9
  54. package/dist/handlers/rules.d.ts.map +1 -1
  55. package/dist/handlers/rules.js +7 -1
  56. package/dist/handlers/rules.js.map +1 -1
  57. package/dist/index.d.ts +4 -2
  58. package/dist/index.d.ts.map +1 -1
  59. package/dist/index.js +29 -419
  60. package/dist/index.js.map +1 -1
  61. package/dist/router/index.d.ts +69 -0
  62. package/dist/router/index.d.ts.map +1 -0
  63. package/dist/router/index.js +151 -0
  64. package/dist/router/index.js.map +1 -0
  65. package/dist/services/ast/analyzer.d.ts +55 -0
  66. package/dist/services/ast/analyzer.d.ts.map +1 -0
  67. package/dist/services/ast/analyzer.js +268 -0
  68. package/dist/services/ast/analyzer.js.map +1 -0
  69. package/dist/services/ast/index.d.ts +10 -0
  70. package/dist/services/ast/index.d.ts.map +1 -0
  71. package/dist/services/ast/index.js +12 -0
  72. package/dist/services/ast/index.js.map +1 -0
  73. package/dist/services/ast/rules.d.ts +13 -0
  74. package/dist/services/ast/rules.d.ts.map +1 -0
  75. package/dist/services/ast/rules.js +358 -0
  76. package/dist/services/ast/rules.js.map +1 -0
  77. package/dist/services/ast/treeSitterParser.d.ts +54 -0
  78. package/dist/services/ast/treeSitterParser.d.ts.map +1 -0
  79. package/dist/services/ast/treeSitterParser.js +394 -0
  80. package/dist/services/ast/treeSitterParser.js.map +1 -0
  81. package/dist/services/ast/types.d.ts +167 -0
  82. package/dist/services/ast/types.d.ts.map +1 -0
  83. package/dist/services/ast/types.js +35 -0
  84. package/dist/services/ast/types.js.map +1 -0
  85. package/dist/services/codeAnalyzer.d.ts.map +1 -1
  86. package/dist/services/codeAnalyzer.js +43 -3
  87. package/dist/services/codeAnalyzer.js.map +1 -1
  88. package/dist/services/httpClient.d.ts +45 -0
  89. package/dist/services/httpClient.d.ts.map +1 -0
  90. package/dist/services/httpClient.js +309 -0
  91. package/dist/services/httpClient.js.map +1 -0
  92. package/dist/services/intelligence/projectFs.d.ts +11 -0
  93. package/dist/services/intelligence/projectFs.d.ts.map +1 -0
  94. package/dist/services/intelligence/projectFs.js +30 -0
  95. package/dist/services/intelligence/projectFs.js.map +1 -0
  96. package/dist/services/projectFs.d.ts +85 -0
  97. package/dist/services/projectFs.d.ts.map +1 -0
  98. package/dist/services/projectFs.js +287 -0
  99. package/dist/services/projectFs.js.map +1 -0
  100. package/dist/services/rulesEngine.d.ts +255 -0
  101. package/dist/services/rulesEngine.d.ts.map +1 -0
  102. package/dist/services/rulesEngine.js +523 -0
  103. package/dist/services/rulesEngine.js.map +1 -0
  104. package/dist/services/webDocumentation.d.ts +11 -0
  105. package/dist/services/webDocumentation.d.ts.map +1 -1
  106. package/dist/services/webDocumentation.js +231 -27
  107. package/dist/services/webDocumentation.js.map +1 -1
  108. package/dist/storage/index.d.ts +7 -0
  109. package/dist/storage/index.d.ts.map +1 -0
  110. package/dist/storage/index.js +7 -0
  111. package/dist/storage/index.js.map +1 -0
  112. package/dist/storage/sqlite.d.ts +92 -0
  113. package/dist/storage/sqlite.d.ts.map +1 -0
  114. package/dist/storage/sqlite.js +471 -0
  115. package/dist/storage/sqlite.js.map +1 -0
  116. package/dist/storage/types.d.ts +147 -0
  117. package/dist/storage/types.d.ts.map +1 -0
  118. package/dist/storage/types.js +13 -0
  119. package/dist/storage/types.js.map +1 -0
  120. package/dist/utils/logger.d.ts +11 -2
  121. package/dist/utils/logger.d.ts.map +1 -1
  122. package/dist/utils/logger.js +30 -2
  123. package/dist/utils/logger.js.map +1 -1
  124. package/dist/utils/safeFetch.d.ts +12 -0
  125. package/dist/utils/safeFetch.d.ts.map +1 -0
  126. package/dist/utils/safeFetch.js +107 -0
  127. package/dist/utils/safeFetch.js.map +1 -0
  128. package/dist/utils/validation.d.ts +1 -1
  129. package/dist/validation/index.d.ts +8 -0
  130. package/dist/validation/index.d.ts.map +1 -0
  131. package/dist/validation/index.js +19 -0
  132. package/dist/validation/index.js.map +1 -0
  133. package/dist/validation/schemas.d.ts +346 -0
  134. package/dist/validation/schemas.d.ts.map +1 -0
  135. package/dist/validation/schemas.js +256 -0
  136. package/dist/validation/schemas.js.map +1 -0
  137. package/package.json +9 -2
@@ -1009,7 +1009,47 @@ export function parseUserRuleToPatternRule(ruleId, content, category) {
1009
1009
  const regexMatch = patternStr.match(/^\/(.+)\/([gimsu]*)$/);
1010
1010
  if (!regexMatch)
1011
1011
  return null;
1012
- const pattern = new RegExp(regexMatch[1], regexMatch[2] || 'g');
1012
+ const regexSource = regexMatch[1];
1013
+ const regexFlags = regexMatch[2] || 'g';
1014
+ // Security: Validate regex to prevent ReDoS attacks
1015
+ // Block patterns known to cause catastrophic backtracking
1016
+ const dangerousPatterns = [
1017
+ /\(\.\*\)\+/, // (.*)+
1018
+ /\(\.\+\)\+/, // (.+)+
1019
+ /\([^)]*\|[^)]*\)\+/, // (a|b)+
1020
+ /\(\[.*\]\)\+/, // ([...])+
1021
+ /\.\*\.\*/, // .*.*
1022
+ /\(\.\*\)\*/, // (.*)*
1023
+ ];
1024
+ for (const dangerous of dangerousPatterns) {
1025
+ if (dangerous.test(regexSource)) {
1026
+ logger.audit('REDOS_PATTERN_BLOCK', {
1027
+ ruleId,
1028
+ pattern: regexSource,
1029
+ action: 'redos_block'
1030
+ });
1031
+ return null;
1032
+ }
1033
+ }
1034
+ // Limit regex complexity
1035
+ if (regexSource.length > 500) {
1036
+ logger.audit('REGEX_TOO_LONG', {
1037
+ ruleId,
1038
+ length: regexSource.length,
1039
+ action: 'regex_length_block'
1040
+ });
1041
+ return null;
1042
+ }
1043
+ // Test regex with timeout protection using a safe test string
1044
+ const testString = 'a'.repeat(100);
1045
+ const startTime = Date.now();
1046
+ const pattern = new RegExp(regexSource, regexFlags);
1047
+ pattern.test(testString);
1048
+ const elapsed = Date.now() - startTime;
1049
+ if (elapsed > 100) { // If test takes more than 100ms, reject
1050
+ logger.warn('Regex pattern too slow', { ruleId, elapsed });
1051
+ return null;
1052
+ }
1013
1053
  // Extract message from the rule content
1014
1054
  const messageMatch = content.match(/##?\s*(?:Rule|Message):\s*(.+)/i);
1015
1055
  const message = messageMatch?.[1] || `Custom rule: ${ruleId}`;
@@ -1029,8 +1069,8 @@ export function parseUserRuleToPatternRule(ruleId, content, category) {
1029
1069
  source: 'user'
1030
1070
  };
1031
1071
  }
1032
- catch {
1033
- logger.warn('Failed to parse pattern rule', { ruleId });
1072
+ catch (error) {
1073
+ logger.warn('Failed to parse pattern rule', { ruleId, error: String(error) });
1034
1074
  return null;
1035
1075
  }
1036
1076
  }
@@ -1 +1 @@
1
- {"version":3,"file":"codeAnalyzer.js","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"codeAnalyzer.js","sourceRoot":"","sources":["../../src/services/codeAnalyzer.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,45 @@
1
+ /**
2
+ * HttpClient - Centralized HTTP Client with Caching, Retries, and Rate Limiting
3
+ * @version 3.4.0
4
+ */
5
+ export interface HttpResponse<T = unknown> {
6
+ data: T;
7
+ status: number;
8
+ headers: Record<string, string>;
9
+ fromCache: boolean;
10
+ cached_at?: string;
11
+ }
12
+ export interface HttpRequestOptions {
13
+ method?: 'GET' | 'POST' | 'PUT' | 'DELETE' | 'PATCH';
14
+ headers?: Record<string, string>;
15
+ body?: unknown;
16
+ timeout?: number;
17
+ retries?: number;
18
+ retryDelay?: number;
19
+ cacheTtlMs?: number;
20
+ skipCache?: boolean;
21
+ skipRateLimit?: boolean;
22
+ }
23
+ export interface RateLimitConfig {
24
+ requestsPerSecond: number;
25
+ burstSize: number;
26
+ }
27
+ declare class HttpClient {
28
+ private rateLimiter;
29
+ private requestId;
30
+ constructor();
31
+ request<T = unknown>(url: string, options?: HttpRequestOptions): Promise<HttpResponse<T>>;
32
+ private executeWithRetry;
33
+ private isNonRetryableError;
34
+ private getFromCache;
35
+ private saveToCache;
36
+ private sleep;
37
+ get<T = unknown>(url: string, options?: Omit<HttpRequestOptions, 'method'>): Promise<HttpResponse<T>>;
38
+ post<T = unknown>(url: string, data?: unknown, options?: Omit<HttpRequestOptions, 'method' | 'body'>): Promise<HttpResponse<T>>;
39
+ put<T = unknown>(url: string, data?: unknown, options?: Omit<HttpRequestOptions, 'method' | 'body'>): Promise<HttpResponse<T>>;
40
+ delete<T = unknown>(url: string, options?: Omit<HttpRequestOptions, 'method'>): Promise<HttpResponse<T>>;
41
+ }
42
+ export declare function getHttpClient(): HttpClient;
43
+ export declare function resetHttpClient(): void;
44
+ export { HttpClient };
45
+ //# sourceMappingURL=httpClient.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpClient.d.ts","sourceRoot":"","sources":["../../src/services/httpClient.ts"],"names":[],"mappings":"AAAA;;;GAGG;AASH,MAAM,WAAW,YAAY,CAAC,CAAC,GAAG,OAAO;IACvC,IAAI,EAAE,CAAC,CAAC;IACR,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAChC,SAAS,EAAE,OAAO,CAAC;IACnB,SAAS,CAAC,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,kBAAkB;IACjC,MAAM,CAAC,EAAE,KAAK,GAAG,MAAM,GAAG,KAAK,GAAG,QAAQ,GAAG,OAAO,CAAC;IACrD,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,IAAI,CAAC,EAAE,OAAO,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,aAAa,CAAC,EAAE,OAAO,CAAC;CACzB;AAED,MAAM,WAAW,eAAe;IAC9B,iBAAiB,EAAE,MAAM,CAAC;IAC1B,SAAS,EAAE,MAAM,CAAC;CACnB;AAmJD,cAAM,UAAU;IACd,OAAO,CAAC,WAAW,CAAyB;IAC5C,OAAO,CAAC,SAAS,CAAa;;IAMxB,OAAO,CAAC,CAAC,GAAG,OAAO,EACvB,GAAG,EAAE,MAAM,EACX,OAAO,GAAE,kBAAuB,GAC/B,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;YAoDb,gBAAgB;IAoG9B,OAAO,CAAC,mBAAmB;YASb,YAAY;YAsBZ,WAAW;IAsBzB,OAAO,CAAC,KAAK;IAKP,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAIrG,IAAI,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI/H,GAAG,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,OAAO,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,GAAG,MAAM,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;IAI9H,MAAM,CAAC,CAAC,GAAG,OAAO,EAAE,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,IAAI,CAAC,kBAAkB,EAAE,QAAQ,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC,CAAC,CAAC;CAG/G;AAQD,wBAAgB,aAAa,IAAI,UAAU,CAK1C;AAED,wBAAgB,eAAe,IAAI,IAAI,CAEtC;AAGD,OAAO,EAAE,UAAU,EAAE,CAAC"}
@@ -0,0 +1,309 @@
1
+ /**
2
+ * HttpClient - Centralized HTTP Client with Caching, Retries, and Rate Limiting
3
+ * @version 3.4.0
4
+ */
5
+ import { getStorage } from '../storage/index.js';
6
+ import { logger } from '../utils/logger.js';
7
+ // ============================================================================
8
+ // Constants
9
+ // ============================================================================
10
+ const DEFAULT_TIMEOUT = 30000; // 30 seconds
11
+ const DEFAULT_RETRIES = 3;
12
+ const DEFAULT_RETRY_DELAY = 1000; // 1 second
13
+ const DEFAULT_CACHE_TTL = 3600000; // 1 hour
14
+ const MAX_CACHE_TTL = 86400000; // 24 hours
15
+ const DEFAULT_RATE_LIMITS = {
16
+ 'api.github.com': { requestsPerSecond: 5, burstSize: 10 },
17
+ 'cursor.directory': { requestsPerSecond: 2, burstSize: 5 },
18
+ 'raw.githubusercontent.com': { requestsPerSecond: 10, burstSize: 20 },
19
+ 'default': { requestsPerSecond: 10, burstSize: 20 }
20
+ };
21
+ // ============================================================================
22
+ // Rate Limiter
23
+ // ============================================================================
24
+ class TokenBucketRateLimiter {
25
+ configs;
26
+ buckets = new Map();
27
+ queues = new Map();
28
+ processing = new Set();
29
+ constructor(configs) {
30
+ this.configs = configs;
31
+ }
32
+ getConfig(host) {
33
+ return this.configs[host] || this.configs['default'];
34
+ }
35
+ getBucket(host) {
36
+ if (!this.buckets.has(host)) {
37
+ const config = this.getConfig(host);
38
+ this.buckets.set(host, {
39
+ tokens: config.burstSize,
40
+ lastRefill: Date.now()
41
+ });
42
+ }
43
+ return this.buckets.get(host);
44
+ }
45
+ refillTokens(host) {
46
+ const bucket = this.getBucket(host);
47
+ const config = this.getConfig(host);
48
+ const now = Date.now();
49
+ const elapsed = (now - bucket.lastRefill) / 1000;
50
+ const tokensToAdd = elapsed * config.requestsPerSecond;
51
+ bucket.tokens = Math.min(config.burstSize, bucket.tokens + tokensToAdd);
52
+ bucket.lastRefill = now;
53
+ }
54
+ tryConsume(host) {
55
+ this.refillTokens(host);
56
+ const bucket = this.getBucket(host);
57
+ if (bucket.tokens >= 1) {
58
+ bucket.tokens -= 1;
59
+ return true;
60
+ }
61
+ return false;
62
+ }
63
+ getWaitTime(host) {
64
+ const bucket = this.getBucket(host);
65
+ const config = this.getConfig(host);
66
+ const tokensNeeded = 1 - bucket.tokens;
67
+ return Math.ceil(tokensNeeded / config.requestsPerSecond * 1000);
68
+ }
69
+ async acquire(host, execute) {
70
+ // Try immediate consumption
71
+ if (this.tryConsume(host)) {
72
+ return execute();
73
+ }
74
+ // Queue the request
75
+ return new Promise((resolve, reject) => {
76
+ const queue = this.queues.get(host) || [];
77
+ queue.push({
78
+ resolve: resolve,
79
+ reject,
80
+ execute: execute
81
+ });
82
+ this.queues.set(host, queue);
83
+ // Start processing if not already
84
+ if (!this.processing.has(host)) {
85
+ this.processQueue(host);
86
+ }
87
+ });
88
+ }
89
+ async processQueue(host) {
90
+ this.processing.add(host);
91
+ while (true) {
92
+ const queue = this.queues.get(host) || [];
93
+ if (queue.length === 0) {
94
+ this.processing.delete(host);
95
+ break;
96
+ }
97
+ // Wait for token availability
98
+ if (!this.tryConsume(host)) {
99
+ const waitTime = this.getWaitTime(host);
100
+ await this.sleep(waitTime);
101
+ continue;
102
+ }
103
+ // Process next request
104
+ const request = queue.shift();
105
+ this.queues.set(host, queue);
106
+ try {
107
+ const result = await request.execute();
108
+ request.resolve(result);
109
+ }
110
+ catch (error) {
111
+ request.reject(error);
112
+ }
113
+ }
114
+ }
115
+ sleep(ms) {
116
+ return new Promise(resolve => setTimeout(resolve, ms));
117
+ }
118
+ }
119
+ // ============================================================================
120
+ // HTTP Client Implementation
121
+ // ============================================================================
122
+ class HttpClient {
123
+ rateLimiter;
124
+ requestId = 0;
125
+ constructor() {
126
+ this.rateLimiter = new TokenBucketRateLimiter(DEFAULT_RATE_LIMITS);
127
+ }
128
+ async request(url, options = {}) {
129
+ const { method = 'GET', headers = {}, body, timeout = DEFAULT_TIMEOUT, retries = DEFAULT_RETRIES, retryDelay = DEFAULT_RETRY_DELAY, cacheTtlMs = DEFAULT_CACHE_TTL, skipCache = false, skipRateLimit = false } = options;
130
+ const reqId = ++this.requestId;
131
+ const host = new URL(url).hostname;
132
+ // Check cache for GET requests
133
+ if (method === 'GET' && !skipCache) {
134
+ const cached = await this.getFromCache(url);
135
+ if (cached) {
136
+ logger.debug(`[HTTP#${reqId}] Cache hit for ${url}`);
137
+ return cached;
138
+ }
139
+ }
140
+ logger.debug(`[HTTP#${reqId}] ${method} ${url}`);
141
+ const execute = async () => {
142
+ return this.executeWithRetry(url, {
143
+ method,
144
+ headers,
145
+ body,
146
+ timeout,
147
+ retries,
148
+ retryDelay,
149
+ reqId
150
+ });
151
+ };
152
+ // Apply rate limiting
153
+ const response = skipRateLimit
154
+ ? await execute()
155
+ : await this.rateLimiter.acquire(host, execute);
156
+ // Cache successful GET responses
157
+ if (method === 'GET' && response.status >= 200 && response.status < 300 && !skipCache) {
158
+ await this.saveToCache(url, response, cacheTtlMs);
159
+ }
160
+ return response;
161
+ }
162
+ async executeWithRetry(url, options) {
163
+ const { method, headers, body, timeout, retries, retryDelay, reqId } = options;
164
+ let lastError = null;
165
+ for (let attempt = 0; attempt <= retries; attempt++) {
166
+ try {
167
+ if (attempt > 0) {
168
+ const delay = retryDelay * Math.pow(2, attempt - 1); // Exponential backoff
169
+ logger.debug(`[HTTP#${reqId}] Retry ${attempt}/${retries} after ${delay}ms`);
170
+ await this.sleep(delay);
171
+ }
172
+ const controller = new AbortController();
173
+ const timeoutId = setTimeout(() => controller.abort(), timeout);
174
+ const fetchOptions = {
175
+ method,
176
+ headers: {
177
+ 'Content-Type': 'application/json',
178
+ 'User-Agent': 'StackGuide-MCP/3.4.0',
179
+ ...headers
180
+ },
181
+ signal: controller.signal
182
+ };
183
+ if (body && method !== 'GET') {
184
+ fetchOptions.body = JSON.stringify(body);
185
+ }
186
+ const response = await fetch(url, fetchOptions);
187
+ clearTimeout(timeoutId);
188
+ // Extract response headers
189
+ const responseHeaders = {};
190
+ response.headers.forEach((value, key) => {
191
+ responseHeaders[key] = value;
192
+ });
193
+ // Handle rate limit headers
194
+ if (response.status === 429) {
195
+ const retryAfter = response.headers.get('Retry-After');
196
+ if (retryAfter && attempt < retries) {
197
+ const waitTime = parseInt(retryAfter, 10) * 1000 || retryDelay;
198
+ logger.debug(`[HTTP#${reqId}] Rate limited, waiting ${waitTime}ms`);
199
+ await this.sleep(waitTime);
200
+ continue;
201
+ }
202
+ }
203
+ // Parse response
204
+ let data;
205
+ const contentType = response.headers.get('Content-Type') || '';
206
+ if (contentType.includes('application/json')) {
207
+ data = await response.json();
208
+ }
209
+ else {
210
+ data = await response.text();
211
+ }
212
+ logger.debug(`[HTTP#${reqId}] ${response.status} ${response.statusText}`);
213
+ return {
214
+ data,
215
+ status: response.status,
216
+ headers: responseHeaders,
217
+ fromCache: false
218
+ };
219
+ }
220
+ catch (error) {
221
+ lastError = error;
222
+ // Don't retry on abort/timeout if it's the last attempt
223
+ if (lastError.name === 'AbortError') {
224
+ lastError = new Error(`Request timeout after ${timeout}ms`);
225
+ }
226
+ // Don't retry certain errors
227
+ if (this.isNonRetryableError(lastError)) {
228
+ throw lastError;
229
+ }
230
+ logger.debug(`[HTTP#${reqId}] Error: ${lastError.message}`);
231
+ }
232
+ }
233
+ throw lastError || new Error('Request failed');
234
+ }
235
+ isNonRetryableError(error) {
236
+ const message = error.message.toLowerCase();
237
+ return (message.includes('invalid url') ||
238
+ message.includes('unsupported protocol') ||
239
+ message.includes('certificate'));
240
+ }
241
+ async getFromCache(url) {
242
+ try {
243
+ const storage = getStorage();
244
+ const cacheKey = `http:${url}`;
245
+ const entry = await storage.cache.get(cacheKey);
246
+ if (entry) {
247
+ return {
248
+ data: entry.value.data,
249
+ status: entry.value.status,
250
+ headers: entry.value.headers,
251
+ fromCache: true,
252
+ cached_at: entry.createdAt
253
+ };
254
+ }
255
+ }
256
+ catch (error) {
257
+ logger.debug(`Cache read error: ${error.message}`);
258
+ }
259
+ return null;
260
+ }
261
+ async saveToCache(url, response, ttlMs) {
262
+ try {
263
+ const storage = getStorage();
264
+ const cacheKey = `http:${url}`;
265
+ const effectiveTtl = Math.min(ttlMs, MAX_CACHE_TTL);
266
+ await storage.cache.set(cacheKey, {
267
+ data: response.data,
268
+ status: response.status,
269
+ headers: response.headers
270
+ }, { ttl: effectiveTtl });
271
+ logger.debug(`Cached response for ${url} (TTL: ${effectiveTtl}ms)`);
272
+ }
273
+ catch (error) {
274
+ logger.debug(`Cache write error: ${error.message}`);
275
+ }
276
+ }
277
+ sleep(ms) {
278
+ return new Promise(resolve => setTimeout(resolve, ms));
279
+ }
280
+ // Convenience methods
281
+ async get(url, options) {
282
+ return this.request(url, { ...options, method: 'GET' });
283
+ }
284
+ async post(url, data, options) {
285
+ return this.request(url, { ...options, method: 'POST', body: data });
286
+ }
287
+ async put(url, data, options) {
288
+ return this.request(url, { ...options, method: 'PUT', body: data });
289
+ }
290
+ async delete(url, options) {
291
+ return this.request(url, { ...options, method: 'DELETE' });
292
+ }
293
+ }
294
+ // ============================================================================
295
+ // Singleton Instance
296
+ // ============================================================================
297
+ let clientInstance = null;
298
+ export function getHttpClient() {
299
+ if (!clientInstance) {
300
+ clientInstance = new HttpClient();
301
+ }
302
+ return clientInstance;
303
+ }
304
+ export function resetHttpClient() {
305
+ clientInstance = null;
306
+ }
307
+ // Export types and client
308
+ export { HttpClient };
309
+ //# sourceMappingURL=httpClient.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"httpClient.js","sourceRoot":"","sources":["../../src/services/httpClient.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,11 @@
1
+ export interface FsEntry {
2
+ name: string;
3
+ isDirectory: boolean;
4
+ isFile: boolean;
5
+ }
6
+ export interface ProjectFs {
7
+ exists(targetPath: string): boolean;
8
+ readDir(targetPath: string): FsEntry[];
9
+ }
10
+ export declare function createLocalFs(basePath?: string): ProjectFs;
11
+ //# sourceMappingURL=projectFs.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectFs.d.ts","sourceRoot":"","sources":["../../../src/services/intelligence/projectFs.ts"],"names":[],"mappings":"AAGA,MAAM,WAAW,OAAO;IACtB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,OAAO,CAAC;IACrB,MAAM,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,SAAS;IACxB,MAAM,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC;IACpC,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,EAAE,CAAC;CACxC;AAED,wBAAgB,aAAa,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,SAAS,CAwB1D"}
@@ -0,0 +1,30 @@
1
+ import * as fs from 'fs';
2
+ import * as path from 'path';
3
+ export function createLocalFs(basePath) {
4
+ return {
5
+ exists(targetPath) {
6
+ const resolved = basePath ? path.join(basePath, targetPath) : targetPath;
7
+ try {
8
+ return fs.existsSync(resolved);
9
+ }
10
+ catch {
11
+ return false;
12
+ }
13
+ },
14
+ readDir(targetPath) {
15
+ const resolved = basePath ? path.join(basePath, targetPath) : targetPath;
16
+ try {
17
+ const entries = fs.readdirSync(resolved, { withFileTypes: true });
18
+ return entries.map(entry => ({
19
+ name: entry.name,
20
+ isDirectory: entry.isDirectory(),
21
+ isFile: entry.isFile()
22
+ }));
23
+ }
24
+ catch {
25
+ return [];
26
+ }
27
+ }
28
+ };
29
+ }
30
+ //# sourceMappingURL=projectFs.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"projectFs.js","sourceRoot":"","sources":["../../../src/services/intelligence/projectFs.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,KAAK,IAAI,MAAM,MAAM,CAAC;AAa7B,MAAM,UAAU,aAAa,CAAC,QAAiB;IAC7C,OAAO;QACL,MAAM,CAAC,UAAkB;YACvB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACzE,IAAI,CAAC;gBACH,OAAO,EAAE,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC;YACjC,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,KAAK,CAAC;YACf,CAAC;QACH,CAAC;QACD,OAAO,CAAC,UAAkB;YACxB,MAAM,QAAQ,GAAG,QAAQ,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,UAAU,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC;YACzE,IAAI,CAAC;gBACH,MAAM,OAAO,GAAG,EAAE,CAAC,WAAW,CAAC,QAAQ,EAAE,EAAE,aAAa,EAAE,IAAI,EAAE,CAAC,CAAC;gBAClE,OAAO,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;oBAC3B,IAAI,EAAE,KAAK,CAAC,IAAI;oBAChB,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE;oBAChC,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE;iBACvB,CAAC,CAAC,CAAC;YACN,CAAC;YAAC,MAAM,CAAC;gBACP,OAAO,EAAE,CAAC;YACZ,CAAC;QACH,CAAC;KACF,CAAC;AACJ,CAAC"}