figma-to-code-agent 0.5.0 → 0.7.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 (193) hide show
  1. package/CHANGELOG.md +44 -0
  2. package/README.md +69 -55
  3. package/README.zh-CN.md +173 -0
  4. package/dist/agent/ConversationContext.d.ts +91 -0
  5. package/dist/agent/ConversationContext.d.ts.map +1 -0
  6. package/dist/agent/ConversationContext.js +271 -0
  7. package/dist/agent/ConversationContext.js.map +1 -0
  8. package/dist/agent/DecisionEngine.d.ts +77 -0
  9. package/dist/agent/DecisionEngine.d.ts.map +1 -0
  10. package/dist/agent/DecisionEngine.js +414 -0
  11. package/dist/agent/DecisionEngine.js.map +1 -0
  12. package/dist/agent/ExecutionOrchestrator.d.ts +55 -0
  13. package/dist/agent/ExecutionOrchestrator.d.ts.map +1 -0
  14. package/dist/agent/ExecutionOrchestrator.js +360 -0
  15. package/dist/agent/ExecutionOrchestrator.js.map +1 -0
  16. package/dist/agent/IntentUnderstandingEngine.d.ts +43 -0
  17. package/dist/agent/IntentUnderstandingEngine.d.ts.map +1 -0
  18. package/dist/agent/IntentUnderstandingEngine.js +261 -0
  19. package/dist/agent/IntentUnderstandingEngine.js.map +1 -0
  20. package/dist/agent/index.d.ts +9 -0
  21. package/dist/agent/index.d.ts.map +1 -0
  22. package/dist/agent/index.js +30 -0
  23. package/dist/agent/index.js.map +1 -0
  24. package/dist/agent/types.d.ts +111 -0
  25. package/dist/agent/types.d.ts.map +1 -0
  26. package/dist/agent/types.js +6 -0
  27. package/dist/agent/types.js.map +1 -0
  28. package/dist/cli/InteractiveCLI.d.ts +109 -0
  29. package/dist/cli/InteractiveCLI.d.ts.map +1 -0
  30. package/dist/cli/InteractiveCLI.js +534 -0
  31. package/dist/cli/InteractiveCLI.js.map +1 -0
  32. package/dist/cli/ProgressDisplay.d.ts +117 -0
  33. package/dist/cli/ProgressDisplay.d.ts.map +1 -0
  34. package/dist/cli/ProgressDisplay.js +370 -0
  35. package/dist/cli/ProgressDisplay.js.map +1 -0
  36. package/dist/cli/index.d.ts +6 -0
  37. package/dist/cli/index.d.ts.map +1 -0
  38. package/dist/cli/index.js +22 -0
  39. package/dist/cli/index.js.map +1 -0
  40. package/dist/consistency/DesignConsistencyChecker.d.ts +125 -0
  41. package/dist/consistency/DesignConsistencyChecker.d.ts.map +1 -0
  42. package/dist/consistency/DesignConsistencyChecker.js +448 -0
  43. package/dist/consistency/DesignConsistencyChecker.js.map +1 -0
  44. package/dist/consistency/index.d.ts +5 -0
  45. package/dist/consistency/index.d.ts.map +1 -0
  46. package/dist/consistency/index.js +21 -0
  47. package/dist/consistency/index.js.map +1 -0
  48. package/dist/context/CodeStyleMatcher.d.ts +124 -0
  49. package/dist/context/CodeStyleMatcher.d.ts.map +1 -0
  50. package/dist/context/CodeStyleMatcher.js +558 -0
  51. package/dist/context/CodeStyleMatcher.js.map +1 -0
  52. package/dist/context/IncrementalUpdater.d.ts +97 -0
  53. package/dist/context/IncrementalUpdater.d.ts.map +1 -0
  54. package/dist/context/IncrementalUpdater.js +431 -0
  55. package/dist/context/IncrementalUpdater.js.map +1 -0
  56. package/dist/context/index.d.ts +6 -0
  57. package/dist/context/index.d.ts.map +1 -0
  58. package/dist/context/index.js +22 -0
  59. package/dist/context/index.js.map +1 -0
  60. package/dist/feedback/FeedbackLoop.d.ts +125 -0
  61. package/dist/feedback/FeedbackLoop.d.ts.map +1 -0
  62. package/dist/feedback/FeedbackLoop.js +353 -0
  63. package/dist/feedback/FeedbackLoop.js.map +1 -0
  64. package/dist/feedback/index.d.ts +5 -0
  65. package/dist/feedback/index.d.ts.map +1 -0
  66. package/dist/feedback/index.js +21 -0
  67. package/dist/feedback/index.js.map +1 -0
  68. package/dist/mcp/FigmaMCPIntegration.d.ts +72 -0
  69. package/dist/mcp/FigmaMCPIntegration.d.ts.map +1 -0
  70. package/dist/mcp/FigmaMCPIntegration.js +173 -0
  71. package/dist/mcp/FigmaMCPIntegration.js.map +1 -0
  72. package/dist/mcp/MCPServiceManager.d.ts +109 -0
  73. package/dist/mcp/MCPServiceManager.d.ts.map +1 -0
  74. package/dist/mcp/MCPServiceManager.js +237 -0
  75. package/dist/mcp/MCPServiceManager.js.map +1 -0
  76. package/dist/mcp/MCPToolAdapter.d.ts +73 -0
  77. package/dist/mcp/MCPToolAdapter.d.ts.map +1 -0
  78. package/dist/mcp/MCPToolAdapter.js +249 -0
  79. package/dist/mcp/MCPToolAdapter.js.map +1 -0
  80. package/dist/mcp/index.d.ts +7 -0
  81. package/dist/mcp/index.d.ts.map +1 -0
  82. package/dist/mcp/index.js +23 -0
  83. package/dist/mcp/index.js.map +1 -0
  84. package/dist/mcp-server/MCPServer.d.ts +125 -0
  85. package/dist/mcp-server/MCPServer.d.ts.map +1 -0
  86. package/dist/mcp-server/MCPServer.js +449 -0
  87. package/dist/mcp-server/MCPServer.js.map +1 -0
  88. package/dist/mcp-server/index.d.ts +5 -0
  89. package/dist/mcp-server/index.d.ts.map +1 -0
  90. package/dist/mcp-server/index.js +21 -0
  91. package/dist/mcp-server/index.js.map +1 -0
  92. package/dist/monitoring/ExecutionSummary.d.ts +160 -0
  93. package/dist/monitoring/ExecutionSummary.d.ts.map +1 -0
  94. package/dist/monitoring/ExecutionSummary.js +345 -0
  95. package/dist/monitoring/ExecutionSummary.js.map +1 -0
  96. package/dist/monitoring/Logger.d.ts +139 -0
  97. package/dist/monitoring/Logger.d.ts.map +1 -0
  98. package/dist/monitoring/Logger.js +406 -0
  99. package/dist/monitoring/Logger.js.map +1 -0
  100. package/dist/monitoring/index.d.ts +6 -0
  101. package/dist/monitoring/index.d.ts.map +1 -0
  102. package/dist/monitoring/index.js +22 -0
  103. package/dist/monitoring/index.js.map +1 -0
  104. package/dist/performance/LLMCache.d.ts +133 -0
  105. package/dist/performance/LLMCache.d.ts.map +1 -0
  106. package/dist/performance/LLMCache.js +358 -0
  107. package/dist/performance/LLMCache.js.map +1 -0
  108. package/dist/performance/ParallelProcessor.d.ts +89 -0
  109. package/dist/performance/ParallelProcessor.d.ts.map +1 -0
  110. package/dist/performance/ParallelProcessor.js +253 -0
  111. package/dist/performance/ParallelProcessor.js.map +1 -0
  112. package/dist/performance/TokenMonitor.d.ts +166 -0
  113. package/dist/performance/TokenMonitor.d.ts.map +1 -0
  114. package/dist/performance/TokenMonitor.js +315 -0
  115. package/dist/performance/TokenMonitor.js.map +1 -0
  116. package/dist/performance/index.d.ts +7 -0
  117. package/dist/performance/index.d.ts.map +1 -0
  118. package/dist/performance/index.js +23 -0
  119. package/dist/performance/index.js.map +1 -0
  120. package/dist/prototype/InteractivePrototypeGenerator.d.ts +175 -0
  121. package/dist/prototype/InteractivePrototypeGenerator.d.ts.map +1 -0
  122. package/dist/prototype/InteractivePrototypeGenerator.js +624 -0
  123. package/dist/prototype/InteractivePrototypeGenerator.js.map +1 -0
  124. package/dist/prototype/index.d.ts +5 -0
  125. package/dist/prototype/index.d.ts.map +1 -0
  126. package/dist/prototype/index.js +21 -0
  127. package/dist/prototype/index.js.map +1 -0
  128. package/dist/skill/SkillConfig.d.ts +66 -0
  129. package/dist/skill/SkillConfig.d.ts.map +1 -0
  130. package/dist/skill/SkillConfig.js +233 -0
  131. package/dist/skill/SkillConfig.js.map +1 -0
  132. package/dist/skill/SkillInterface.d.ts +102 -0
  133. package/dist/skill/SkillInterface.d.ts.map +1 -0
  134. package/dist/skill/SkillInterface.js +425 -0
  135. package/dist/skill/SkillInterface.js.map +1 -0
  136. package/dist/skill/index.d.ts +7 -0
  137. package/dist/skill/index.d.ts.map +1 -0
  138. package/dist/skill/index.js +23 -0
  139. package/dist/skill/index.js.map +1 -0
  140. package/dist/skill/types.d.ts +103 -0
  141. package/dist/skill/types.d.ts.map +1 -0
  142. package/dist/skill/types.js +6 -0
  143. package/dist/skill/types.js.map +1 -0
  144. package/dist/templates/TemplateManager.d.ts +147 -0
  145. package/dist/templates/TemplateManager.d.ts.map +1 -0
  146. package/dist/templates/TemplateManager.js +418 -0
  147. package/dist/templates/TemplateManager.js.map +1 -0
  148. package/dist/templates/index.d.ts +6 -0
  149. package/dist/templates/index.d.ts.map +1 -0
  150. package/dist/templates/index.js +10 -0
  151. package/dist/templates/index.js.map +1 -0
  152. package/dist/tools/CodeGenerationTool.d.ts +32 -0
  153. package/dist/tools/CodeGenerationTool.d.ts.map +1 -0
  154. package/dist/tools/CodeGenerationTool.js +63 -0
  155. package/dist/tools/CodeGenerationTool.js.map +1 -0
  156. package/dist/tools/FigmaExtractionTool.d.ts +45 -0
  157. package/dist/tools/FigmaExtractionTool.d.ts.map +1 -0
  158. package/dist/tools/FigmaExtractionTool.js +105 -0
  159. package/dist/tools/FigmaExtractionTool.js.map +1 -0
  160. package/dist/tools/ProjectAnalysisTool.d.ts +104 -0
  161. package/dist/tools/ProjectAnalysisTool.d.ts.map +1 -0
  162. package/dist/tools/ProjectAnalysisTool.js +428 -0
  163. package/dist/tools/ProjectAnalysisTool.js.map +1 -0
  164. package/dist/tools/ToolRegistry.d.ts +59 -0
  165. package/dist/tools/ToolRegistry.d.ts.map +1 -0
  166. package/dist/tools/ToolRegistry.js +162 -0
  167. package/dist/tools/ToolRegistry.js.map +1 -0
  168. package/dist/tools/TransformationTool.d.ts +30 -0
  169. package/dist/tools/TransformationTool.d.ts.map +1 -0
  170. package/dist/tools/TransformationTool.js +50 -0
  171. package/dist/tools/TransformationTool.js.map +1 -0
  172. package/dist/tools/index.d.ts +10 -0
  173. package/dist/tools/index.d.ts.map +1 -0
  174. package/dist/tools/index.js +32 -0
  175. package/dist/tools/index.js.map +1 -0
  176. package/dist/tools/types.d.ts +74 -0
  177. package/dist/tools/types.d.ts.map +1 -0
  178. package/dist/tools/types.js +6 -0
  179. package/dist/tools/types.js.map +1 -0
  180. package/dist/transformation/transformers/LayoutOptimizer.d.ts +8 -0
  181. package/dist/transformation/transformers/LayoutOptimizer.d.ts.map +1 -1
  182. package/dist/transformation/transformers/LayoutOptimizer.js +157 -15
  183. package/dist/transformation/transformers/LayoutOptimizer.js.map +1 -1
  184. package/dist/version/VersionManager.d.ts +128 -0
  185. package/dist/version/VersionManager.d.ts.map +1 -0
  186. package/dist/version/VersionManager.js +400 -0
  187. package/dist/version/VersionManager.js.map +1 -0
  188. package/dist/version/index.d.ts +5 -0
  189. package/dist/version/index.d.ts.map +1 -0
  190. package/dist/version/index.js +21 -0
  191. package/dist/version/index.js.map +1 -0
  192. package/package.json +3 -1
  193. package/QUICKSTART.md +0 -168
