figma-to-code-agent 0.6.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 +32 -0
  2. package/README.md +68 -76
  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 -178
@@ -0,0 +1,66 @@
1
+ /**
2
+ * Skill 配置管理器
3
+ */
4
+ import type { SkillConfig, SkillMetadata, SkillCommand, SkillCapabilities } from './types';
5
+ /**
6
+ * Skill 配置管理器
7
+ */
8
+ export declare class SkillConfigManager {
9
+ private config;
10
+ private metadata;
11
+ private commands;
12
+ private capabilities;
13
+ constructor(configPath?: string);
14
+ /**
15
+ * 获取配置
16
+ */
17
+ getConfig(): SkillConfig;
18
+ /**
19
+ * 更新配置
20
+ */
21
+ updateConfig(updates: Partial<SkillConfig>): void;
22
+ /**
23
+ * 获取元数据
24
+ */
25
+ getMetadata(): SkillMetadata;
26
+ /**
27
+ * 获取命令列表
28
+ */
29
+ getCommands(): SkillCommand[];
30
+ /**
31
+ * 获取能力
32
+ */
33
+ getCapabilities(): SkillCapabilities;
34
+ /**
35
+ * 获取命令
36
+ */
37
+ getCommand(name: string): SkillCommand | undefined;
38
+ /**
39
+ * 验证配置
40
+ */
41
+ validateConfig(): {
42
+ valid: boolean;
43
+ errors: string[];
44
+ };
45
+ /**
46
+ * 保存配置
47
+ */
48
+ saveConfig(configPath: string): void;
49
+ /**
50
+ * 加载配置
51
+ */
52
+ private loadConfig;
53
+ /**
54
+ * 加载元数据
55
+ */
56
+ private loadMetadata;
57
+ /**
58
+ * 加载命令
59
+ */
60
+ private loadCommands;
61
+ /**
62
+ * 加载能力
63
+ */
64
+ private loadCapabilities;
65
+ }
66
+ //# sourceMappingURL=SkillConfig.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillConfig.d.ts","sourceRoot":"","sources":["../../src/skill/SkillConfig.ts"],"names":[],"mappings":"AAAA;;GAEG;AAIH,OAAO,KAAK,EAAE,WAAW,EAAE,aAAa,EAAE,YAAY,EAAE,iBAAiB,EAAE,MAAM,SAAS,CAAC;AAE3F;;GAEG;AACH,qBAAa,kBAAkB;IAC7B,OAAO,CAAC,MAAM,CAAc;IAC5B,OAAO,CAAC,QAAQ,CAAgB;IAChC,OAAO,CAAC,QAAQ,CAAiB;IACjC,OAAO,CAAC,YAAY,CAAoB;gBAE5B,UAAU,CAAC,EAAE,MAAM;IAO/B;;OAEG;IACH,SAAS,IAAI,WAAW;IAIxB;;OAEG;IACH,YAAY,CAAC,OAAO,EAAE,OAAO,CAAC,WAAW,CAAC,GAAG,IAAI;IAIjD;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,eAAe,IAAI,iBAAiB;IAIpC;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,MAAM,GAAG,YAAY,GAAG,SAAS;IAIlD;;OAEG;IACH,cAAc,IAAI;QAAE,KAAK,EAAE,OAAO,CAAC;QAAC,MAAM,EAAE,MAAM,EAAE,CAAA;KAAE;IA+BtD;;OAEG;IACH,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,IAAI;IAKpC;;OAEG;IACH,OAAO,CAAC,UAAU;IAkClB;;OAEG;IACH,OAAO,CAAC,YAAY;IAiCpB;;OAEG;IACH,OAAO,CAAC,YAAY;IAcpB;;OAEG;IACH,OAAO,CAAC,gBAAgB;CAoBzB"}
@@ -0,0 +1,233 @@
1
+ "use strict";
2
+ /**
3
+ * Skill 配置管理器
4
+ */
5
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
6
+ if (k2 === undefined) k2 = k;
7
+ var desc = Object.getOwnPropertyDescriptor(m, k);
8
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
9
+ desc = { enumerable: true, get: function() { return m[k]; } };
10
+ }
11
+ Object.defineProperty(o, k2, desc);
12
+ }) : (function(o, m, k, k2) {
13
+ if (k2 === undefined) k2 = k;
14
+ o[k2] = m[k];
15
+ }));
16
+ var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
17
+ Object.defineProperty(o, "default", { enumerable: true, value: v });
18
+ }) : function(o, v) {
19
+ o["default"] = v;
20
+ });
21
+ var __importStar = (this && this.__importStar) || (function () {
22
+ var ownKeys = function(o) {
23
+ ownKeys = Object.getOwnPropertyNames || function (o) {
24
+ var ar = [];
25
+ for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
26
+ return ar;
27
+ };
28
+ return ownKeys(o);
29
+ };
30
+ return function (mod) {
31
+ if (mod && mod.__esModule) return mod;
32
+ var result = {};
33
+ if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
34
+ __setModuleDefault(result, mod);
35
+ return result;
36
+ };
37
+ })();
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.SkillConfigManager = void 0;
40
+ const fs = __importStar(require("fs"));
41
+ const path = __importStar(require("path"));
42
+ /**
43
+ * Skill 配置管理器
44
+ */
45
+ class SkillConfigManager {
46
+ constructor(configPath) {
47
+ this.config = this.loadConfig(configPath);
48
+ this.metadata = this.loadMetadata();
49
+ this.commands = this.loadCommands();
50
+ this.capabilities = this.loadCapabilities();
51
+ }
52
+ /**
53
+ * 获取配置
54
+ */
55
+ getConfig() {
56
+ return { ...this.config };
57
+ }
58
+ /**
59
+ * 更新配置
60
+ */
61
+ updateConfig(updates) {
62
+ this.config = { ...this.config, ...updates };
63
+ }
64
+ /**
65
+ * 获取元数据
66
+ */
67
+ getMetadata() {
68
+ return { ...this.metadata };
69
+ }
70
+ /**
71
+ * 获取命令列表
72
+ */
73
+ getCommands() {
74
+ return [...this.commands];
75
+ }
76
+ /**
77
+ * 获取能力
78
+ */
79
+ getCapabilities() {
80
+ return { ...this.capabilities };
81
+ }
82
+ /**
83
+ * 获取命令
84
+ */
85
+ getCommand(name) {
86
+ return this.commands.find((cmd) => cmd.name === name);
87
+ }
88
+ /**
89
+ * 验证配置
90
+ */
91
+ validateConfig() {
92
+ const errors = [];
93
+ // 验证 LLM 配置
94
+ if (this.config.llmProvider && !['bedrock', 'openai', 'anthropic'].includes(this.config.llmProvider)) {
95
+ errors.push(`Invalid LLM provider: ${this.config.llmProvider}`);
96
+ }
97
+ // 验证质量模式
98
+ if (this.config.defaultQualityMode && !['fast', 'balanced', 'high'].includes(this.config.defaultQualityMode)) {
99
+ errors.push(`Invalid quality mode: ${this.config.defaultQualityMode}`);
100
+ }
101
+ // 验证迭代次数
102
+ if (this.config.maxIterations !== undefined) {
103
+ if (this.config.maxIterations < 1 || this.config.maxIterations > 10) {
104
+ errors.push(`Max iterations must be between 1 and 10, got: ${this.config.maxIterations}`);
105
+ }
106
+ }
107
+ // 验证 Token 预算
108
+ if (this.config.tokenBudget !== undefined && this.config.tokenBudget < 0) {
109
+ errors.push(`Token budget must be non-negative, got: ${this.config.tokenBudget}`);
110
+ }
111
+ return {
112
+ valid: errors.length === 0,
113
+ errors,
114
+ };
115
+ }
116
+ /**
117
+ * 保存配置
118
+ */
119
+ saveConfig(configPath) {
120
+ const configData = JSON.stringify(this.config, null, 2);
121
+ fs.writeFileSync(configPath, configData, 'utf-8');
122
+ }
123
+ /**
124
+ * 加载配置
125
+ */
126
+ loadConfig(configPath) {
127
+ const defaultConfig = {
128
+ defaultFramework: 'auto',
129
+ defaultStyleMode: 'auto',
130
+ defaultQualityMode: 'balanced',
131
+ enableAutoDetection: true,
132
+ enableIterativeMode: true,
133
+ showDecisionReasoning: true,
134
+ maxIterations: 5,
135
+ llmProvider: 'bedrock',
136
+ llmModel: 'anthropic.claude-3-sonnet-20240229-v1:0',
137
+ tokenBudget: 100000,
138
+ enableMCPIntegration: true,
139
+ enableParallelProcessing: true,
140
+ verbosity: 'normal',
141
+ };
142
+ if (!configPath) {
143
+ return defaultConfig;
144
+ }
145
+ try {
146
+ if (fs.existsSync(configPath)) {
147
+ const configData = fs.readFileSync(configPath, 'utf-8');
148
+ const loadedConfig = JSON.parse(configData);
149
+ return { ...defaultConfig, ...loadedConfig };
150
+ }
151
+ }
152
+ catch (error) {
153
+ console.warn(`Failed to load config from ${configPath}:`, error);
154
+ }
155
+ return defaultConfig;
156
+ }
157
+ /**
158
+ * 加载元数据
159
+ */
160
+ loadMetadata() {
161
+ try {
162
+ const skillJsonPath = path.join(process.cwd(), 'skill.json');
163
+ if (fs.existsSync(skillJsonPath)) {
164
+ const skillData = JSON.parse(fs.readFileSync(skillJsonPath, 'utf-8'));
165
+ return {
166
+ name: skillData.name,
167
+ displayName: skillData.displayName,
168
+ version: skillData.version,
169
+ description: skillData.description,
170
+ author: skillData.author,
171
+ icon: skillData.icon,
172
+ category: skillData.category,
173
+ tags: skillData.tags,
174
+ };
175
+ }
176
+ }
177
+ catch (error) {
178
+ console.warn('Failed to load skill metadata:', error);
179
+ }
180
+ // 默认元数据
181
+ return {
182
+ name: 'figma-to-code-agent',
183
+ displayName: 'Figma to Code Agent',
184
+ version: '1.0.0',
185
+ description: 'AI Agent for converting Figma designs to code',
186
+ author: 'lewiscutey',
187
+ icon: '🎨',
188
+ category: 'development',
189
+ tags: ['figma', 'code-generation'],
190
+ };
191
+ }
192
+ /**
193
+ * 加载命令
194
+ */
195
+ loadCommands() {
196
+ try {
197
+ const skillJsonPath = path.join(process.cwd(), 'skill.json');
198
+ if (fs.existsSync(skillJsonPath)) {
199
+ const skillData = JSON.parse(fs.readFileSync(skillJsonPath, 'utf-8'));
200
+ return skillData.commands || [];
201
+ }
202
+ }
203
+ catch (error) {
204
+ console.warn('Failed to load skill commands:', error);
205
+ }
206
+ return [];
207
+ }
208
+ /**
209
+ * 加载能力
210
+ */
211
+ loadCapabilities() {
212
+ try {
213
+ const skillJsonPath = path.join(process.cwd(), 'skill.json');
214
+ if (fs.existsSync(skillJsonPath)) {
215
+ const skillData = JSON.parse(fs.readFileSync(skillJsonPath, 'utf-8'));
216
+ return skillData.capabilities || {};
217
+ }
218
+ }
219
+ catch (error) {
220
+ console.warn('Failed to load skill capabilities:', error);
221
+ }
222
+ return {
223
+ conversational: true,
224
+ contextAware: true,
225
+ iterative: true,
226
+ multiStep: true,
227
+ fileGeneration: true,
228
+ codeAnalysis: true,
229
+ };
230
+ }
231
+ }
232
+ exports.SkillConfigManager = SkillConfigManager;
233
+ //# sourceMappingURL=SkillConfig.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillConfig.js","sourceRoot":"","sources":["../../src/skill/SkillConfig.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;AAEH,uCAAyB;AACzB,2CAA6B;AAG7B;;GAEG;AACH,MAAa,kBAAkB;IAM7B,YAAY,UAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1C,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;QACpC,IAAI,CAAC,YAAY,GAAG,IAAI,CAAC,gBAAgB,EAAE,CAAC;IAC9C,CAAC;IAED;;OAEG;IACH,SAAS;QACP,OAAO,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,YAAY,CAAC,OAA6B;QACxC,IAAI,CAAC,MAAM,GAAG,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,GAAG,OAAO,EAAE,CAAC;IAC/C,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,EAAE,GAAG,IAAI,CAAC,QAAQ,EAAE,CAAC;IAC9B,CAAC;IAED;;OAEG;IACH,WAAW;QACT,OAAO,CAAC,GAAG,IAAI,CAAC,QAAQ,CAAC,CAAC;IAC5B,CAAC;IAED;;OAEG;IACH,eAAe;QACb,OAAO,EAAE,GAAG,IAAI,CAAC,YAAY,EAAE,CAAC;IAClC,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,IAAY;QACrB,OAAO,IAAI,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,KAAK,IAAI,CAAC,CAAC;IACxD,CAAC;IAED;;OAEG;IACH,cAAc;QACZ,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,YAAY;QACZ,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,WAAW,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,WAAW,CAAC,EAAE,CAAC;YACrG,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QAClE,CAAC;QAED,SAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,kBAAkB,IAAI,CAAC,CAAC,MAAM,EAAE,UAAU,EAAE,MAAM,CAAC,CAAC,QAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,kBAAkB,CAAC,EAAE,CAAC;YAC7G,MAAM,CAAC,IAAI,CAAC,yBAAyB,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,SAAS;QACT,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,KAAK,SAAS,EAAE,CAAC;YAC5C,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,aAAa,GAAG,EAAE,EAAE,CAAC;gBACpE,MAAM,CAAC,IAAI,CAAC,iDAAiD,IAAI,CAAC,MAAM,CAAC,aAAa,EAAE,CAAC,CAAC;YAC5F,CAAC;QACH,CAAC;QAED,cAAc;QACd,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,CAAC,WAAW,GAAG,CAAC,EAAE,CAAC;YACzE,MAAM,CAAC,IAAI,CAAC,2CAA2C,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC,CAAC;QACpF,CAAC;QAED,OAAO;YACL,KAAK,EAAE,MAAM,CAAC,MAAM,KAAK,CAAC;YAC1B,MAAM;SACP,CAAC;IACJ,CAAC;IAED;;OAEG;IACH,UAAU,CAAC,UAAkB;QAC3B,MAAM,UAAU,GAAG,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;QACxD,EAAE,CAAC,aAAa,CAAC,UAAU,EAAE,UAAU,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACK,UAAU,CAAC,UAAmB;QACpC,MAAM,aAAa,GAAgB;YACjC,gBAAgB,EAAE,MAAM;YACxB,gBAAgB,EAAE,MAAM;YACxB,kBAAkB,EAAE,UAAU;YAC9B,mBAAmB,EAAE,IAAI;YACzB,mBAAmB,EAAE,IAAI;YACzB,qBAAqB,EAAE,IAAI;YAC3B,aAAa,EAAE,CAAC;YAChB,WAAW,EAAE,SAAS;YACtB,QAAQ,EAAE,yCAAyC;YACnD,WAAW,EAAE,MAAM;YACnB,oBAAoB,EAAE,IAAI;YAC1B,wBAAwB,EAAE,IAAI;YAC9B,SAAS,EAAE,QAAQ;SACpB,CAAC;QAEF,IAAI,CAAC,UAAU,EAAE,CAAC;YAChB,OAAO,aAAa,CAAC;QACvB,CAAC;QAED,IAAI,CAAC;YACH,IAAI,EAAE,CAAC,UAAU,CAAC,UAAU,CAAC,EAAE,CAAC;gBAC9B,MAAM,UAAU,GAAG,EAAE,CAAC,YAAY,CAAC,UAAU,EAAE,OAAO,CAAC,CAAC;gBACxD,MAAM,YAAY,GAAG,IAAI,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC;gBAC5C,OAAO,EAAE,GAAG,aAAa,EAAE,GAAG,YAAY,EAAE,CAAC;YAC/C,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,8BAA8B,UAAU,GAAG,EAAE,KAAK,CAAC,CAAC;QACnE,CAAC;QAED,OAAO,aAAa,CAAC;IACvB,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,OAAO;oBACL,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,OAAO,EAAE,SAAS,CAAC,OAAO;oBAC1B,WAAW,EAAE,SAAS,CAAC,WAAW;oBAClC,MAAM,EAAE,SAAS,CAAC,MAAM;oBACxB,IAAI,EAAE,SAAS,CAAC,IAAI;oBACpB,QAAQ,EAAE,SAAS,CAAC,QAAQ;oBAC5B,IAAI,EAAE,SAAS,CAAC,IAAI;iBACrB,CAAC;YACJ,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,QAAQ;QACR,OAAO;YACL,IAAI,EAAE,qBAAqB;YAC3B,WAAW,EAAE,qBAAqB;YAClC,OAAO,EAAE,OAAO;YAChB,WAAW,EAAE,+CAA+C;YAC5D,MAAM,EAAE,YAAY;YACpB,IAAI,EAAE,IAAI;YACV,QAAQ,EAAE,aAAa;YACvB,IAAI,EAAE,CAAC,OAAO,EAAE,iBAAiB,CAAC;SACnC,CAAC;IACJ,CAAC;IAED;;OAEG;IACK,YAAY;QAClB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,OAAO,SAAS,CAAC,QAAQ,IAAI,EAAE,CAAC;YAClC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,gCAAgC,EAAE,KAAK,CAAC,CAAC;QACxD,CAAC;QAED,OAAO,EAAE,CAAC;IACZ,CAAC;IAED;;OAEG;IACK,gBAAgB;QACtB,IAAI,CAAC;YACH,MAAM,aAAa,GAAG,IAAI,CAAC,IAAI,CAAC,OAAO,CAAC,GAAG,EAAE,EAAE,YAAY,CAAC,CAAC;YAC7D,IAAI,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,EAAE,CAAC;gBACjC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC,YAAY,CAAC,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC;gBACtE,OAAO,SAAS,CAAC,YAAY,IAAI,EAAE,CAAC;YACtC,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO,CAAC,IAAI,CAAC,oCAAoC,EAAE,KAAK,CAAC,CAAC;QAC5D,CAAC;QAED,OAAO;YACL,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;YAClB,SAAS,EAAE,IAAI;YACf,SAAS,EAAE,IAAI;YACf,cAAc,EAAE,IAAI;YACpB,YAAY,EAAE,IAAI;SACnB,CAAC;IACJ,CAAC;CACF;AAlND,gDAkNC"}
@@ -0,0 +1,102 @@
1
+ /**
2
+ * Kiro Skill 接口实现
3
+ * 处理 Skill 命令并格式化响应
4
+ */
5
+ import { ConversationContextManager } from '../agent/ConversationContext';
6
+ import { IntentUnderstandingEngine } from '../agent/IntentUnderstandingEngine';
7
+ import { DecisionEngine } from '../agent/DecisionEngine';
8
+ import { ExecutionOrchestrator } from '../agent/ExecutionOrchestrator';
9
+ import { ToolRegistry } from '../tools/ToolRegistry';
10
+ import { SkillConfigManager } from './SkillConfig';
11
+ import type { SkillContext, SkillResponse, SkillProgress, SkillMetadata, SkillCommand, SkillCapabilities } from './types';
12
+ /**
13
+ * Skill 接口
14
+ */
15
+ export declare class SkillInterface {
16
+ private contextManager;
17
+ private intentEngine;
18
+ private decisionEngine;
19
+ private orchestrator;
20
+ private toolRegistry;
21
+ private configManager;
22
+ private progressDisplay;
23
+ private progressCallback?;
24
+ constructor(contextManager: ConversationContextManager, intentEngine: IntentUnderstandingEngine, decisionEngine: DecisionEngine, orchestrator: ExecutionOrchestrator, toolRegistry: ToolRegistry, configManager: SkillConfigManager);
25
+ /**
26
+ * 获取 Skill 元数据
27
+ */
28
+ getMetadata(): SkillMetadata;
29
+ /**
30
+ * 获取命令列表
31
+ */
32
+ getCommands(): SkillCommand[];
33
+ /**
34
+ * 获取能力
35
+ */
36
+ getCapabilities(): SkillCapabilities;
37
+ /**
38
+ * 设置进度回调
39
+ */
40
+ setProgressCallback(callback: (progress: SkillProgress) => void): void;
41
+ /**
42
+ * 处理用户输入
43
+ */
44
+ handleUserInput(input: string, skillContext: SkillContext): Promise<SkillResponse>;
45
+ /**
46
+ * 处理命令
47
+ */
48
+ handleCommand(commandName: string, parameters: Record<string, any>, skillContext: SkillContext): Promise<SkillResponse>;
49
+ /**
50
+ * 处理 generate_from_figma 命令
51
+ */
52
+ private handleGenerateFromFigma;
53
+ /**
54
+ * 处理 update_component 命令
55
+ */
56
+ private handleUpdateComponent;
57
+ /**
58
+ * 处理 analyze_design 命令
59
+ */
60
+ private handleAnalyzeDesign;
61
+ /**
62
+ * 格式化消息响应
63
+ */
64
+ private formatMessageResponse;
65
+ /**
66
+ * 格式化文件响应
67
+ */
68
+ private formatFilesResponse;
69
+ /**
70
+ * 格式化问题响应
71
+ */
72
+ private formatQuestionResponse;
73
+ /**
74
+ * 格式化错误响应
75
+ */
76
+ private formatErrorResponse;
77
+ /**
78
+ * 格式化成功响应
79
+ */
80
+ private formatSuccessResponse;
81
+ /**
82
+ * 提取生成的文件
83
+ */
84
+ private extractGeneratedFiles;
85
+ /**
86
+ * 检测文件语言
87
+ */
88
+ private detectLanguage;
89
+ /**
90
+ * 生成操作建议
91
+ */
92
+ private generateActions;
93
+ /**
94
+ * 更新上下文
95
+ */
96
+ private updateContextFromSkillContext;
97
+ /**
98
+ * 报告进度
99
+ */
100
+ private reportProgress;
101
+ }
102
+ //# sourceMappingURL=SkillInterface.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"SkillInterface.d.ts","sourceRoot":"","sources":["../../src/skill/SkillInterface.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,EAAE,0BAA0B,EAAE,MAAM,8BAA8B,CAAC;AAC1E,OAAO,EAAE,yBAAyB,EAAE,MAAM,oCAAoC,CAAC;AAC/E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AACzD,OAAO,EAAE,qBAAqB,EAAE,MAAM,gCAAgC,CAAC;AACvE,OAAO,EAAE,YAAY,EAAE,MAAM,uBAAuB,CAAC;AAErD,OAAO,EAAE,kBAAkB,EAAE,MAAM,eAAe,CAAC;AACnD,OAAO,KAAK,EACV,YAAY,EACZ,aAAa,EACb,aAAa,EACb,aAAa,EACb,YAAY,EACZ,iBAAiB,EAGlB,MAAM,SAAS,CAAC;AAEjB;;GAEG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAA6B;IACnD,OAAO,CAAC,YAAY,CAA4B;IAChD,OAAO,CAAC,cAAc,CAAiB;IACvC,OAAO,CAAC,YAAY,CAAwB;IAC5C,OAAO,CAAC,YAAY,CAAe;IACnC,OAAO,CAAC,aAAa,CAAqB;IAC1C,OAAO,CAAC,eAAe,CAAkB;IACzC,OAAO,CAAC,gBAAgB,CAAC,CAAoC;gBAG3D,cAAc,EAAE,0BAA0B,EAC1C,YAAY,EAAE,yBAAyB,EACvC,cAAc,EAAE,cAAc,EAC9B,YAAY,EAAE,qBAAqB,EACnC,YAAY,EAAE,YAAY,EAC1B,aAAa,EAAE,kBAAkB;IAgBnC;;OAEG;IACH,WAAW,IAAI,aAAa;IAI5B;;OAEG;IACH,WAAW,IAAI,YAAY,EAAE;IAI7B;;OAEG;IACH,eAAe,IAAI,iBAAiB;IAIpC;;OAEG;IACH,mBAAmB,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,KAAK,IAAI,GAAG,IAAI;IAItE;;OAEG;IACG,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,YAAY,EAAE,YAAY,GAAG,OAAO,CAAC,aAAa,CAAC;IAsExF;;OAEG;IACG,aAAa,CACjB,WAAW,EAAE,MAAM,EACnB,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAC/B,YAAY,EAAE,YAAY,GACzB,OAAO,CAAC,aAAa,CAAC;IAsBzB;;OAEG;YACW,uBAAuB;IAqErC;;OAEG;YACW,qBAAqB;IAuEnC;;OAEG;YACW,mBAAmB;IAiEjC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAQ7B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAe3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAW9B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAQ3B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAW7B;;OAEG;IACH,OAAO,CAAC,qBAAqB;IAoB7B;;OAEG;IACH,OAAO,CAAC,cAAc;IAgBtB;;OAEG;IACH,OAAO,CAAC,eAAe;IA+BvB;;OAEG;IACH,OAAO,CAAC,6BAA6B;IAcrC;;OAEG;IACH,OAAO,CAAC,cAAc;CAKvB"}