@gulibs/safe-coder 0.0.26 → 0.0.27

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 (192) hide show
  1. package/README.md +678 -994
  2. package/dist/cache/cache-manager.d.ts +71 -0
  3. package/dist/cache/cache-manager.d.ts.map +1 -0
  4. package/dist/cache/cache-manager.js +244 -0
  5. package/dist/cache/cache-manager.js.map +1 -0
  6. package/dist/executor/cli-executor.d.ts +106 -0
  7. package/dist/executor/cli-executor.d.ts.map +1 -0
  8. package/dist/executor/cli-executor.js +133 -0
  9. package/dist/executor/cli-executor.js.map +1 -0
  10. package/dist/executor/dependency-checker.d.ts +23 -0
  11. package/dist/executor/dependency-checker.d.ts.map +1 -0
  12. package/dist/executor/dependency-checker.js +62 -0
  13. package/dist/executor/dependency-checker.js.map +1 -0
  14. package/dist/index.js +3 -4
  15. package/dist/index.js.map +1 -1
  16. package/dist/processor/content-processor.d.ts +76 -0
  17. package/dist/processor/content-processor.d.ts.map +1 -0
  18. package/dist/processor/content-processor.js +182 -0
  19. package/dist/processor/content-processor.js.map +1 -0
  20. package/dist/processor/guide-generator.d.ts +68 -0
  21. package/dist/processor/guide-generator.d.ts.map +1 -0
  22. package/dist/processor/guide-generator.js +189 -0
  23. package/dist/processor/guide-generator.js.map +1 -0
  24. package/dist/server/safe-coder-mcp.d.ts +18 -0
  25. package/dist/server/safe-coder-mcp.d.ts.map +1 -0
  26. package/dist/server/safe-coder-mcp.js +164 -0
  27. package/dist/server/safe-coder-mcp.js.map +1 -0
  28. package/dist/tools/cache-tools.d.ts +42 -0
  29. package/dist/tools/cache-tools.d.ts.map +1 -0
  30. package/dist/tools/cache-tools.js +70 -0
  31. package/dist/tools/cache-tools.js.map +1 -0
  32. package/dist/tools/crawl-documentation.d.ts +57 -0
  33. package/dist/tools/crawl-documentation.d.ts.map +1 -0
  34. package/dist/tools/crawl-documentation.js +96 -0
  35. package/dist/tools/crawl-documentation.js.map +1 -0
  36. package/dist/tools/index.d.ts +4 -0
  37. package/dist/tools/index.d.ts.map +1 -0
  38. package/dist/tools/index.js +4 -0
  39. package/dist/tools/index.js.map +1 -0
  40. package/dist/tools/save-skill.d.ts +49 -0
  41. package/dist/tools/save-skill.d.ts.map +1 -0
  42. package/dist/tools/save-skill.js +207 -0
  43. package/dist/tools/save-skill.js.map +1 -0
  44. package/package.json +18 -28
  45. package/dist/documentation/browser-doc-browser.d.ts +0 -41
  46. package/dist/documentation/browser-doc-browser.d.ts.map +0 -1
  47. package/dist/documentation/browser-doc-browser.js +0 -357
  48. package/dist/documentation/browser-doc-browser.js.map +0 -1
  49. package/dist/documentation/browser-manager.d.ts +0 -51
  50. package/dist/documentation/browser-manager.d.ts.map +0 -1
  51. package/dist/documentation/browser-manager.js +0 -260
  52. package/dist/documentation/browser-manager.js.map +0 -1
  53. package/dist/documentation/cache.d.ts +0 -13
  54. package/dist/documentation/cache.d.ts.map +0 -1
  55. package/dist/documentation/cache.js +0 -48
  56. package/dist/documentation/cache.js.map +0 -1
  57. package/dist/documentation/checkpoint-manager.d.ts +0 -38
  58. package/dist/documentation/checkpoint-manager.d.ts.map +0 -1
  59. package/dist/documentation/checkpoint-manager.js +0 -101
  60. package/dist/documentation/checkpoint-manager.js.map +0 -1
  61. package/dist/documentation/doc-crawler.d.ts +0 -221
  62. package/dist/documentation/doc-crawler.d.ts.map +0 -1
  63. package/dist/documentation/doc-crawler.js +0 -1415
  64. package/dist/documentation/doc-crawler.js.map +0 -1
  65. package/dist/documentation/github-client.d.ts +0 -13
  66. package/dist/documentation/github-client.d.ts.map +0 -1
  67. package/dist/documentation/github-client.js +0 -90
  68. package/dist/documentation/github-client.js.map +0 -1
  69. package/dist/documentation/http-fetcher.d.ts +0 -8
  70. package/dist/documentation/http-fetcher.d.ts.map +0 -1
  71. package/dist/documentation/http-fetcher.js +0 -31
  72. package/dist/documentation/http-fetcher.js.map +0 -1
  73. package/dist/documentation/index.d.ts +0 -16
  74. package/dist/documentation/index.d.ts.map +0 -1
  75. package/dist/documentation/index.js +0 -159
  76. package/dist/documentation/index.js.map +0 -1
  77. package/dist/documentation/llms-txt/detector.d.ts +0 -31
  78. package/dist/documentation/llms-txt/detector.d.ts.map +0 -1
  79. package/dist/documentation/llms-txt/detector.js +0 -77
  80. package/dist/documentation/llms-txt/detector.js.map +0 -1
  81. package/dist/documentation/llms-txt/downloader.d.ts +0 -30
  82. package/dist/documentation/llms-txt/downloader.d.ts.map +0 -1
  83. package/dist/documentation/llms-txt/downloader.js +0 -84
  84. package/dist/documentation/llms-txt/downloader.js.map +0 -1
  85. package/dist/documentation/llms-txt/index.d.ts +0 -4
  86. package/dist/documentation/llms-txt/index.d.ts.map +0 -1
  87. package/dist/documentation/llms-txt/index.js +0 -4
  88. package/dist/documentation/llms-txt/index.js.map +0 -1
  89. package/dist/documentation/llms-txt/parser.d.ts +0 -43
  90. package/dist/documentation/llms-txt/parser.d.ts.map +0 -1
  91. package/dist/documentation/llms-txt/parser.js +0 -177
  92. package/dist/documentation/llms-txt/parser.js.map +0 -1
  93. package/dist/documentation/normalizer.d.ts +0 -6
  94. package/dist/documentation/normalizer.d.ts.map +0 -1
  95. package/dist/documentation/normalizer.js +0 -38
  96. package/dist/documentation/normalizer.js.map +0 -1
  97. package/dist/documentation/npm-client.d.ts +0 -19
  98. package/dist/documentation/npm-client.d.ts.map +0 -1
  99. package/dist/documentation/npm-client.js +0 -182
  100. package/dist/documentation/npm-client.js.map +0 -1
  101. package/dist/documentation/skill-generator.d.ts +0 -108
  102. package/dist/documentation/skill-generator.d.ts.map +0 -1
  103. package/dist/documentation/skill-generator.js +0 -642
  104. package/dist/documentation/skill-generator.js.map +0 -1
  105. package/dist/documentation/web-doc-browser.d.ts +0 -67
  106. package/dist/documentation/web-doc-browser.d.ts.map +0 -1
  107. package/dist/documentation/web-doc-browser.js +0 -555
  108. package/dist/documentation/web-doc-browser.js.map +0 -1
  109. package/dist/errors/api-validator.d.ts +0 -9
  110. package/dist/errors/api-validator.d.ts.map +0 -1
  111. package/dist/errors/api-validator.js +0 -57
  112. package/dist/errors/api-validator.js.map +0 -1
  113. package/dist/errors/contextual-analysis.d.ts +0 -14
  114. package/dist/errors/contextual-analysis.d.ts.map +0 -1
  115. package/dist/errors/contextual-analysis.js +0 -173
  116. package/dist/errors/contextual-analysis.js.map +0 -1
  117. package/dist/errors/cross-file-analyzer.d.ts +0 -16
  118. package/dist/errors/cross-file-analyzer.d.ts.map +0 -1
  119. package/dist/errors/cross-file-analyzer.js +0 -172
  120. package/dist/errors/cross-file-analyzer.js.map +0 -1
  121. package/dist/errors/eslint-integration.d.ts +0 -9
  122. package/dist/errors/eslint-integration.d.ts.map +0 -1
  123. package/dist/errors/eslint-integration.js +0 -131
  124. package/dist/errors/eslint-integration.js.map +0 -1
  125. package/dist/errors/framework-detector.d.ts +0 -10
  126. package/dist/errors/framework-detector.d.ts.map +0 -1
  127. package/dist/errors/framework-detector.js +0 -126
  128. package/dist/errors/framework-detector.js.map +0 -1
  129. package/dist/errors/index.d.ts +0 -18
  130. package/dist/errors/index.d.ts.map +0 -1
  131. package/dist/errors/index.js +0 -134
  132. package/dist/errors/index.js.map +0 -1
  133. package/dist/errors/pattern-matcher.d.ts +0 -25
  134. package/dist/errors/pattern-matcher.d.ts.map +0 -1
  135. package/dist/errors/pattern-matcher.js +0 -44
  136. package/dist/errors/pattern-matcher.js.map +0 -1
  137. package/dist/errors/patterns.d.ts +0 -11
  138. package/dist/errors/patterns.d.ts.map +0 -1
  139. package/dist/errors/patterns.js +0 -351
  140. package/dist/errors/patterns.js.map +0 -1
  141. package/dist/errors/performance-detector.d.ts +0 -11
  142. package/dist/errors/performance-detector.d.ts.map +0 -1
  143. package/dist/errors/performance-detector.js +0 -119
  144. package/dist/errors/performance-detector.js.map +0 -1
  145. package/dist/errors/runtime-detector.d.ts +0 -7
  146. package/dist/errors/runtime-detector.d.ts.map +0 -1
  147. package/dist/errors/runtime-detector.js +0 -86
  148. package/dist/errors/runtime-detector.js.map +0 -1
  149. package/dist/errors/security-detector.d.ts +0 -6
  150. package/dist/errors/security-detector.d.ts.map +0 -1
  151. package/dist/errors/security-detector.js +0 -75
  152. package/dist/errors/security-detector.js.map +0 -1
  153. package/dist/errors/typescript-integration.d.ts +0 -6
  154. package/dist/errors/typescript-integration.d.ts.map +0 -1
  155. package/dist/errors/typescript-integration.js +0 -46
  156. package/dist/errors/typescript-integration.js.map +0 -1
  157. package/dist/server/mcp-server.d.ts +0 -14
  158. package/dist/server/mcp-server.d.ts.map +0 -1
  159. package/dist/server/mcp-server.js +0 -793
  160. package/dist/server/mcp-server.js.map +0 -1
  161. package/dist/types/documentation.d.ts +0 -26
  162. package/dist/types/documentation.d.ts.map +0 -1
  163. package/dist/types/documentation.js +0 -2
  164. package/dist/types/documentation.js.map +0 -1
  165. package/dist/utils/config.d.ts +0 -21
  166. package/dist/utils/config.d.ts.map +0 -1
  167. package/dist/utils/config.js +0 -34
  168. package/dist/utils/config.js.map +0 -1
  169. package/dist/utils/http-client.d.ts +0 -17
  170. package/dist/utils/http-client.d.ts.map +0 -1
  171. package/dist/utils/http-client.js +0 -62
  172. package/dist/utils/http-client.js.map +0 -1
  173. package/dist/utils/logger.d.ts +0 -36
  174. package/dist/utils/logger.d.ts.map +0 -1
  175. package/dist/utils/logger.js +0 -128
  176. package/dist/utils/logger.js.map +0 -1
  177. package/dist/utils/rate-limiter.d.ts +0 -9
  178. package/dist/utils/rate-limiter.d.ts.map +0 -1
  179. package/dist/utils/rate-limiter.js +0 -26
  180. package/dist/utils/rate-limiter.js.map +0 -1
  181. package/dist/validation/auto-fix.d.ts +0 -15
  182. package/dist/validation/auto-fix.d.ts.map +0 -1
  183. package/dist/validation/auto-fix.js +0 -49
  184. package/dist/validation/auto-fix.js.map +0 -1
  185. package/dist/validation/index.d.ts +0 -21
  186. package/dist/validation/index.d.ts.map +0 -1
  187. package/dist/validation/index.js +0 -45
  188. package/dist/validation/index.js.map +0 -1
  189. package/dist/validation/resolution-db.d.ts +0 -15
  190. package/dist/validation/resolution-db.d.ts.map +0 -1
  191. package/dist/validation/resolution-db.js +0 -62
  192. package/dist/validation/resolution-db.js.map +0 -1