@@ -0,0 +1,358 @@
1
+ "use strict";
2
+ /**
3
+ * LLM 响应缓存系统
4
+ * 缓存 LLM 响应以减少 API 调用和提高性能
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.LLMCache = void 0;
41
+ const fs = __importStar(require("fs"));
42
+ const path = __importStar(require("path"));
43
+ const crypto = __importStar(require("crypto"));
44
+ /**
45
+ * LLM 缓存管理器
46
+ */
47
+ class LLMCache {
48
+ constructor(config = {}) {
49
+ this.cache = new Map();
50
+ this.hits = 0;
51
+ this.misses = 0;
52
+ this.maxSize = config.maxSize || 1000;
53
+ this.defaultTTL = config.ttl || 24 * 60 * 60 * 1000; // 默认 24 小时
54
+ this.persistToDisk = config.persistToDisk !== false;
55
+ this.cacheDir = config.cacheDir || '.llm-cache';
56
+ if (this.persistToDisk) {
57
+ this.ensureCacheDir();
58
+ this.loadFromDisk();
59
+ }
60
+ }
61
+ /**
62
+ * 获取缓存的响应
63
+ */
64
+ async get(request) {
65
+ const key = this.generateKey(request);
66
+ const entry = this.cache.get(key);
67
+ if (!entry) {
68
+ this.misses++;
69
+ return null;
70
+ }
71
+ // 检查是否过期
72
+ if (this.isExpired(entry)) {
73
+ this.cache.delete(key);
74
+ this.misses++;
75
+ return null;
76
+ }
77
+ // 更新命中次数
78
+ entry.hitCount++;
79
+ this.hits++;
80
+ return entry.response;
81
+ }
82
+ /**
83
+ * 设置缓存
84
+ */
85
+ async set(request, response, ttl, metadata) {
86
+ const key = this.generateKey(request);
87
+ const now = new Date();
88
+ const expiresAt = new Date(now.getTime() + (ttl || this.defaultTTL));
89
+ const entry = {
90
+ key,
91
+ request,
92
+ response,
93
+ timestamp: now,
94
+ expiresAt,
95
+ hitCount: 0,
96
+ metadata,
97
+ };
98
+ // 检查缓存大小限制
99
+ if (this.cache.size >= this.maxSize) {
100
+ this.evictOldest();
101
+ }
102
+ this.cache.set(key, entry);
103
+ // 持久化到磁盘
104
+ if (this.persistToDisk) {
105
+ await this.saveToDisk(entry);
106
+ }
107
+ }
108
+ /**
109
+ * 清除缓存
110
+ */
111
+ async clear() {
112
+ this.cache.clear();
113
+ this.hits = 0;
114
+ this.misses = 0;
115
+ if (this.persistToDisk) {
116
+ await this.clearDisk();
117
+ }
118
+ }
119
+ /**
120
+ * 删除特定缓存
121
+ */
122
+ async delete(request) {
123
+ const key = this.generateKey(request);
124
+ const deleted = this.cache.delete(key);
125
+ if (deleted && this.persistToDisk) {
126
+ await this.deleteFromDisk(key);
127
+ }
128
+ return deleted;
129
+ }
130
+ /**
131
+ * 清理过期缓存
132
+ */
133
+ async cleanup() {
134
+ let cleaned = 0;
135
+ for (const [key, entry] of this.cache.entries()) {
136
+ if (this.isExpired(entry)) {
137
+ this.cache.delete(key);
138
+ cleaned++;
139
+ if (this.persistToDisk) {
140
+ await this.deleteFromDisk(key);
141
+ }
142
+ }
143
+ }
144
+ return cleaned;
145
+ }
146
+ /**
147
+ * 获取缓存统计
148
+ */
149
+ getStats() {
150
+ const entries = Array.from(this.cache.values());
151
+ const totalRequests = this.hits + this.misses;
152
+ return {
153
+ totalEntries: this.cache.size,
154
+ totalHits: this.hits,
155
+ totalMisses: this.misses,
156
+ hitRate: totalRequests > 0 ? this.hits / totalRequests : 0,
157
+ totalSize: this.calculateSize(),
158
+ oldestEntry: entries.length > 0 ? this.findOldest(entries) : undefined,
159
+ newestEntry: entries.length > 0 ? this.findNewest(entries) : undefined,
160
+ };
161
+ }
162
+ /**
163
+ * 预热缓存
164
+ */
165
+ async warmup(requests, responses) {
166
+ if (requests.length !== responses.length) {
167
+ throw new Error('Requests and responses length mismatch');
168
+ }
169
+ for (let i = 0; i < requests.length; i++) {
170
+ await this.set(requests[i], responses[i]);
171
+ }
172
+ }
173
+ /**
174
+ * 导出缓存
175
+ */
176
+ async export(outputPath) {
177
+ const entries = Array.from(this.cache.values()).map((entry) => ({
178
+ ...entry,
179
+ timestamp: entry.timestamp.toISOString(),
180
+ expiresAt: entry.expiresAt.toISOString(),
181
+ }));
182
+ const data = {
183
+ version: '1.0',
184
+ exportedAt: new Date().toISOString(),
185
+ stats: this.getStats(),
186
+ entries,
187
+ };
188
+ fs.writeFileSync(outputPath, JSON.stringify(data, null, 2), 'utf-8');
189
+ }
190
+ /**
191
+ * 导入缓存
192
+ */
193
+ async import(inputPath) {
194
+ const content = fs.readFileSync(inputPath, 'utf-8');
195
+ const data = JSON.parse(content);
196
+ let imported = 0;
197
+ for (const entry of data.entries) {
198
+ const cacheEntry = {
199
+ ...entry,
200
+ timestamp: new Date(entry.timestamp),
201
+ expiresAt: new Date(entry.expiresAt),
202
+ };
203
+ // 只导入未过期的条目
204
+ if (!this.isExpired(cacheEntry)) {
205
+ this.cache.set(cacheEntry.key, cacheEntry);
206
+ imported++;
207
+ }
208
+ }
209
+ return imported;
210
+ }
211
+ /**
212
+ * 生成缓存键
213
+ */
214
+ generateKey(request) {
215
+ // 创建一个标准化的请求对象用于生成键
216
+ const normalized = {
217
+ model: request.model,
218
+ messages: request.messages,
219
+ temperature: request.temperature || 0,
220
+ maxTokens: request.maxTokens,
221
+ };
222
+ const content = JSON.stringify(normalized);
223
+ return crypto.createHash('sha256').update(content).digest('hex');
224
+ }
225
+ /**
226
+ * 检查是否过期
227
+ */
228
+ isExpired(entry) {
229
+ return new Date() > entry.expiresAt;
230
+ }
231
+ /**
232
+ * 驱逐最旧的条目
233
+ */
234
+ evictOldest() {
235
+ const entries = Array.from(this.cache.entries());
236
+ if (entries.length === 0) {
237
+ return;
238
+ }
239
+ // 找到最旧的条目(最少使用的)
240
+ let oldestKey = entries[0][0];
241
+ let oldestEntry = entries[0][1];
242
+ for (const [key, entry] of entries) {
243
+ if (entry.hitCount < oldestEntry.hitCount) {
244
+ oldestKey = key;
245
+ oldestEntry = entry;
246
+ }
247
+ else if (entry.hitCount === oldestEntry.hitCount &&
248
+ entry.timestamp < oldestEntry.timestamp) {
249
+ oldestKey = key;
250
+ oldestEntry = entry;
251
+ }
252
+ }
253
+ this.cache.delete(oldestKey);
254
+ }
255
+ /**
256
+ * 计算缓存大小
257
+ */
258
+ calculateSize() {
259
+ let size = 0;
260
+ for (const entry of this.cache.values()) {
261
+ // 粗略估算大小
262
+ size += JSON.stringify(entry).length;
263
+ }
264
+ return size;
265
+ }
266
+ /**
267
+ * 查找最旧的条目
268
+ */
269
+ findOldest(entries) {
270
+ return entries.reduce((oldest, entry) => (entry.timestamp < oldest ? entry.timestamp : oldest), entries[0].timestamp);
271
+ }
272
+ /**
273
+ * 查找最新的条目
274
+ */
275
+ findNewest(entries) {
276
+ return entries.reduce((newest, entry) => (entry.timestamp > newest ? entry.timestamp : newest), entries[0].timestamp);
277
+ }
278
+ /**
279
+ * 确保缓存目录存在
280
+ */
281
+ ensureCacheDir() {
282
+ if (!fs.existsSync(this.cacheDir)) {
283
+ fs.mkdirSync(this.cacheDir, { recursive: true });
284
+ }
285
+ }
286
+ /**
287
+ * 保存到磁盘
288
+ */
289
+ async saveToDisk(entry) {
290
+ const filePath = path.join(this.cacheDir, `${entry.key}.json`);
291
+ const data = {
292
+ ...entry,
293
+ timestamp: entry.timestamp.toISOString(),
294
+ expiresAt: entry.expiresAt.toISOString(),
295
+ };
296
+ fs.writeFileSync(filePath, JSON.stringify(data), 'utf-8');
297
+ }
298
+ /**
299
+ * 从磁盘加载
300
+ */
301
+ loadFromDisk() {
302
+ if (!fs.existsSync(this.cacheDir)) {
303
+ return;
304
+ }
305
+ const files = fs.readdirSync(this.cacheDir);
306
+ for (const file of files) {
307
+ if (!file.endsWith('.json')) {
308
+ continue;
309
+ }
310
+ try {
311
+ const filePath = path.join(this.cacheDir, file);
312
+ const content = fs.readFileSync(filePath, 'utf-8');
313
+ const data = JSON.parse(content);
314
+ const entry = {
315
+ ...data,
316
+ timestamp: new Date(data.timestamp),
317
+ expiresAt: new Date(data.expiresAt),
318
+ };
319
+ // 只加载未过期的条目
320
+ if (!this.isExpired(entry)) {
321
+ this.cache.set(entry.key, entry);
322
+ }
323
+ else {
324
+ // 删除过期的文件
325
+ fs.unlinkSync(filePath);
326
+ }
327
+ }
328
+ catch (error) {
329
+ console.error(`Failed to load cache entry from ${file}:`, error);
330
+ }
331
+ }
332
+ }
333
+ /**
334
+ * 从磁盘删除
335
+ */
336
+ async deleteFromDisk(key) {
337
+ const filePath = path.join(this.cacheDir, `${key}.json`);
338
+ if (fs.existsSync(filePath)) {
339
+ fs.unlinkSync(filePath);
340
+ }
341
+ }
342
+ /**
343
+ * 清空磁盘缓存
344
+ */
345
+ async clearDisk() {
346
+ if (!fs.existsSync(this.cacheDir)) {
347
+ return;
348
+ }
349
+ const files = fs.readdirSync(this.cacheDir);
350
+ for (const file of files) {
351
+ if (file.endsWith('.json')) {
352
+ fs.unlinkSync(path.join(this.cacheDir, file));
353
+ }
354
+ }
355
+ }
356
+ }
357
+ exports.LLMCache = LLMCache;
358
+ //# sourceMappingURL=LLMCache.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"LLMCache.js","sourceRoot":"","sources":["../../src/performance/LLMCache.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ /**
2
+ * 并行处理系统
3
+ * 分析组件独立性并并行执行以提高性能
4
+ */
5
+ import type { ASTNode } from '../transformation/types';
6
+ export interface ProcessingTask<T = any> {
7
+ id: string;
8
+ type: string;
9
+ data: T;
10
+ dependencies?: string[];
11
+ priority?: number;
12
+ }
13
+ export interface ProcessingResult<T = any> {
14
+ taskId: string;
15
+ success: boolean;
16
+ data?: T;
17
+ error?: Error;
18
+ duration: number;
19
+ }
20
+ export interface ParallelConfig {
21
+ maxConcurrency?: number;
22
+ timeout?: number;
23
+ retryOnFailure?: boolean;
24
+ maxRetries?: number;
25
+ }
26
+ /**
27
+ * 并行处理器
28
+ */
29
+ export declare class ParallelProcessor {
30
+ private config;
31
+ private activeTasks;
32
+ private completedTasks;
33
+ constructor(config?: ParallelConfig);
34
+ /**
35
+ * 分析组件独立性
36
+ * 检查组件之间是否有依赖关系
37
+ */
38
+ analyzeComponentIndependence(nodes: ASTNode[]): Map<string, string[]>;
39
+ /**
40
+ * 并行执行任务
41
+ */
42
+ executeParallel<T, R>(tasks: ProcessingTask<T>[], processor: (task: ProcessingTask<T>) => Promise<R>): Promise<ProcessingResult<R>[]>;
43
+ /**
44
+ * 并行处理组件
45
+ * 自动分析独立性并并行执行
46
+ */
47
+ processComponents<R>(components: ASTNode[], processor: (component: ASTNode) => Promise<R>): Promise<Map<string, ProcessingResult<R>>>;
48
+ /**
49
+ * 合并结果
50
+ * 将并行处理的结果合并为单一结果
51
+ */
52
+ mergeResults<T>(results: ProcessingResult<T>[], merger: (data: T[]) => T): T;
53
+ /**
54
+ * 获取执行统计
55
+ */
56
+ getStats(): {
57
+ totalTasks: number;
58
+ successfulTasks: number;
59
+ failedTasks: number;
60
+ averageDuration: number;
61
+ totalDuration: number;
62
+ };
63
+ /**
64
+ * 执行单个任务
65
+ */
66
+ private executeTask;
67
+ /**
68
+ * 创建超时 Promise
69
+ */
70
+ private createTimeout;
71
+ /**
72
+ * 构建依赖图
73
+ */
74
+ private buildDependencyGraph;
75
+ /**
76
+ * 检查任务的依赖是否都已完成
77
+ */
78
+ private areDependenciesMet;
79
+ /**
80
+ * 检查一个节点是否引用了另一个节点
81
+ */
82
+ private hasReference;
83
+ /**
84
+ * 计算组件优先级
85
+ * 优先处理简单的、独立的组件
86
+ */
87
+ private calculatePriority;
88
+ }
89
+ //# sourceMappingURL=ParallelProcessor.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ParallelProcessor.d.ts","sourceRoot":"","sources":["../../src/performance/ParallelProcessor.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,yBAAyB,CAAC;AAEvD,MAAM,WAAW,cAAc,CAAC,CAAC,GAAG,GAAG;IACrC,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,CAAC,CAAC;IACR,YAAY,CAAC,EAAE,MAAM,EAAE,CAAC;IACxB,QAAQ,CAAC,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,gBAAgB,CAAC,CAAC,GAAG,GAAG;IACvC,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,OAAO,CAAC;IACjB,IAAI,CAAC,EAAE,CAAC,CAAC;IACT,KAAK,CAAC,EAAE,KAAK,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,cAAc,CAAC,EAAE,OAAO,CAAC;IACzB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED;;GAEG;AACH,qBAAa,iBAAiB;IAC5B,OAAO,CAAC,MAAM,CAA2B;IACzC,OAAO,CAAC,WAAW,CAA0B;IAC7C,OAAO,CAAC,cAAc,CAA4C;gBAEtD,MAAM,GAAE,cAAmB;IASvC;;;OAGG;IACH,4BAA4B,CAAC,KAAK,EAAE,OAAO,EAAE,GAAG,GAAG,CAAC,MAAM,EAAE,MAAM,EAAE,CAAC;IAqBrE;;OAEG;IACG,eAAe,CAAC,CAAC,EAAE,CAAC,EACxB,KAAK,EAAE,cAAc,CAAC,CAAC,CAAC,EAAE,EAC1B,SAAS,EAAE,CAAC,IAAI,EAAE,cAAc,CAAC,CAAC,CAAC,KAAK,OAAO,CAAC,CAAC,CAAC,GACjD,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,EAAE,CAAC;IAsDjC;;;OAGG;IACG,iBAAiB,CAAC,CAAC,EACvB,UAAU,EAAE,OAAO,EAAE,EACrB,SAAS,EAAE,CAAC,SAAS,EAAE,OAAO,KAAK,OAAO,CAAC,CAAC,CAAC,GAC5C,OAAO,CAAC,GAAG,CAAC,MAAM,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC,CAAC;IA2B5C;;;OAGG;IACH,YAAY,CAAC,CAAC,EAAE,OAAO,EAAE,gBAAgB,CAAC,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC,EAAE,KAAK,CAAC,GAAG,CAAC;IAW5E;;OAEG;IACH,QAAQ,IAAI;QACV,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;QACxB,WAAW,EAAE,MAAM,CAAC;QACpB,eAAe,EAAE,MAAM,CAAC;QACxB,aAAa,EAAE,MAAM,CAAC;KACvB;IAcD;;OAEG;YACW,WAAW;IA0DzB;;OAEG;IACH,OAAO,CAAC,aAAa;IAMrB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAU5B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAoB1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAgBpB;;;OAGG;IACH,OAAO,CAAC,iBAAiB;CAa1B"}