mta-mcp 1.9.1 → 2.2.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (121) hide show
  1. package/README.md +140 -2
  2. package/build/core/analyzers/eslint.d.ts +51 -0
  3. package/build/core/analyzers/eslint.d.ts.map +1 -0
  4. package/build/core/analyzers/eslint.js +259 -0
  5. package/build/core/analyzers/eslint.js.map +1 -0
  6. package/build/core/analyzers/index.d.ts +9 -0
  7. package/build/core/analyzers/index.d.ts.map +1 -0
  8. package/build/core/analyzers/index.js +9 -0
  9. package/build/core/analyzers/index.js.map +1 -0
  10. package/build/core/analyzers/registry.d.ts +59 -0
  11. package/build/core/analyzers/registry.d.ts.map +1 -0
  12. package/build/core/analyzers/registry.js +241 -0
  13. package/build/core/analyzers/registry.js.map +1 -0
  14. package/build/core/analyzers/tsconfig.d.ts +45 -0
  15. package/build/core/analyzers/tsconfig.d.ts.map +1 -0
  16. package/build/core/analyzers/tsconfig.js +197 -0
  17. package/build/core/analyzers/tsconfig.js.map +1 -0
  18. package/build/core/analyzers/types.d.ts +176 -0
  19. package/build/core/analyzers/types.d.ts.map +1 -0
  20. package/build/core/analyzers/types.js +39 -0
  21. package/build/core/analyzers/types.js.map +1 -0
  22. package/build/core/analyzers/vite.d.ts +46 -0
  23. package/build/core/analyzers/vite.d.ts.map +1 -0
  24. package/build/core/analyzers/vite.js +211 -0
  25. package/build/core/analyzers/vite.js.map +1 -0
  26. package/build/core/enhancedProjectAnalyzer.d.ts +102 -0
  27. package/build/core/enhancedProjectAnalyzer.d.ts.map +1 -0
  28. package/build/core/enhancedProjectAnalyzer.js +312 -0
  29. package/build/core/enhancedProjectAnalyzer.js.map +1 -0
  30. package/build/core/errors.d.ts +84 -0
  31. package/build/core/errors.d.ts.map +1 -0
  32. package/build/core/errors.js +151 -0
  33. package/build/core/errors.js.map +1 -0
  34. package/build/core/index.d.ts +11 -0
  35. package/build/core/index.d.ts.map +1 -0
  36. package/build/core/index.js +14 -0
  37. package/build/core/index.js.map +1 -0
  38. package/build/core/logger.d.ts +91 -0
  39. package/build/core/logger.d.ts.map +1 -0
  40. package/build/core/logger.js +164 -0
  41. package/build/core/logger.js.map +1 -0
  42. package/build/core/mappings/index.d.ts +5 -0
  43. package/build/core/mappings/index.d.ts.map +1 -0
  44. package/build/core/mappings/index.js +5 -0
  45. package/build/core/mappings/index.js.map +1 -0
  46. package/build/core/mappings/scenarioMappings.d.ts +51 -0
  47. package/build/core/mappings/scenarioMappings.d.ts.map +1 -0
  48. package/build/core/mappings/scenarioMappings.js +105 -0
  49. package/build/core/mappings/scenarioMappings.js.map +1 -0
  50. package/build/core/matching/index.d.ts +8 -0
  51. package/build/core/matching/index.d.ts.map +1 -0
  52. package/build/core/matching/index.js +8 -0
  53. package/build/core/matching/index.js.map +1 -0
  54. package/build/core/matching/intentAnalyzer.d.ts +78 -0
  55. package/build/core/matching/intentAnalyzer.d.ts.map +1 -0
  56. package/build/core/matching/intentAnalyzer.js +255 -0
  57. package/build/core/matching/intentAnalyzer.js.map +1 -0
  58. package/build/core/matching/standardMatcher.d.ts +101 -0
  59. package/build/core/matching/standardMatcher.d.ts.map +1 -0
  60. package/build/core/matching/standardMatcher.js +299 -0
  61. package/build/core/matching/standardMatcher.js.map +1 -0
  62. package/build/core/matching/weights.d.ts +64 -0
  63. package/build/core/matching/weights.d.ts.map +1 -0
  64. package/build/core/matching/weights.js +334 -0
  65. package/build/core/matching/weights.js.map +1 -0
  66. package/build/core/scenarioDetector.d.ts +2 -0
  67. package/build/core/scenarioDetector.d.ts.map +1 -0
  68. package/build/core/scenarioDetector.js +2 -0
  69. package/build/core/scenarioDetector.js.map +1 -0
  70. package/build/core/templates/discovery.d.ts +41 -0
  71. package/build/core/templates/discovery.d.ts.map +1 -0
  72. package/build/core/templates/discovery.js +262 -0
  73. package/build/core/templates/discovery.js.map +1 -0
  74. package/build/core/templates/types.d.ts +80 -0
  75. package/build/core/templates/types.d.ts.map +1 -0
  76. package/build/core/templates/types.js +10 -0
  77. package/build/core/templates/types.js.map +1 -0
  78. package/build/core/types.d.ts +2 -0
  79. package/build/core/types.d.ts.map +1 -1
  80. package/build/core/types.js +4 -3
  81. package/build/core/types.js.map +1 -1
  82. package/build/index.js +136 -23
  83. package/build/index.js.map +1 -1
  84. package/build/tools/getSmartStandards.d.ts +0 -2
  85. package/build/tools/getSmartStandards.d.ts.map +1 -1
  86. package/build/tools/getSmartStandards.js +39 -28
  87. package/build/tools/getSmartStandards.js.map +1 -1
  88. package/build/tools/getStandardById.d.ts +42 -0
  89. package/build/tools/getStandardById.d.ts.map +1 -0
  90. package/build/tools/getStandardById.js +289 -0
  91. package/build/tools/getStandardById.js.map +1 -0
  92. package/build/tools/getTemplate.d.ts +37 -0
  93. package/build/tools/getTemplate.d.ts.map +1 -0
  94. package/build/tools/getTemplate.js +78 -0
  95. package/build/tools/getTemplate.js.map +1 -0
  96. package/build/tools/listTemplates.d.ts +41 -0
  97. package/build/tools/listTemplates.d.ts.map +1 -0
  98. package/build/tools/listTemplates.js +81 -0
  99. package/build/tools/listTemplates.js.map +1 -0
  100. package/build/tools/queryMappings.d.ts +55 -0
  101. package/build/tools/queryMappings.d.ts.map +1 -0
  102. package/build/tools/queryMappings.js +119 -0
  103. package/build/tools/queryMappings.js.map +1 -0
  104. package/package.json +25 -8
  105. package/src/core/autoInitializer.ts +0 -170
  106. package/src/core/codeValidator.ts +0 -357
  107. package/src/core/githubClient.ts +0 -64
  108. package/src/core/i18nDetector.ts +0 -357
  109. package/src/core/smartAgentMatcher.ts +0 -490
  110. package/src/core/standardsManager.ts +0 -769
  111. package/src/core/types.ts +0 -72
  112. package/src/index.ts +0 -519
  113. package/src/tools/analyzeProject.ts +0 -94
  114. package/src/tools/autoSetup.ts +0 -312
  115. package/src/tools/generateConfig.ts +0 -429
  116. package/src/tools/getCompactStandards.ts +0 -413
  117. package/src/tools/getSmartStandards.ts +0 -214
  118. package/src/tools/healthCheck.ts +0 -261
  119. package/src/tools/listAgents.ts +0 -91
  120. package/src/tools/matchAgents.ts +0 -80
  121. package/src/tools/usePreset.ts +0 -180
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../../../src/core/analyzers/types.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,39 @@
1
+ /**
2
+ * 分析器类型定义
3
+ *
4
+ * 设计原则:
5
+ * 1. 扩展而非替换现有 ProjectFeatures 接口
6
+ * 2. 所有新增字段都是可选的
7
+ * 3. 提供转换函数保持向后兼容
8
+ */
9
+ /**
10
+ * 转换为基础类型(兼容现有代码)
11
+ */
12
+ export function toBasicFeatures(extended) {
13
+ return {
14
+ frameworks: extended.frameworks,
15
+ languages: extended.languages,
16
+ tools: extended.tools,
17
+ keywords: extended.keywords,
18
+ projectType: extended.projectType
19
+ };
20
+ }
21
+ /**
22
+ * 默认权重(与现有保持一致)
23
+ */
24
+ export const DEFAULT_WEIGHTS = {
25
+ framework: 10,
26
+ tool: 8,
27
+ language: 5,
28
+ keyword: 3,
29
+ tag: 2
30
+ };
31
+ /**
32
+ * 默认缓存配置
33
+ */
34
+ export const DEFAULT_CACHE_CONFIG = {
35
+ maxSize: 50,
36
+ ttlMs: 30 * 60 * 1000, // 30分钟
37
+ enableHashValidation: true
38
+ };
39
+ //# sourceMappingURL=types.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"types.js","sourceRoot":"","sources":["../../../src/core/analyzers/types.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AA0FH;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,QAAiC;IAC7D,OAAO;QACH,UAAU,EAAE,QAAQ,CAAC,UAAU;QAC/B,SAAS,EAAE,QAAQ,CAAC,SAAS;QAC7B,KAAK,EAAE,QAAQ,CAAC,KAAK;QACrB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;QAC3B,WAAW,EAAE,QAAQ,CAAC,WAAW;KACpC,CAAC;AACN,CAAC;AAwED;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAiB;IACzC,SAAS,EAAE,EAAE;IACb,IAAI,EAAE,CAAC;IACP,QAAQ,EAAE,CAAC;IACX,OAAO,EAAE,CAAC;IACV,GAAG,EAAE,CAAC;CACT,CAAC;AA+DF;;GAEG;AACH,MAAM,CAAC,MAAM,oBAAoB,GAAgB;IAC7C,OAAO,EAAE,EAAE;IACX,KAAK,EAAE,EAAE,GAAG,EAAE,GAAG,IAAI,EAAG,OAAO;IAC/B,oBAAoB,EAAE,IAAI;CAC7B,CAAC"}
@@ -0,0 +1,46 @@
1
+ /**
2
+ * Vite 配置文件分析器
3
+ *
4
+ * 解析 vite.config.ts/js 文件,提取:
5
+ * - 使用的插件(vue, react 等)
6
+ * - 路径别名配置
7
+ * - 构建配置
8
+ */
9
+ import { ConfigAnalyzer, AnalyzerResult } from './types.js';
10
+ /**
11
+ * Vite 配置分析器
12
+ */
13
+ export declare class ViteConfigAnalyzer implements ConfigAnalyzer {
14
+ readonly name = "ViteConfigAnalyzer";
15
+ readonly supportedFiles: string[];
16
+ private readonly PLUGIN_MAPPINGS;
17
+ /**
18
+ * 检查是否支持指定文件
19
+ */
20
+ supports(fileName: string): boolean;
21
+ /**
22
+ * 分析 Vite 配置文件
23
+ */
24
+ analyze(filePath: string, content?: string): Promise<AnalyzerResult>;
25
+ /**
26
+ * 分析插件导入语句
27
+ */
28
+ private analyzePluginImports;
29
+ /**
30
+ * 分析插件配置部分
31
+ */
32
+ private analyzePluginConfig;
33
+ /**
34
+ * 分析路径别名配置
35
+ */
36
+ private analyzeAliasConfig;
37
+ /**
38
+ * 分析开发服务器配置
39
+ */
40
+ private analyzeServerConfig;
41
+ /**
42
+ * 分析构建配置
43
+ */
44
+ private analyzeBuildConfig;
45
+ }
46
+ //# sourceMappingURL=vite.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.d.ts","sourceRoot":"","sources":["../../../src/core/analyzers/vite.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAIH,OAAO,EAAE,cAAc,EAAE,cAAc,EAAqC,MAAM,YAAY,CAAC;AAE/F;;GAEG;AACH,qBAAa,kBAAmB,YAAW,cAAc;IACrD,QAAQ,CAAC,IAAI,wBAAwB;IACrC,QAAQ,CAAC,cAAc,WAKrB;IAGF,OAAO,CAAC,QAAQ,CAAC,eAAe,CAoB9B;IAEF;;OAEG;IACH,QAAQ,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO;IAInC;;OAEG;IACG,OAAO,CAAC,QAAQ,EAAE,MAAM,EAAE,OAAO,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAmD1E;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkD5B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA0B3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAmB1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,kBAAkB;CAmB7B"}
@@ -0,0 +1,211 @@
1
+ /**
2
+ * Vite 配置文件分析器
3
+ *
4
+ * 解析 vite.config.ts/js 文件,提取:
5
+ * - 使用的插件(vue, react 等)
6
+ * - 路径别名配置
7
+ * - 构建配置
8
+ */
9
+ import * as fs from 'fs';
10
+ /**
11
+ * Vite 配置分析器
12
+ */
13
+ export class ViteConfigAnalyzer {
14
+ name = 'ViteConfigAnalyzer';
15
+ supportedFiles = [
16
+ 'vite.config.ts',
17
+ 'vite.config.js',
18
+ 'vite.config.mts',
19
+ 'vite.config.mjs'
20
+ ];
21
+ // 插件名称到框架/工具的映射
22
+ PLUGIN_MAPPINGS = {
23
+ '@vitejs/plugin-vue': { type: 'framework', name: 'Vue 3' },
24
+ '@vitejs/plugin-vue-jsx': { type: 'tool', name: 'Vue JSX' },
25
+ '@vitejs/plugin-react': { type: 'framework', name: 'React' },
26
+ '@vitejs/plugin-react-swc': { type: 'framework', name: 'React' },
27
+ '@vitejs/plugin-legacy': { type: 'tool', name: 'Legacy Browser Support' },
28
+ 'vite-plugin-vue2': { type: 'framework', name: 'Vue 2' },
29
+ 'unplugin-vue-components': { type: 'tool', name: 'Auto Components' },
30
+ 'unplugin-auto-import': { type: 'tool', name: 'Auto Import' },
31
+ 'vite-plugin-pages': { type: 'tool', name: 'File-based Routing' },
32
+ 'vite-plugin-vue-layouts': { type: 'tool', name: 'Vue Layouts' },
33
+ 'vite-plugin-pwa': { type: 'tool', name: 'PWA' },
34
+ 'vite-plugin-compression': { type: 'tool', name: 'Compression' },
35
+ 'vite-plugin-svg-icons': { type: 'tool', name: 'SVG Icons' },
36
+ 'unocss': { type: 'tool', name: 'UnoCSS' },
37
+ '@unocss/vite': { type: 'tool', name: 'UnoCSS' },
38
+ 'vite-plugin-windicss': { type: 'tool', name: 'WindiCSS' },
39
+ 'vite-plugin-mock': { type: 'tool', name: 'Mock Server' },
40
+ 'vite-plugin-html': { type: 'tool', name: 'HTML Transform' },
41
+ 'rollup-plugin-visualizer': { type: 'tool', name: 'Bundle Analyzer' },
42
+ };
43
+ /**
44
+ * 检查是否支持指定文件
45
+ */
46
+ supports(fileName) {
47
+ return this.supportedFiles.includes(fileName);
48
+ }
49
+ /**
50
+ * 分析 Vite 配置文件
51
+ */
52
+ async analyze(filePath, content) {
53
+ const startTime = Date.now();
54
+ try {
55
+ // 读取文件内容
56
+ const fileContent = content ?? fs.readFileSync(filePath, 'utf-8');
57
+ const features = {
58
+ frameworks: [],
59
+ tools: ['Vite'],
60
+ toolsDetail: [{
61
+ name: 'Vite',
62
+ category: 'build',
63
+ config: {}
64
+ }],
65
+ keywords: []
66
+ };
67
+ // 分析导入的插件
68
+ this.analyzePluginImports(fileContent, features);
69
+ // 分析插件配置
70
+ this.analyzePluginConfig(fileContent, features);
71
+ // 分析 resolve.alias
72
+ this.analyzeAliasConfig(fileContent, features);
73
+ // 分析 server 配置
74
+ this.analyzeServerConfig(fileContent, features);
75
+ // 分析 build 配置
76
+ this.analyzeBuildConfig(fileContent, features);
77
+ return {
78
+ features,
79
+ confidence: 0.9,
80
+ analyzerName: this.name,
81
+ duration: Date.now() - startTime
82
+ };
83
+ }
84
+ catch (error) {
85
+ const message = error instanceof Error ? error.message : String(error);
86
+ return {
87
+ features: {},
88
+ confidence: 0,
89
+ analyzerName: this.name,
90
+ duration: Date.now() - startTime,
91
+ error: `分析 Vite 配置失败: ${message}`
92
+ };
93
+ }
94
+ }
95
+ /**
96
+ * 分析插件导入语句
97
+ */
98
+ analyzePluginImports(content, features) {
99
+ // 匹配 import 语句
100
+ const importRegex = /import\s+.*?\s+from\s+['"]([^'"]+)['"]/g;
101
+ let match;
102
+ while ((match = importRegex.exec(content)) !== null) {
103
+ const packageName = match[1];
104
+ const mapping = this.PLUGIN_MAPPINGS[packageName];
105
+ if (mapping) {
106
+ if (mapping.type === 'framework') {
107
+ if (!features.frameworks.includes(mapping.name)) {
108
+ features.frameworks.push(mapping.name);
109
+ }
110
+ }
111
+ else {
112
+ if (!features.tools.includes(mapping.name)) {
113
+ features.tools.push(mapping.name);
114
+ }
115
+ }
116
+ }
117
+ }
118
+ // 检测 ElementPlus 自动导入
119
+ if (content.includes('ElementPlusResolver') ||
120
+ content.includes('element-plus')) {
121
+ if (!features.tools.includes('Element Plus')) {
122
+ features.tools.push('Element Plus');
123
+ }
124
+ }
125
+ // 检测 Ant Design Vue
126
+ if (content.includes('AntDesignVueResolver') ||
127
+ content.includes('ant-design-vue')) {
128
+ if (!features.tools.includes('Ant Design Vue')) {
129
+ features.tools.push('Ant Design Vue');
130
+ }
131
+ }
132
+ // 检测 Naive UI
133
+ if (content.includes('NaiveUiResolver') ||
134
+ content.includes('naive-ui')) {
135
+ if (!features.tools.includes('Naive UI')) {
136
+ features.tools.push('Naive UI');
137
+ }
138
+ }
139
+ }
140
+ /**
141
+ * 分析插件配置部分
142
+ */
143
+ analyzePluginConfig(content, features) {
144
+ // 检测 Vue I18n
145
+ if (content.includes('VueI18nPlugin') ||
146
+ content.includes('@intlify/unplugin-vue-i18n')) {
147
+ features.keywords.push('i18n');
148
+ if (!features.tools.includes('Vue I18n')) {
149
+ features.tools.push('Vue I18n');
150
+ }
151
+ }
152
+ // 检测 Mock
153
+ if (content.includes('viteMockServe') ||
154
+ content.includes('vite-plugin-mock')) {
155
+ features.keywords.push('mock');
156
+ }
157
+ // 检测 PWA
158
+ if (content.includes('VitePWA') ||
159
+ content.includes('vite-plugin-pwa')) {
160
+ features.keywords.push('pwa');
161
+ }
162
+ }
163
+ /**
164
+ * 分析路径别名配置
165
+ */
166
+ analyzeAliasConfig(content, features) {
167
+ // 检测 @ 别名配置
168
+ if (content.includes("'@'") || content.includes('"@"')) {
169
+ features.keywords.push('path-alias');
170
+ }
171
+ // 检测 src 目录结构
172
+ const srcDirs = ['@/components', '@/views', '@/store', '@/api', '@/utils'];
173
+ for (const dir of srcDirs) {
174
+ if (content.includes(dir)) {
175
+ features.keywords.push('standard-structure');
176
+ break;
177
+ }
178
+ }
179
+ }
180
+ /**
181
+ * 分析开发服务器配置
182
+ */
183
+ analyzeServerConfig(content, features) {
184
+ // 检测代理配置
185
+ if (content.includes('proxy:') || content.includes('proxy :')) {
186
+ features.keywords.push('api-proxy');
187
+ }
188
+ // 检测 HTTPS
189
+ if (content.includes('https:') && content.includes('true')) {
190
+ features.keywords.push('https');
191
+ }
192
+ }
193
+ /**
194
+ * 分析构建配置
195
+ */
196
+ analyzeBuildConfig(content, features) {
197
+ // 检测代码分割
198
+ if (content.includes('manualChunks')) {
199
+ features.keywords.push('code-splitting');
200
+ }
201
+ // 检测 Rollup 选项
202
+ if (content.includes('rollupOptions')) {
203
+ features.keywords.push('rollup-config');
204
+ }
205
+ // 检测源码映射
206
+ if (content.includes('sourcemap')) {
207
+ features.keywords.push('sourcemap');
208
+ }
209
+ }
210
+ }
211
+ //# sourceMappingURL=vite.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"vite.js","sourceRoot":"","sources":["../../../src/core/analyzers/vite.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * 增强版项目分析器(简化版)
3
+ *
4
+ * 设计理念:只提供项目信息给 AI,不做决策
5
+ * 整合模块化分析器,提供更精准的项目检测能力
6
+ *
7
+ * @module core/enhancedProjectAnalyzer
8
+ */
9
+ import { ProjectFeatures, Logger } from './types.js';
10
+ import { ProjectFeaturesExtended } from './analyzers/types.js';
11
+ /**
12
+ * 工作区文件夹接口
13
+ */
14
+ export interface WorkspaceFolder {
15
+ uri: {
16
+ fsPath: string;
17
+ };
18
+ name: string;
19
+ }
20
+ /**
21
+ * 分析选项
22
+ */
23
+ export interface AnalyzeOptions {
24
+ /** 是否使用缓存 */
25
+ useCache?: boolean;
26
+ }
27
+ /**
28
+ * 增强分析结果
29
+ *
30
+ * 只提供项目信息,不做权重计算或规范推荐
31
+ */
32
+ export interface EnhancedAnalysisResult {
33
+ /** 项目特征(扩展版) */
34
+ features: ProjectFeaturesExtended;
35
+ /** 基础特征(兼容版) */
36
+ basicFeatures: ProjectFeatures;
37
+ /** 是否来自缓存 */
38
+ fromCache: boolean;
39
+ }
40
+ /**
41
+ * 增强版项目分析器
42
+ */
43
+ export declare class EnhancedProjectAnalyzer {
44
+ private logger?;
45
+ private registry;
46
+ private cache;
47
+ private cacheMaxAge;
48
+ constructor(logger?: Logger | undefined);
49
+ /**
50
+ * 分析项目
51
+ */
52
+ analyze(workspaceFolder: WorkspaceFolder, options?: AnalyzeOptions): Promise<EnhancedAnalysisResult>;
53
+ /**
54
+ * 分析项目特征
55
+ */
56
+ private analyzeProjectFeatures;
57
+ /**
58
+ * 分析 Flutter 项目
59
+ */
60
+ private analyzeFlutterProject;
61
+ /**
62
+ * 分析 package.json
63
+ */
64
+ private analyzePackageJson;
65
+ /**
66
+ * 分析项目结构
67
+ */
68
+ private analyzeProjectStructure;
69
+ /**
70
+ * 推断项目类型
71
+ */
72
+ private inferProjectType;
73
+ /**
74
+ * 获取缓存结果
75
+ */
76
+ private getCachedResult;
77
+ /**
78
+ * 更新缓存
79
+ */
80
+ private updateCache;
81
+ /**
82
+ * 计算关键文件哈希
83
+ */
84
+ private calculateFileHashes;
85
+ /**
86
+ * 检查文件是否变化
87
+ */
88
+ private checkFilesChanged;
89
+ /**
90
+ * 清除缓存
91
+ */
92
+ clearCache(): void;
93
+ /**
94
+ * 日志
95
+ */
96
+ private log;
97
+ }
98
+ /**
99
+ * 获取默认分析器实例
100
+ */
101
+ export declare function getDefaultAnalyzer(logger?: Logger): EnhancedProjectAnalyzer;
102
+ //# sourceMappingURL=enhancedProjectAnalyzer.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhancedProjectAnalyzer.d.ts","sourceRoot":"","sources":["../../src/core/enhancedProjectAnalyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EAAE,eAAe,EAAE,MAAM,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EACH,uBAAuB,EAE1B,MAAM,sBAAsB,CAAC;AAG9B;;GAEG;AACH,MAAM,WAAW,eAAe;IAC5B,GAAG,EAAE;QAAE,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IACxB,IAAI,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,MAAM,WAAW,cAAc;IAC3B,aAAa;IACb,QAAQ,CAAC,EAAE,OAAO,CAAC;CACtB;AAED;;;;GAIG;AACH,MAAM,WAAW,sBAAsB;IACnC,gBAAgB;IAChB,QAAQ,EAAE,uBAAuB,CAAC;IAClC,gBAAgB;IAChB,aAAa,EAAE,eAAe,CAAC;IAC/B,aAAa;IACb,SAAS,EAAE,OAAO,CAAC;CACtB;AAWD;;GAEG;AACH,qBAAa,uBAAuB;IAKpB,OAAO,CAAC,MAAM,CAAC;IAJ3B,OAAO,CAAC,QAAQ,CAAmB;IACnC,OAAO,CAAC,KAAK,CAAsC;IACnD,OAAO,CAAC,WAAW,CAAiB;gBAEhB,MAAM,CAAC,EAAE,MAAM,YAAA;IAInC;;OAEG;IACG,OAAO,CACT,eAAe,EAAE,eAAe,EAChC,OAAO,GAAE,cAAmB,GAC7B,OAAO,CAAC,sBAAsB,CAAC;IAkClC;;OAEG;YACW,sBAAsB;IAiCpC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA4B7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA0C1B;;OAEG;YACW,uBAAuB;IAsCrC;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAexB;;OAEG;IACH,OAAO,CAAC,eAAe;IAmBvB;;OAEG;IACH,OAAO,CAAC,WAAW;IAUnB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoB3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAYzB;;OAEG;IACH,UAAU,IAAI,IAAI;IAIlB;;OAEG;IACH,OAAO,CAAC,GAAG;CAGd;AAED;;GAEG;AACH,wBAAgB,kBAAkB,CAAC,MAAM,CAAC,EAAE,MAAM,GAAG,uBAAuB,CAE3E"}