@@ -1 +0,0 @@
1
- {"version":3,"file":"mcp-server.js","sourceRoot":"","sources":["../../src/server/mcp-server.ts"],"names":[],"mappings":"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"}
@@ -1,26 +0,0 @@
1
- export interface Documentation {
2
- name: string;
3
- version?: string;
4
- content: string;
5
- source: 'npm' | 'github' | 'http';
6
- url?: string;
7
- lastUpdated: Date;
8
- sections?: {
9
- api?: string;
10
- examples?: string;
11
- installation?: string;
12
- readme?: string;
13
- };
14
- }
15
- export interface CacheEntry {
16
- documentation: Documentation;
17
- expiresAt: Date;
18
- version: string;
19
- }
20
- export interface DocumentationSource {
21
- fetch(packageName: string, version?: string): Promise<Documentation>;
22
- }
23
- export interface IDocumentationNormalizer {
24
- normalize(content: string, source: 'npm' | 'github' | 'http'): Documentation;
25
- }
26
- //# sourceMappingURL=documentation.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentation.d.ts","sourceRoot":"","sources":["../../src/types/documentation.ts"],"names":[],"mappings":"AAAA,MAAM,WAAW,aAAa;IAC5B,IAAI,EAAE,MAAM,CAAC;IACb,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,CAAC;IAClC,GAAG,CAAC,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,IAAI,CAAC;IAClB,QAAQ,CAAC,EAAE;QACT,GAAG,CAAC,EAAE,MAAM,CAAC;QACb,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,YAAY,CAAC,EAAE,MAAM,CAAC;QACtB,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,CAAC;CACH;AAED,MAAM,WAAW,UAAU;IACzB,aAAa,EAAE,aAAa,CAAC;IAC7B,SAAS,EAAE,IAAI,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,mBAAmB;IAClC,KAAK,CAAC,WAAW,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC;CACtE;AAED,MAAM,WAAW,wBAAwB;IACvC,SAAS,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,KAAK,GAAG,QAAQ,GAAG,MAAM,GAAG,aAAa,CAAC;CAC9E"}
@@ -1,2 +0,0 @@
1
- export {};
2
- //# sourceMappingURL=documentation.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"documentation.js","sourceRoot":"","sources":["../../src/types/documentation.ts"],"names":[],"mappings":""}
@@ -1,21 +0,0 @@
1
- import type { ProxyConfig } from './http-client.js';
2
- export interface Config {
3
- cacheTTLMinutes: number;
4
- githubToken?: string;
5
- enableAutoFix: boolean;
6
- rateLimitRequests: number;
7
- rateLimitWindow: number;
8
- proxy?: ProxyConfig;
9
- logLevel?: string;
10
- logColors?: boolean;
11
- errorDetection?: {
12
- enableRuntime?: boolean;
13
- enablePerformance?: boolean;
14
- enableSecurity?: boolean;
15
- enableFramework?: boolean;
16
- enableApiValidation?: boolean;
17
- enableCrossFile?: boolean;
18
- };
19
- }
20
- export declare function loadConfig(): Config;
21
- //# sourceMappingURL=config.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.d.ts","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,kBAAkB,CAAC;AAEpD,MAAM,WAAW,MAAM;IACrB,eAAe,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,OAAO,CAAC;IACvB,iBAAiB,EAAE,MAAM,CAAC;IAC1B,eAAe,EAAE,MAAM,CAAC;IACxB,KAAK,CAAC,EAAE,WAAW,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,SAAS,CAAC,EAAE,OAAO,CAAC;IACpB,cAAc,CAAC,EAAE;QACf,aAAa,CAAC,EAAE,OAAO,CAAC;QACxB,iBAAiB,CAAC,EAAE,OAAO,CAAC;QAC5B,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,eAAe,CAAC,EAAE,OAAO,CAAC;QAC1B,mBAAmB,CAAC,EAAE,OAAO,CAAC;QAC9B,eAAe,CAAC,EAAE,OAAO,CAAC;KAC3B,CAAC;CACH;AAED,wBAAgB,UAAU,IAAI,MAAM,CAgCnC"}
@@ -1,34 +0,0 @@
1
- export function loadConfig() {
2
- // Parse proxy configuration
3
- let proxy;
4
- const httpProxy = process.env.HTTP_PROXY || process.env.http_proxy;
5
- const httpsProxy = process.env.HTTPS_PROXY || process.env.https_proxy;
6
- const noProxy = process.env.NO_PROXY || process.env.no_proxy;
7
- if (httpProxy || httpsProxy) {
8
- proxy = {};
9
- if (httpProxy)
10
- proxy.http = httpProxy;
11
- if (httpsProxy)
12
- proxy.https = httpsProxy;
13
- if (noProxy) {
14
- proxy.noProxy = noProxy.split(',').map(s => s.trim());
15
- }
16
- }
17
- return {
18
- cacheTTLMinutes: parseInt(process.env.CACHE_TTL_MINUTES || '60', 10),
19
- githubToken: process.env.GITHUB_TOKEN,
20
- enableAutoFix: process.env.ENABLE_AUTO_FIX !== 'false',
21
- rateLimitRequests: parseInt(process.env.RATE_LIMIT_REQUESTS || '100', 10),
22
- rateLimitWindow: parseInt(process.env.RATE_LIMIT_WINDOW_MS || '60000', 10),
23
- proxy,
24
- errorDetection: {
25
- enableRuntime: process.env.ENABLE_RUNTIME_DETECTION !== 'false',
26
- enablePerformance: process.env.ENABLE_PERFORMANCE_DETECTION !== 'false',
27
- enableSecurity: process.env.ENABLE_SECURITY_DETECTION !== 'false',
28
- enableFramework: process.env.ENABLE_FRAMEWORK_DETECTION !== 'false',
29
- enableApiValidation: process.env.ENABLE_API_VALIDATION !== 'false',
30
- enableCrossFile: process.env.ENABLE_CROSS_FILE === 'true',
31
- },
32
- };
33
- }
34
- //# sourceMappingURL=config.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"config.js","sourceRoot":"","sources":["../../src/utils/config.ts"],"names":[],"mappings":"AAqBA,MAAM,UAAU,UAAU;IACxB,4BAA4B;IAC5B,IAAI,KAA8B,CAAC;IACnC,MAAM,SAAS,GAAG,OAAO,CAAC,GAAG,CAAC,UAAU,IAAI,OAAO,CAAC,GAAG,CAAC,UAAU,CAAC;IACnE,MAAM,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;IACtE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC,QAAQ,CAAC;IAE7D,IAAI,SAAS,IAAI,UAAU,EAAE,CAAC;QAC5B,KAAK,GAAG,EAAE,CAAC;QACX,IAAI,SAAS;YAAE,KAAK,CAAC,IAAI,GAAG,SAAS,CAAC;QACtC,IAAI,UAAU;YAAE,KAAK,CAAC,KAAK,GAAG,UAAU,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,KAAK,CAAC,OAAO,GAAG,OAAO,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED,OAAO;QACL,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,iBAAiB,IAAI,IAAI,EAAE,EAAE,CAAC;QACpE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;QACrC,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,eAAe,KAAK,OAAO;QACtD,iBAAiB,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,mBAAmB,IAAI,KAAK,EAAE,EAAE,CAAC;QACzE,eAAe,EAAE,QAAQ,CAAC,OAAO,CAAC,GAAG,CAAC,oBAAoB,IAAI,OAAO,EAAE,EAAE,CAAC;QAC1E,KAAK;QACL,cAAc,EAAE;YACd,aAAa,EAAE,OAAO,CAAC,GAAG,CAAC,wBAAwB,KAAK,OAAO;YAC/D,iBAAiB,EAAE,OAAO,CAAC,GAAG,CAAC,4BAA4B,KAAK,OAAO;YACvE,cAAc,EAAE,OAAO,CAAC,GAAG,CAAC,yBAAyB,KAAK,OAAO;YACjE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,0BAA0B,KAAK,OAAO;YACnE,mBAAmB,EAAE,OAAO,CAAC,GAAG,CAAC,qBAAqB,KAAK,OAAO;YAClE,eAAe,EAAE,OAAO,CAAC,GAAG,CAAC,iBAAiB,KAAK,MAAM;SAC1D;KACF,CAAC;AACJ,CAAC"}
@@ -1,17 +0,0 @@
1
- import { AxiosRequestConfig } from 'axios';
2
- export interface ProxyConfig {
3
- http?: string;
4
- https?: string;
5
- noProxy?: string[];
6
- }
7
- export declare class HttpClient {
8
- private axiosInstance;
9
- private proxyConfig?;
10
- constructor(proxyConfig?: ProxyConfig);
11
- private setupProxy;
12
- get(url: string, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
13
- post(url: string, data?: any, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
14
- put(url: string, data?: any, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
15
- delete(url: string, config?: AxiosRequestConfig): Promise<import("axios").AxiosResponse<any, any, {}>>;
16
- }
17
- //# sourceMappingURL=http-client.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-client.d.ts","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAc,EAAiB,kBAAkB,EAAE,MAAM,OAAO,CAAC;AAIjE,MAAM,WAAW,WAAW;IAC1B,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,EAAE,CAAC;CACpB;AAED,qBAAa,UAAU;IACrB,OAAO,CAAC,aAAa,CAAgB;IACrC,OAAO,CAAC,WAAW,CAAC,CAAc;gBAEtB,WAAW,CAAC,EAAE,WAAW;IAMrC,OAAO,CAAC,UAAU;IA4ClB,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAI5C,IAAI,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAIzD,GAAG,CAAC,GAAG,EAAE,MAAM,EAAE,IAAI,CAAC,EAAE,GAAG,EAAE,MAAM,CAAC,EAAE,kBAAkB;IAIxD,MAAM,CAAC,GAAG,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,kBAAkB;CAGhD"}
@@ -1,62 +0,0 @@
1
- import axios from 'axios';
2
- import { HttpsProxyAgent } from 'https-proxy-agent';
3
- import { HttpProxyAgent } from 'http-proxy-agent';
4
- export class HttpClient {
5
- axiosInstance;
6
- proxyConfig;
7
- constructor(proxyConfig) {
8
- this.proxyConfig = proxyConfig;
9
- this.axiosInstance = axios.create();
10
- this.setupProxy();
11
- }
12
- setupProxy() {
13
- if (!this.proxyConfig) {
14
- return;
15
- }
16
- // Create proxy agents
17
- const httpProxy = this.proxyConfig.http;
18
- const httpsProxy = this.proxyConfig.https || this.proxyConfig.http;
19
- // Setup request interceptor to add proxy
20
- this.axiosInstance.interceptors.request.use((config) => {
21
- if (!config.url) {
22
- return config;
23
- }
24
- const url = config.url;
25
- const isHttps = url.startsWith('https://');
26
- // Check if URL is in noProxy list
27
- if (this.proxyConfig?.noProxy && (httpProxy || httpsProxy)) {
28
- try {
29
- const targetUrl = new URL(url.startsWith('http') ? url : `https://${url}`);
30
- const hostname = targetUrl.hostname;
31
- if (this.proxyConfig.noProxy.some(noProxy => hostname === noProxy || hostname.endsWith(`.${noProxy}`))) {
32
- return config; // Skip proxy for this URL
33
- }
34
- }
35
- catch (error) {
36
- // URL parsing failed, continue with proxy
37
- }
38
- }
39
- // Set proxy agent based on protocol
40
- if (isHttps && httpsProxy) {
41
- config.httpsAgent = new HttpsProxyAgent(httpsProxy);
42
- }
43
- else if (!isHttps && httpProxy) {
44
- config.httpAgent = new HttpProxyAgent(httpProxy);
45
- }
46
- return config;
47
- });
48
- }
49
- get(url, config) {
50
- return this.axiosInstance.get(url, config);
51
- }
52
- post(url, data, config) {
53
- return this.axiosInstance.post(url, data, config);
54
- }
55
- put(url, data, config) {
56
- return this.axiosInstance.put(url, data, config);
57
- }
58
- delete(url, config) {
59
- return this.axiosInstance.delete(url, config);
60
- }
61
- }
62
- //# sourceMappingURL=http-client.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../src/utils/http-client.ts"],"names":[],"mappings":"AAAA,OAAO,KAA4C,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,eAAe,EAAE,MAAM,mBAAmB,CAAC;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,kBAAkB,CAAC;AAQlD,MAAM,OAAO,UAAU;IACb,aAAa,CAAgB;IAC7B,WAAW,CAAe;IAElC,YAAY,WAAyB;QACnC,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC;QACpC,IAAI,CAAC,UAAU,EAAE,CAAC;IACpB,CAAC;IAEO,UAAU;QAChB,IAAI,CAAC,IAAI,CAAC,WAAW,EAAE,CAAC;YACtB,OAAO;QACT,CAAC;QAED,sBAAsB;QACtB,MAAM,SAAS,GAAG,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QACxC,MAAM,UAAU,GAAG,IAAI,CAAC,WAAW,CAAC,KAAK,IAAI,IAAI,CAAC,WAAW,CAAC,IAAI,CAAC;QAEnE,yCAAyC;QACzC,IAAI,CAAC,aAAa,CAAC,YAAY,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,MAAM,EAAE,EAAE;YACrD,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;gBAChB,OAAO,MAAM,CAAC;YAChB,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC;YACvB,MAAM,OAAO,GAAG,GAAG,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;YAE3C,kCAAkC;YAClC,IAAI,IAAI,CAAC,WAAW,EAAE,OAAO,IAAI,CAAC,SAAS,IAAI,UAAU,CAAC,EAAE,CAAC;gBAC3D,IAAI,CAAC;oBACH,MAAM,SAAS,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,WAAW,GAAG,EAAE,CAAC,CAAC;oBAC3E,MAAM,QAAQ,GAAG,SAAS,CAAC,QAAQ,CAAC;oBACpC,IAAI,IAAI,CAAC,WAAW,CAAC,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,EAAE,CAC1C,QAAQ,KAAK,OAAO,IAAI,QAAQ,CAAC,QAAQ,CAAC,IAAI,OAAO,EAAE,CAAC,CACzD,EAAE,CAAC;wBACF,OAAO,MAAM,CAAC,CAAC,0BAA0B;oBAC3C,CAAC;gBACH,CAAC;gBAAC,OAAO,KAAK,EAAE,CAAC;oBACf,0CAA0C;gBAC5C,CAAC;YACH,CAAC;YAED,oCAAoC;YACpC,IAAI,OAAO,IAAI,UAAU,EAAE,CAAC;gBAC1B,MAAM,CAAC,UAAU,GAAG,IAAI,eAAe,CAAC,UAAU,CAAC,CAAC;YACtD,CAAC;iBAAM,IAAI,CAAC,OAAO,IAAI,SAAS,EAAE,CAAC;gBACjC,MAAM,CAAC,SAAS,GAAG,IAAI,cAAc,CAAC,SAAS,CAAC,CAAC;YACnD,CAAC;YAED,OAAO,MAAM,CAAC;QAChB,CAAC,CAAC,CAAC;IACL,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,MAA2B;QAC1C,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAC7C,CAAC;IAED,IAAI,CAAC,GAAW,EAAE,IAAU,EAAE,MAA2B;QACvD,OAAO,IAAI,CAAC,aAAa,CAAC,IAAI,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACpD,CAAC;IAED,GAAG,CAAC,GAAW,EAAE,IAAU,EAAE,MAA2B;QACtD,OAAO,IAAI,CAAC,aAAa,CAAC,GAAG,CAAC,GAAG,EAAE,IAAI,EAAE,MAAM,CAAC,CAAC;IACnD,CAAC;IAED,MAAM,CAAC,GAAW,EAAE,MAA2B;QAC7C,OAAO,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,GAAG,EAAE,MAAM,CAAC,CAAC;IAChD,CAAC;CACF"}
@@ -1,36 +0,0 @@
1
- export declare enum LogLevel {
2
- DEBUG = 0,
3
- INFO = 1,
4
- WARN = 2,
5
- ERROR = 3
6
- }
7
- export interface LogEntry {
8
- timestamp: Date;
9
- level: LogLevel;
10
- message: string;
11
- context?: Record<string, unknown>;
12
- error?: Error;
13
- }
14
- export declare class Logger {
15
- private logLevel;
16
- private enableColors;
17
- private requestIdCounter;
18
- constructor(logLevel?: LogLevel, enableColors?: boolean);
19
- setLogLevel(level: LogLevel): void;
20
- generateRequestId(): string;
21
- private formatMessage;
22
- private getColorForLevel;
23
- private log;
24
- debug(message: string, context?: Record<string, unknown>): void;
25
- info(message: string, context?: Record<string, unknown>): void;
26
- warn(message: string, context?: Record<string, unknown>): void;
27
- error(message: string, context?: Record<string, unknown>, error?: Error): void;
28
- toolInvoked(toolName: string, requestId: string, params?: Record<string, unknown>): void;
29
- toolCompleted(toolName: string, requestId: string, duration: number, success: boolean): void;
30
- toolError(toolName: string, requestId: string, error: Error, params?: Record<string, unknown>): void;
31
- serverStarted(): void;
32
- serverConnected(): void;
33
- private sanitizeParams;
34
- }
35
- export declare const logger: Logger;
36
- //# sourceMappingURL=logger.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"logger.d.ts","sourceRoot":"","sources":["../../src/utils/logger.ts"],"names":[],"mappings":"AAAA,oBAAY,QAAQ;IAClB,KAAK,IAAI;IACT,IAAI,IAAI;IACR,IAAI,IAAI;IACR,KAAK,IAAI;CACV;AAED,MAAM,WAAW,QAAQ;IACvB,SAAS,EAAE,IAAI,CAAC;IAChB,KAAK,EAAE,QAAQ,CAAC;IAChB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAClC,KAAK,CAAC,EAAE,KAAK,CAAC;CACf;AAED,qBAAa,MAAM;IACjB,OAAO,CAAC,QAAQ,CAAW;IAC3B,OAAO,CAAC,YAAY,CAAU;IAC9B,OAAO,CAAC,gBAAgB,CAAa;gBAEzB,QAAQ,GAAE,QAAwB,EAAE,YAAY,GAAE,OAAc;IAK5E,WAAW,CAAC,KAAK,EAAE,QAAQ,GAAG,IAAI;IAIlC,iBAAiB,IAAI,MAAM;IAK3B,OAAO,CAAC,aAAa;IAcrB,OAAO,CAAC,gBAAgB;IAUxB,OAAO,CAAC,GAAG;IAuBX,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI/D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,IAAI,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAI9D,KAAK,CAAC,OAAO,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAAE,KAAK,CAAC,EAAE,KAAK,GAAG,IAAI;IAK9E,WAAW,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQxF,aAAa,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM,EAAE,OAAO,EAAE,OAAO,GAAG,IAAI;IAS5F,SAAS,CAAC,QAAQ,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,KAAK,EAAE,MAAM,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,GAAG,IAAI;IAQpG,aAAa,IAAI,IAAI;IAOrB,eAAe,IAAI,IAAI;IAIvB,OAAO,CAAC,cAAc;CAcvB;AAGD,eAAO,MAAM,MAAM,QAMlB,CAAC"}
@@ -1,128 +0,0 @@
1
- export var LogLevel;
2
- (function (LogLevel) {
3
- LogLevel[LogLevel["DEBUG"] = 0] = "DEBUG";
4
- LogLevel[LogLevel["INFO"] = 1] = "INFO";
5
- LogLevel[LogLevel["WARN"] = 2] = "WARN";
6
- LogLevel[LogLevel["ERROR"] = 3] = "ERROR";
7
- })(LogLevel || (LogLevel = {}));
8
- export class Logger {
9
- logLevel;
10
- enableColors;
11
- requestIdCounter = 0;
12
- constructor(logLevel = LogLevel.INFO, enableColors = true) {
13
- this.logLevel = logLevel;
14
- this.enableColors = enableColors;
15
- }
16
- setLogLevel(level) {
17
- this.logLevel = level;
18
- }
19
- generateRequestId() {
20
- this.requestIdCounter++;
21
- return `req-${Date.now()}-${this.requestIdCounter}`;
22
- }
23
- formatMessage(entry) {
24
- const timestamp = entry.timestamp.toISOString();
25
- const levelStr = LogLevel[entry.level];
26
- const contextStr = entry.context ? ` ${JSON.stringify(entry.context)}` : '';
27
- const errorStr = entry.error ? `\n${entry.error.stack}` : '';
28
- if (this.enableColors) {
29
- const color = this.getColorForLevel(entry.level);
30
- return `\x1b[${color}m[${timestamp}] [${levelStr}] ${entry.message}${contextStr}${errorStr}\x1b[0m`;
31
- }
32
- return `[${timestamp}] [${levelStr}] ${entry.message}${contextStr}${errorStr}`;
33
- }
34
- getColorForLevel(level) {
35
- switch (level) {
36
- case LogLevel.DEBUG: return '36'; // Cyan
37
- case LogLevel.INFO: return '32'; // Green
38
- case LogLevel.WARN: return '33'; // Yellow
39
- case LogLevel.ERROR: return '31'; // Red
40
- default: return '0';
41
- }
42
- }
43
- log(level, message, context, error) {
44
- if (level < this.logLevel) {
45
- return;
46
- }
47
- const entry = {
48
- timestamp: new Date(),
49
- level,
50
- message,
51
- context,
52
- error,
53
- };
54
- const formatted = this.formatMessage(entry);
55
- // Use stderr for all logs (MCP protocol uses stdout for communication)
56
- if (level === LogLevel.ERROR) {
57
- console.error(formatted);
58
- }
59
- else {
60
- console.error(formatted);
61
- }
62
- }
63
- debug(message, context) {
64
- this.log(LogLevel.DEBUG, message, context);
65
- }
66
- info(message, context) {
67
- this.log(LogLevel.INFO, message, context);
68
- }
69
- warn(message, context) {
70
- this.log(LogLevel.WARN, message, context);
71
- }
72
- error(message, context, error) {
73
- this.log(LogLevel.ERROR, message, context, error);
74
- }
75
- // Specialized logging methods
76
- toolInvoked(toolName, requestId, params) {
77
- this.info(`Tool invoked: ${toolName}`, {
78
- requestId,
79
- tool: toolName,
80
- params: this.sanitizeParams(params),
81
- });
82
- }
83
- toolCompleted(toolName, requestId, duration, success) {
84
- this.info(`Tool completed: ${toolName}`, {
85
- requestId,
86
- tool: toolName,
87
- duration: `${duration}ms`,
88
- success,
89
- });
90
- }
91
- toolError(toolName, requestId, error, params) {
92
- this.error(`Tool error: ${toolName}`, {
93
- requestId,
94
- tool: toolName,
95
- params: this.sanitizeParams(params),
96
- }, error);
97
- }
98
- serverStarted() {
99
- this.info('Safe Coder MCP server started', {
100
- version: '1.0.0',
101
- pid: process.pid,
102
- });
103
- }
104
- serverConnected() {
105
- this.info('MCP server connected to transport');
106
- }
107
- sanitizeParams(params) {
108
- if (!params)
109
- return undefined;
110
- const sanitized = {};
111
- for (const [key, value] of Object.entries(params)) {
112
- // Truncate long strings (e.g., code snippets)
113
- if (typeof value === 'string' && value.length > 200) {
114
- sanitized[key] = `${value.substring(0, 200)}... (truncated)`;
115
- }
116
- else {
117
- sanitized[key] = value;
118
- }
119
- }
120
- return sanitized;
121
- }
122
- }
123
- // Singleton instance
124
- export const logger = new Logger(process.env.LOG_LEVEL === 'DEBUG' ? LogLevel.DEBUG :
125
- process.env.LOG_LEVEL === 'WARN' ? LogLevel.WARN :
126
- process.env.LOG_LEVEL === 'ERROR' ? LogLevel.ERROR :
127
- LogLevel.INFO, process.env.LOG_COLORS !== 'false');
128
- //# 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,9 +0,0 @@
1
- export declare class RateLimiter {
2
- private requests;
3
- private readonly maxRequests;
4
- private readonly windowMs;
5
- constructor(maxRequests: number, windowMs: number);
6
- check(key: string): boolean;
7
- reset(key: string): void;
8
- }
9
- //# sourceMappingURL=rate-limiter.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limiter.d.ts","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA,qBAAa,WAAW;IACtB,OAAO,CAAC,QAAQ,CAAoC;IACpD,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAS;IACrC,OAAO,CAAC,QAAQ,CAAC,QAAQ,CAAS;gBAEtB,WAAW,EAAE,MAAM,EAAE,QAAQ,EAAE,MAAM;IAKjD,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,OAAO;IAkB3B,KAAK,CAAC,GAAG,EAAE,MAAM,GAAG,IAAI;CAGzB"}
@@ -1,26 +0,0 @@
1
- export class RateLimiter {
2
- requests = new Map();
3
- maxRequests;
4
- windowMs;
5
- constructor(maxRequests, windowMs) {
6
- this.maxRequests = maxRequests;
7
- this.windowMs = windowMs;
8
- }
9
- check(key) {
10
- const now = Date.now();
11
- const requests = this.requests.get(key) || [];
12
- // Remove old requests outside the window
13
- const recentRequests = requests.filter(timestamp => now - timestamp < this.windowMs);
14
- if (recentRequests.length >= this.maxRequests) {
15
- return false; // Rate limit exceeded
16
- }
17
- // Add current request
18
- recentRequests.push(now);
19
- this.requests.set(key, recentRequests);
20
- return true; // Within rate limit
21
- }
22
- reset(key) {
23
- this.requests.delete(key);
24
- }
25
- }
26
- //# sourceMappingURL=rate-limiter.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"rate-limiter.js","sourceRoot":"","sources":["../../src/utils/rate-limiter.ts"],"names":[],"mappings":"AAAA,MAAM,OAAO,WAAW;IACd,QAAQ,GAA0B,IAAI,GAAG,EAAE,CAAC;IACnC,WAAW,CAAS;IACpB,QAAQ,CAAS;IAElC,YAAY,WAAmB,EAAE,QAAgB;QAC/C,IAAI,CAAC,WAAW,GAAG,WAAW,CAAC;QAC/B,IAAI,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,GAAW;QACf,MAAM,GAAG,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,EAAE,CAAC;QAE9C,yCAAyC;QACzC,MAAM,cAAc,GAAG,QAAQ,CAAC,MAAM,CAAC,SAAS,CAAC,EAAE,CAAC,GAAG,GAAG,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;QAErF,IAAI,cAAc,CAAC,MAAM,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;YAC9C,OAAO,KAAK,CAAC,CAAC,sBAAsB;QACtC,CAAC;QAED,sBAAsB;QACtB,cAAc,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;QACzB,IAAI,CAAC,QAAQ,CAAC,GAAG,CAAC,GAAG,EAAE,cAAc,CAAC,CAAC;QAEvC,OAAO,IAAI,CAAC,CAAC,oBAAoB;IACnC,CAAC;IAED,KAAK,CAAC,GAAW;QACf,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC,GAAG,CAAC,CAAC;IAC5B,CAAC;CACF"}
@@ -1,15 +0,0 @@
1
- import type { DetectedError } from '../errors/pattern-matcher.js';
2
- export interface FixResult {
3
- fixed: boolean;
4
- code: string;
5
- fixes: Array<{
6
- error: string;
7
- fix: string;
8
- }>;
9
- }
10
- export declare class AutoFix {
11
- fixCode(code: string, errors: DetectedError[]): FixResult;
12
- private canAutoFix;
13
- private applyFix;
14
- }
15
- //# sourceMappingURL=auto-fix.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-fix.d.ts","sourceRoot":"","sources":["../../src/validation/auto-fix.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAElE,MAAM,WAAW,SAAS;IACxB,KAAK,EAAE,OAAO,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,KAAK,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC9C;AAED,qBAAa,OAAO;IAClB,OAAO,CAAC,IAAI,EAAE,MAAM,EAAE,MAAM,EAAE,aAAa,EAAE,GAAG,SAAS;IA2BzD,OAAO,CAAC,UAAU;IAKlB,OAAO,CAAC,QAAQ;CAwBjB"}
@@ -1,49 +0,0 @@
1
- export class AutoFix {
2
- fixCode(code, errors) {
3
- let fixedCode = code;
4
- const appliedFixes = [];
5
- // Sort errors by line number (top to bottom)
6
- const sortedErrors = [...errors].sort((a, b) => (a.line || 0) - (b.line || 0));
7
- for (const error of sortedErrors) {
8
- if (this.canAutoFix(error)) {
9
- const fixResult = this.applyFix(fixedCode, error);
10
- if (fixResult.fixed) {
11
- fixedCode = fixResult.code;
12
- appliedFixes.push({
13
- error: error.message,
14
- fix: fixResult.description || 'Applied fix',
15
- });
16
- }
17
- }
18
- }
19
- return {
20
- fixed: appliedFixes.length > 0,
21
- code: fixedCode,
22
- fixes: appliedFixes,
23
- };
24
- }
25
- canAutoFix(error) {
26
- // Only auto-fix syntax errors and simple issues
27
- return error.priority <= 2 && error.type !== 'contextual';
28
- }
29
- applyFix(code, error) {
30
- const lines = code.split('\n');
31
- const lineIndex = (error.line || 1) - 1;
32
- if (lineIndex < 0 || lineIndex >= lines.length) {
33
- return { fixed: false, code };
34
- }
35
- let line = lines[lineIndex];
36
- // Fix missing semicolon
37
- if (error.message.includes('semicolon') && !line.trim().endsWith(';') && !line.trim().endsWith('{') && !line.trim().endsWith('}')) {
38
- lines[lineIndex] = line + ';';
39
- return { fixed: true, code: lines.join('\n'), description: 'Added missing semicolon' };
40
- }
41
- // Fix missing import (simple case)
42
- if (error.type === 'missing-import' && error.fix) {
43
- // This would need more context, skip for now
44
- return { fixed: false, code };
45
- }
46
- return { fixed: false, code };
47
- }
48
- }
49
- //# sourceMappingURL=auto-fix.js.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"auto-fix.js","sourceRoot":"","sources":["../../src/validation/auto-fix.ts"],"names":[],"mappings":"AAQA,MAAM,OAAO,OAAO;IAClB,OAAO,CAAC,IAAY,EAAE,MAAuB;QAC3C,IAAI,SAAS,GAAG,IAAI,CAAC;QACrB,MAAM,YAAY,GAA0C,EAAE,CAAC;QAE/D,6CAA6C;QAC7C,MAAM,YAAY,GAAG,CAAC,GAAG,MAAM,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC,CAAC;QAE/E,KAAK,MAAM,KAAK,IAAI,YAAY,EAAE,CAAC;YACjC,IAAI,IAAI,CAAC,UAAU,CAAC,KAAK,CAAC,EAAE,CAAC;gBAC3B,MAAM,SAAS,GAAG,IAAI,CAAC,QAAQ,CAAC,SAAS,EAAE,KAAK,CAAC,CAAC;gBAClD,IAAI,SAAS,CAAC,KAAK,EAAE,CAAC;oBACpB,SAAS,GAAG,SAAS,CAAC,IAAI,CAAC;oBAC3B,YAAY,CAAC,IAAI,CAAC;wBAChB,KAAK,EAAE,KAAK,CAAC,OAAO;wBACpB,GAAG,EAAE,SAAS,CAAC,WAAW,IAAI,aAAa;qBAC5C,CAAC,CAAC;gBACL,CAAC;YACH,CAAC;QACH,CAAC;QAED,OAAO;YACL,KAAK,EAAE,YAAY,CAAC,MAAM,GAAG,CAAC;YAC9B,IAAI,EAAE,SAAS;YACf,KAAK,EAAE,YAAY;SACpB,CAAC;IACJ,CAAC;IAEO,UAAU,CAAC,KAAoB;QACrC,gDAAgD;QAChD,OAAO,KAAK,CAAC,QAAQ,IAAI,CAAC,IAAI,KAAK,CAAC,IAAI,KAAK,YAAY,CAAC;IAC5D,CAAC;IAEO,QAAQ,CAAC,IAAY,EAAE,KAAoB;QACjD,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC;QAC/B,MAAM,SAAS,GAAG,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QAExC,IAAI,SAAS,GAAG,CAAC,IAAI,SAAS,IAAI,KAAK,CAAC,MAAM,EAAE,CAAC;YAC/C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,IAAI,IAAI,GAAG,KAAK,CAAC,SAAS,CAAC,CAAC;QAE5B,wBAAwB;QACxB,IAAI,KAAK,CAAC,OAAO,CAAC,QAAQ,CAAC,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,EAAE,CAAC,QAAQ,CAAC,GAAG,CAAC,EAAE,CAAC;YAClI,KAAK,CAAC,SAAS,CAAC,GAAG,IAAI,GAAG,GAAG,CAAC;YAC9B,OAAO,EAAE,KAAK,EAAE,IAAI,EAAE,IAAI,EAAE,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,WAAW,EAAE,yBAAyB,EAAE,CAAC;QACzF,CAAC;QAED,mCAAmC;QACnC,IAAI,KAAK,CAAC,IAAI,KAAK,gBAAgB,IAAI,KAAK,CAAC,GAAG,EAAE,CAAC;YACjD,6CAA6C;YAC7C,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;QAChC,CAAC;QAED,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;IAChC,CAAC;CACF"}
@@ -1,21 +0,0 @@
1
- import type { DetectedError } from '../errors/pattern-matcher.js';
2
- import type { ErrorResolution } from './resolution-db.js';
3
- export interface ValidationResult {
4
- valid: boolean;
5
- errors: DetectedError[];
6
- warnings: DetectedError[];
7
- fixedCode?: string;
8
- fixes?: Array<{
9
- error: string;
10
- fix: string;
11
- }>;
12
- }
13
- export declare class CodeValidationService {
14
- private errorDetection;
15
- private autoFix;
16
- private resolutionDb;
17
- constructor();
18
- validateCode(code: string, filename?: string, autoFixEnabled?: boolean): Promise<ValidationResult>;
19
- resolveError(error: DetectedError): ErrorResolution;
20
- }
21
- //# sourceMappingURL=index.d.ts.map
@@ -1 +0,0 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/validation/index.ts"],"names":[],"mappings":"AAGA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAC;AAClE,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,oBAAoB,CAAC;AAE1D,MAAM,WAAW,gBAAgB;IAC/B,KAAK,EAAE,OAAO,CAAC;IACf,MAAM,EAAE,aAAa,EAAE,CAAC;IACxB,QAAQ,EAAE,aAAa,EAAE,CAAC;IAC1B,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,KAAK,CAAC;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;CAC/C;AAED,qBAAa,qBAAqB;IAChC,OAAO,CAAC,cAAc,CAAwB;IAC9C,OAAO,CAAC,OAAO,CAAU;IACzB,OAAO,CAAC,YAAY,CAAqB;;IAQnC,YAAY,CAAC,IAAI,EAAE,MAAM,EAAE,QAAQ,GAAE,MAAkB,EAAE,cAAc,GAAE,OAAc,GAAG,OAAO,CAAC,gBAAgB,CAAC;IA6BzH,YAAY,CAAC,KAAK,EAAE,aAAa,GAAG,eAAe;CAOpD"}
@@ -1,45 +0,0 @@
1
- import { ErrorDetectionService } from '../errors/index.js';
2
- import { AutoFix } from './auto-fix.js';
3
- import { ResolutionDatabase } from './resolution-db.js';
4
- export class CodeValidationService {
5
- errorDetection;
6
- autoFix;
7
- resolutionDb;
8
- constructor() {
9
- this.errorDetection = new ErrorDetectionService();
10
- this.autoFix = new AutoFix();
11
- this.resolutionDb = new ResolutionDatabase();
12
- }
13
- async validateCode(code, filename = 'code.ts', autoFixEnabled = true) {
14
- // Run validation pipeline: syntax → types → patterns → context
15
- const allIssues = await this.errorDetection.detectErrors(code, filename);
16
- // Separate errors and warnings
17
- const errors = allIssues.filter(e => e.priority <= 3);
18
- const warnings = allIssues.filter(e => e.priority > 3);
19
- // Try auto-fix if enabled
20
- let fixedCode;
21
- let fixes;
22
- if (autoFixEnabled && errors.length > 0) {
23
- const fixResult = this.autoFix.fixCode(code, errors);
24
- if (fixResult.fixed) {
25
- fixedCode = fixResult.code;
26
- fixes = fixResult.fixes;
27
- }
28
- }
29
- return {
30
- valid: errors.length === 0,
31
- errors,
32
- warnings,
33
- fixedCode,
34
- fixes,
35
- };
36
- }
37
- resolveError(error) {
38
- return this.resolutionDb.getResolution(error) || {
39
- errorType: error.type,
40
- description: error.message,
41
- solution: error.fix || 'Review the error and fix manually',
42
- };
43
- }
44
- }
45
- //# sourceMappingURL=index.js.map