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,271 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
14
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
15
+ }) : function(o, v) {
16
+ o["default"] = v;
17
+ });
18
+ var __importStar = (this && this.__importStar) || (function () {
19
+ var ownKeys = function(o) {
20
+ ownKeys = Object.getOwnPropertyNames || function (o) {
21
+ var ar = [];
22
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
23
+ return ar;
24
+ };
25
+ return ownKeys(o);
26
+ };
27
+ return function (mod) {
28
+ if (mod && mod.__esModule) return mod;
29
+ var result = {};
30
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
31
+ __setModuleDefault(result, mod);
32
+ return result;
33
+ };
34
+ })();
35
+ Object.defineProperty(exports, "__esModule", { value: true });
36
+ exports.ConversationContextManager = void 0;
37
+ const fs = __importStar(require("fs"));
38
+ const path = __importStar(require("path"));
39
+ const uuid_1 = require("uuid");
40
+ /**
41
+ * 对话上下文管理器
42
+ * 维护用户意图、历史交互和任务状态
43
+ */
44
+ class ConversationContextManager {
45
+ constructor(sessionId, persistencePath) {
46
+ this.persistencePath = persistencePath;
47
+ // 尝试从文件恢复上下文
48
+ if (persistencePath && fs.existsSync(persistencePath)) {
49
+ this.context = this.loadFromFile(persistencePath);
50
+ }
51
+ else {
52
+ // 创建新的上下文
53
+ this.context = this.createNewContext(sessionId);
54
+ }
55
+ }
56
+ /**
57
+ * 创建新的对话上下文
58
+ */
59
+ createNewContext(sessionId) {
60
+ return {
61
+ sessionId: sessionId || (0, uuid_1.v4)(),
62
+ intent: null,
63
+ history: [],
64
+ taskState: {
65
+ phase: 'understanding',
66
+ currentStep: 'Initializing',
67
+ progress: 0,
68
+ checkpoints: [],
69
+ },
70
+ userPreferences: {
71
+ language: 'zh',
72
+ verbosity: 'normal',
73
+ autoApprove: false,
74
+ },
75
+ generatedArtifacts: [],
76
+ };
77
+ }
78
+ /**
79
+ * 获取当前上下文
80
+ */
81
+ getContext() {
82
+ return { ...this.context };
83
+ }
84
+ /**
85
+ * 添加消息到历史记录
86
+ */
87
+ addMessage(role, content, metadata) {
88
+ const message = {
89
+ role,
90
+ content,
91
+ timestamp: Date.now(),
92
+ metadata,
93
+ };
94
+ this.context.history.push(message);
95
+ this.persist();
96
+ }
97
+ /**
98
+ * 设置用户意图
99
+ */
100
+ setIntent(intent) {
101
+ this.context.intent = intent;
102
+ this.persist();
103
+ }
104
+ /**
105
+ * 获取用户意图
106
+ */
107
+ getIntent() {
108
+ return this.context.intent;
109
+ }
110
+ /**
111
+ * 更新任务状态
112
+ */
113
+ updateTaskState(updates) {
114
+ this.context.taskState = {
115
+ ...this.context.taskState,
116
+ ...updates,
117
+ };
118
+ this.persist();
119
+ }
120
+ /**
121
+ * 获取任务状态
122
+ */
123
+ getTaskState() {
124
+ return { ...this.context.taskState };
125
+ }
126
+ /**
127
+ * 创建检查点
128
+ */
129
+ createCheckpoint(data) {
130
+ const checkpoint = {
131
+ id: (0, uuid_1.v4)(),
132
+ timestamp: Date.now(),
133
+ phase: this.context.taskState.phase,
134
+ data,
135
+ };
136
+ this.context.taskState.checkpoints.push(checkpoint);
137
+ this.persist();
138
+ return checkpoint.id;
139
+ }
140
+ /**
141
+ * 从检查点恢复
142
+ */
143
+ restoreFromCheckpoint(checkpointId) {
144
+ const checkpoint = this.context.taskState.checkpoints.find((cp) => cp.id === checkpointId);
145
+ if (!checkpoint) {
146
+ return false;
147
+ }
148
+ // 恢复任务状态到检查点时的状态
149
+ this.context.taskState.phase = checkpoint.phase;
150
+ // 移除该检查点之后的所有检查点
151
+ const checkpointIndex = this.context.taskState.checkpoints.findIndex((cp) => cp.id === checkpointId);
152
+ this.context.taskState.checkpoints = this.context.taskState.checkpoints.slice(0, checkpointIndex + 1);
153
+ this.persist();
154
+ return true;
155
+ }
156
+ /**
157
+ * 更新用户偏好
158
+ */
159
+ updateUserPreferences(preferences) {
160
+ this.context.userPreferences = {
161
+ ...this.context.userPreferences,
162
+ ...preferences,
163
+ };
164
+ this.persist();
165
+ }
166
+ /**
167
+ * 获取用户偏好
168
+ */
169
+ getUserPreferences() {
170
+ return { ...this.context.userPreferences };
171
+ }
172
+ /**
173
+ * 添加生成的产物
174
+ */
175
+ addArtifact(artifact) {
176
+ const fullArtifact = {
177
+ ...artifact,
178
+ id: (0, uuid_1.v4)(),
179
+ timestamp: Date.now(),
180
+ };
181
+ this.context.generatedArtifacts.push(fullArtifact);
182
+ this.persist();
183
+ return fullArtifact.id;
184
+ }
185
+ /**
186
+ * 获取所有产物
187
+ */
188
+ getArtifacts() {
189
+ return [...this.context.generatedArtifacts];
190
+ }
191
+ /**
192
+ * 获取特定版本的产物
193
+ */
194
+ getArtifactsByVersion(version) {
195
+ return this.context.generatedArtifacts.filter((a) => a.version === version);
196
+ }
197
+ /**
198
+ * 获取历史消息
199
+ */
200
+ getHistory() {
201
+ return [...this.context.history];
202
+ }
203
+ /**
204
+ * 清空历史记录(保留用户偏好)
205
+ */
206
+ clearHistory() {
207
+ this.context.history = [];
208
+ this.context.intent = null;
209
+ this.context.taskState = {
210
+ phase: 'understanding',
211
+ currentStep: 'Initializing',
212
+ progress: 0,
213
+ checkpoints: [],
214
+ };
215
+ this.persist();
216
+ }
217
+ /**
218
+ * 持久化上下文到文件
219
+ */
220
+ persist() {
221
+ if (!this.persistencePath) {
222
+ return;
223
+ }
224
+ try {
225
+ const dir = path.dirname(this.persistencePath);
226
+ if (!fs.existsSync(dir)) {
227
+ fs.mkdirSync(dir, { recursive: true });
228
+ }
229
+ fs.writeFileSync(this.persistencePath, JSON.stringify(this.context, null, 2), 'utf-8');
230
+ }
231
+ catch (error) {
232
+ console.error('Failed to persist conversation context:', error);
233
+ }
234
+ }
235
+ /**
236
+ * 从文件加载上下文
237
+ */
238
+ loadFromFile(filePath) {
239
+ try {
240
+ const content = fs.readFileSync(filePath, 'utf-8');
241
+ return JSON.parse(content);
242
+ }
243
+ catch (error) {
244
+ console.error('Failed to load conversation context:', error);
245
+ return this.createNewContext();
246
+ }
247
+ }
248
+ /**
249
+ * 导出上下文为 JSON
250
+ */
251
+ export() {
252
+ return JSON.stringify(this.context, null, 2);
253
+ }
254
+ /**
255
+ * 从 JSON 导入上下文
256
+ */
257
+ import(json) {
258
+ try {
259
+ const imported = JSON.parse(json);
260
+ this.context = imported;
261
+ this.persist();
262
+ return true;
263
+ }
264
+ catch (error) {
265
+ console.error('Failed to import conversation context:', error);
266
+ return false;
267
+ }
268
+ }
269
+ }
270
+ exports.ConversationContextManager = ConversationContextManager;
271
+ //# sourceMappingURL=ConversationContext.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"ConversationContext.js","sourceRoot":"","sources":["../../src/agent/ConversationContext.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,77 @@
1
+ import type { Intent, Strategy, StrategyScore, ConversationContext } from './types';
2
+ import type { Tool } from '../tools/types';
3
+ /**
4
+ * 决策引擎
5
+ * 根据意图和可用工具生成、评估和选择执行策略
6
+ */
7
+ export declare class DecisionEngine {
8
+ /**
9
+ * 生成可能的策略
10
+ */
11
+ generateStrategies(intent: Intent, availableTools: Tool[]): Strategy[];
12
+ /**
13
+ * 评估策略
14
+ */
15
+ evaluateStrategy(strategy: Strategy, context: ConversationContext): StrategyScore;
16
+ /**
17
+ * 选择最佳策略
18
+ */
19
+ selectBestStrategy(strategies: Strategy[], context: ConversationContext): Strategy;
20
+ /**
21
+ * 分析设计复杂度
22
+ */
23
+ analyzeComplexity(figmaData: any): {
24
+ nodeCount: number;
25
+ depth: number;
26
+ complexity: 'simple' | 'medium' | 'complex';
27
+ };
28
+ /**
29
+ * 生成新代码的策略
30
+ */
31
+ private generateNewCodeStrategies;
32
+ /**
33
+ * 生成更新代码的策略
34
+ */
35
+ private generateUpdateStrategies;
36
+ /**
37
+ * 生成优化代码的策略
38
+ */
39
+ private generateOptimizeStrategies;
40
+ /**
41
+ * 生成分析设计的策略
42
+ */
43
+ private generateAnalyzeStrategies;
44
+ /**
45
+ * 构建快速规则策略的步骤
46
+ */
47
+ private buildFastRuleSteps;
48
+ /**
49
+ * 构建 AI 增强策略的步骤
50
+ */
51
+ private buildAIEnhancedSteps;
52
+ /**
53
+ * 计算可行性分数
54
+ */
55
+ private calculateFeasibility;
56
+ /**
57
+ * 计算质量分数
58
+ */
59
+ private calculateQuality;
60
+ /**
61
+ * 计算速度分数
62
+ */
63
+ private calculateSpeed;
64
+ /**
65
+ * 获取评分权重
66
+ */
67
+ private getWeights;
68
+ /**
69
+ * 计算节点数量
70
+ */
71
+ private countNodes;
72
+ /**
73
+ * 计算树深度
74
+ */
75
+ private calculateDepth;
76
+ }
77
+ //# sourceMappingURL=DecisionEngine.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"DecisionEngine.d.ts","sourceRoot":"","sources":["../../src/agent/DecisionEngine.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,aAAa,EAAgB,mBAAmB,EAAE,MAAM,SAAS,CAAC;AAClG,OAAO,KAAK,EAAE,IAAI,EAAE,MAAM,gBAAgB,CAAC;AAE3C;;;GAGG;AACH,qBAAa,cAAc;IACzB;;OAEG;IACH,kBAAkB,CAAC,MAAM,EAAE,MAAM,EAAE,cAAc,EAAE,IAAI,EAAE,GAAG,QAAQ,EAAE;IAsBtE;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,QAAQ,EAAE,OAAO,EAAE,mBAAmB,GAAG,aAAa;IA8BjF;;OAEG;IACH,kBAAkB,CAAC,UAAU,EAAE,QAAQ,EAAE,EAAE,OAAO,EAAE,mBAAmB,GAAG,QAAQ;IAiBlF;;OAEG;IACH,iBAAiB,CAAC,SAAS,EAAE,GAAG,GAAG;QACjC,SAAS,EAAE,MAAM,CAAC;QAClB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,EAAE,QAAQ,GAAG,QAAQ,GAAG,SAAS,CAAC;KAC7C;IAkBD;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAiCjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAuChC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA8BlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAyBjC;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA2B1B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IA8D5B;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAkB5B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAiBxB;;OAEG;IACH,OAAO,CAAC,cAAc;IAatB;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACH,OAAO,CAAC,UAAU;IAalB;;OAEG;IACH,OAAO,CAAC,cAAc;CAYvB"}