mycontext-cli 0.1.2 → 0.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.
- package/README.md +264 -71
- package/dist/agents/implementations/CodeGenSubAgent.d.ts +48 -0
- package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -0
- package/dist/agents/implementations/CodeGenSubAgent.js +1356 -0
- package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -0
- package/dist/agents/implementations/DocsSubAgent.d.ts +35 -0
- package/dist/agents/implementations/DocsSubAgent.d.ts.map +1 -0
- package/dist/agents/implementations/DocsSubAgent.js +351 -0
- package/dist/agents/implementations/DocsSubAgent.js.map +1 -0
- package/dist/agents/implementations/EnhancementAgent.d.ts +119 -0
- package/dist/agents/implementations/EnhancementAgent.d.ts.map +1 -0
- package/dist/agents/implementations/EnhancementAgent.js +598 -0
- package/dist/agents/implementations/EnhancementAgent.js.map +1 -0
- package/dist/agents/implementations/QASubAgent.d.ts +31 -0
- package/dist/agents/implementations/QASubAgent.d.ts.map +1 -0
- package/dist/agents/implementations/QASubAgent.js +190 -0
- package/dist/agents/implementations/QASubAgent.js.map +1 -0
- package/dist/agents/interfaces/SubAgent.d.ts +287 -0
- package/dist/agents/interfaces/SubAgent.d.ts.map +1 -0
- package/dist/agents/interfaces/SubAgent.js +7 -0
- package/dist/agents/interfaces/SubAgent.js.map +1 -0
- package/dist/agents/orchestrator/SubAgentOrchestrator.d.ts +59 -0
- package/dist/agents/orchestrator/SubAgentOrchestrator.d.ts.map +1 -0
- package/dist/agents/orchestrator/SubAgentOrchestrator.js +305 -0
- package/dist/agents/orchestrator/SubAgentOrchestrator.js.map +1 -0
- package/dist/agents/personalities/definitions.d.ts +32 -0
- package/dist/agents/personalities/definitions.d.ts.map +1 -0
- package/dist/agents/personalities/definitions.js +359 -0
- package/dist/agents/personalities/definitions.js.map +1 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts +1 -0
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.js +25 -91
- package/dist/cli/src/agents/implementations/CodeGenSubAgent.js.map +1 -1
- package/dist/cli/src/agents/implementations/EnhancementAgent.d.ts +120 -0
- package/dist/cli/src/agents/implementations/EnhancementAgent.d.ts.map +1 -0
- package/dist/cli/src/agents/implementations/EnhancementAgent.js +606 -0
- package/dist/cli/src/agents/implementations/EnhancementAgent.js.map +1 -0
- package/dist/cli/src/agents/interfaces/SubAgent.d.ts +130 -0
- package/dist/cli/src/agents/interfaces/SubAgent.d.ts.map +1 -1
- package/dist/cli/src/agents/personalities/definitions.d.ts +1 -1
- package/dist/cli/src/agents/personalities/definitions.d.ts.map +1 -1
- package/dist/cli/src/agents/personalities/definitions.js +31 -2
- package/dist/cli/src/agents/personalities/definitions.js.map +1 -1
- package/dist/cli/src/cli.js +12 -0
- package/dist/cli/src/cli.js.map +1 -1
- package/dist/cli/src/commands/enhance.d.ts +28 -0
- package/dist/cli/src/commands/enhance.d.ts.map +1 -0
- package/dist/cli/src/commands/enhance.js +246 -0
- package/dist/cli/src/commands/enhance.js.map +1 -0
- package/dist/cli/src/commands/generate-components.d.ts +0 -1
- package/dist/cli/src/commands/generate-components.d.ts.map +1 -1
- package/dist/cli/src/commands/generate-components.js +2 -2
- package/dist/cli/src/commands/generate-components.js.map +1 -1
- package/dist/cli/src/commands/generate.d.ts.map +1 -1
- package/dist/cli/src/commands/generate.js +8 -22
- package/dist/cli/src/commands/generate.js.map +1 -1
- package/dist/cli/src/commands/list.d.ts.map +1 -1
- package/dist/cli/src/commands/list.js +2 -1
- package/dist/cli/src/commands/list.js.map +1 -1
- package/dist/cli/src/commands/model.d.ts +25 -0
- package/dist/cli/src/commands/model.d.ts.map +1 -0
- package/dist/cli/src/commands/model.js +317 -0
- package/dist/cli/src/commands/model.js.map +1 -0
- package/dist/cli/src/commands/setup.d.ts +35 -0
- package/dist/cli/src/commands/setup.d.ts.map +1 -0
- package/dist/cli/src/commands/setup.js +412 -0
- package/dist/cli/src/commands/setup.js.map +1 -0
- package/dist/cli/src/config/dependencies.json +180 -0
- package/dist/cli/src/utils/componentValidator.d.ts +60 -0
- package/dist/cli/src/utils/componentValidator.d.ts.map +1 -0
- package/dist/cli/src/utils/componentValidator.js +191 -0
- package/dist/cli/src/utils/componentValidator.js.map +1 -0
- package/dist/cli/src/utils/designTokenExtractor.d.ts +94 -0
- package/dist/cli/src/utils/designTokenExtractor.d.ts.map +1 -0
- package/dist/cli/src/utils/designTokenExtractor.js +231 -0
- package/dist/cli/src/utils/designTokenExtractor.js.map +1 -0
- package/dist/cli/src/utils/ollamaClient.d.ts +37 -0
- package/dist/cli/src/utils/ollamaClient.d.ts.map +1 -0
- package/dist/cli/src/utils/ollamaClient.js +213 -0
- package/dist/cli/src/utils/ollamaClient.js.map +1 -0
- package/dist/cli/src/utils/spinner.d.ts +2 -0
- package/dist/cli/src/utils/spinner.d.ts.map +1 -1
- package/dist/cli/src/utils/spinner.js +7 -0
- package/dist/cli/src/utils/spinner.js.map +1 -1
- package/dist/cli.d.ts +3 -0
- package/dist/cli.d.ts.map +1 -0
- package/dist/cli.js +299 -0
- package/dist/cli.js.map +1 -0
- package/dist/commands/auth.d.ts +23 -0
- package/dist/commands/auth.d.ts.map +1 -0
- package/dist/commands/auth.js +212 -0
- package/dist/commands/auth.js.map +1 -0
- package/dist/commands/enhance.d.ts +25 -0
- package/dist/commands/enhance.d.ts.map +1 -0
- package/dist/commands/enhance.js +242 -0
- package/dist/commands/enhance.js.map +1 -0
- package/dist/commands/generate-components.d.ts +27 -0
- package/dist/commands/generate-components.d.ts.map +1 -0
- package/dist/commands/generate-components.js +680 -0
- package/dist/commands/generate-components.js.map +1 -0
- package/dist/commands/generate.d.ts +23 -0
- package/dist/commands/generate.d.ts.map +1 -0
- package/dist/commands/generate.js +222 -0
- package/dist/commands/generate.js.map +1 -0
- package/dist/commands/init.d.ts +13 -0
- package/dist/commands/init.d.ts.map +1 -0
- package/dist/commands/init.js +91 -0
- package/dist/commands/init.js.map +1 -0
- package/dist/commands/list.d.ts +17 -0
- package/dist/commands/list.d.ts.map +1 -0
- package/dist/commands/list.js +210 -0
- package/dist/commands/list.js.map +1 -0
- package/dist/commands/model.d.ts +25 -0
- package/dist/commands/model.d.ts.map +1 -0
- package/dist/commands/model.js +317 -0
- package/dist/commands/model.js.map +1 -0
- package/dist/commands/preview.d.ts +23 -0
- package/dist/commands/preview.d.ts.map +1 -0
- package/dist/commands/preview.js +1200 -0
- package/dist/commands/preview.js.map +1 -0
- package/dist/commands/setup.d.ts +35 -0
- package/dist/commands/setup.d.ts.map +1 -0
- package/dist/commands/setup.js +412 -0
- package/dist/commands/setup.js.map +1 -0
- package/dist/commands/status.d.ts +21 -0
- package/dist/commands/status.d.ts.map +1 -0
- package/dist/commands/status.js +287 -0
- package/dist/commands/status.js.map +1 -0
- package/dist/commands/validate.d.ts +22 -0
- package/dist/commands/validate.d.ts.map +1 -0
- package/dist/commands/validate.js +259 -0
- package/dist/commands/validate.js.map +1 -0
- package/dist/types/index.d.ts +154 -0
- package/dist/types/index.d.ts.map +1 -0
- package/dist/types/index.js +3 -0
- package/dist/types/index.js.map +1 -0
- package/dist/utils/apiKeyManager.d.ts +137 -0
- package/dist/utils/apiKeyManager.d.ts.map +1 -0
- package/dist/utils/apiKeyManager.js +471 -0
- package/dist/utils/apiKeyManager.js.map +1 -0
- package/dist/utils/componentValidator.d.ts +60 -0
- package/dist/utils/componentValidator.d.ts.map +1 -0
- package/dist/utils/componentValidator.js +191 -0
- package/dist/utils/componentValidator.js.map +1 -0
- package/dist/utils/designTokenExtractor.d.ts +94 -0
- package/dist/utils/designTokenExtractor.d.ts.map +1 -0
- package/dist/utils/designTokenExtractor.js +231 -0
- package/dist/utils/designTokenExtractor.js.map +1 -0
- package/dist/utils/errorHandler.d.ts +105 -0
- package/dist/utils/errorHandler.d.ts.map +1 -0
- package/dist/utils/errorHandler.js +332 -0
- package/dist/utils/errorHandler.js.map +1 -0
- package/dist/utils/fileSystem.d.ts +58 -0
- package/dist/utils/fileSystem.d.ts.map +1 -0
- package/dist/utils/fileSystem.js +230 -0
- package/dist/utils/fileSystem.js.map +1 -0
- package/dist/utils/githubModels.d.ts +53 -0
- package/dist/utils/githubModels.d.ts.map +1 -0
- package/dist/utils/githubModels.js +239 -0
- package/dist/utils/githubModels.js.map +1 -0
- package/dist/utils/ollamaClient.d.ts +37 -0
- package/dist/utils/ollamaClient.d.ts.map +1 -0
- package/dist/utils/ollamaClient.js +213 -0
- package/dist/utils/ollamaClient.js.map +1 -0
- package/dist/utils/spinner.d.ts +30 -0
- package/dist/utils/spinner.d.ts.map +1 -0
- package/dist/utils/spinner.js +119 -0
- package/dist/utils/spinner.js.map +1 -0
- package/package.json +11 -9
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentValidator.d.ts","sourceRoot":"","sources":["../../../../src/utils/componentValidator.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAEH,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,MAAM,EAAE,eAAe,EAAE,CAAC;IAC1B,QAAQ,EAAE,iBAAiB,EAAE,CAAC;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,WAAW,EAAE,MAAM,EAAE,CAAC;CACvB;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,YAAY,GAAG,eAAe,CAAC;IACxE,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,OAAO,GAAG,SAAS,CAAC;CAC/B;AAED,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,aAAa,GAAG,eAAe,GAAG,eAAe,CAAC;IACxD,OAAO,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,kBAAkB;IAC7B;;OAEG;IACG,cAAc,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IA2B7D;;OAEG;IACG,mBAAmB,CACvB,aAAa,EAAE,MAAM,EACrB,WAAW,EAAE;QACX,eAAe,EAAE,MAAM,CAAC;QACxB,eAAe,EAAE,OAAO,GAAG,MAAM,CAAC;QAClC,SAAS,EAAE,QAAQ,GAAG,QAAQ,CAAC;KAChC,GACA,OAAO,CAAC,mBAAmB,CAAC;IA+C/B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IA2B3B;;OAEG;IACH,OAAO,CAAC,uBAAuB;IAY/B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA8B1B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA8BxB;;OAEG;IACH,OAAO,CAAC,cAAc;CAWvB"}
|
|
@@ -0,0 +1,191 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Component Validator
|
|
4
|
+
*
|
|
5
|
+
* Validates React components for syntax, structure, and best practices.
|
|
6
|
+
* Used by the EnhancementAgent to ensure quality and compliance.
|
|
7
|
+
*/
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.ComponentValidator = void 0;
|
|
10
|
+
class ComponentValidator {
|
|
11
|
+
/**
|
|
12
|
+
* Validate component syntax
|
|
13
|
+
*/
|
|
14
|
+
async validateSyntax(componentCode) {
|
|
15
|
+
try {
|
|
16
|
+
// Basic syntax validation
|
|
17
|
+
if (!componentCode.includes('export default')) {
|
|
18
|
+
throw new Error('Component must have default export');
|
|
19
|
+
}
|
|
20
|
+
if (!componentCode.includes('function') && !componentCode.includes('const')) {
|
|
21
|
+
throw new Error('Component must be a function or const');
|
|
22
|
+
}
|
|
23
|
+
if (!componentCode.includes('return')) {
|
|
24
|
+
throw new Error('Component must have return statement');
|
|
25
|
+
}
|
|
26
|
+
// Check for basic React imports
|
|
27
|
+
if (!componentCode.includes('import React') && !componentCode.includes('import { useState }')) {
|
|
28
|
+
throw new Error('Component must import React or React hooks');
|
|
29
|
+
}
|
|
30
|
+
return true;
|
|
31
|
+
}
|
|
32
|
+
catch (error) {
|
|
33
|
+
console.error('Syntax validation failed:', error);
|
|
34
|
+
return false;
|
|
35
|
+
}
|
|
36
|
+
}
|
|
37
|
+
/**
|
|
38
|
+
* Validate enhancement against constraints
|
|
39
|
+
*/
|
|
40
|
+
async validateEnhancement(componentCode, constraints) {
|
|
41
|
+
const errors = [];
|
|
42
|
+
const warnings = [];
|
|
43
|
+
const suggestions = [];
|
|
44
|
+
// Check dependencies
|
|
45
|
+
const dependencies = this.extractDependencies(componentCode);
|
|
46
|
+
if (dependencies.length > constraints.maxDependencies) {
|
|
47
|
+
errors.push({
|
|
48
|
+
type: "structure",
|
|
49
|
+
message: `Too many dependencies: ${dependencies.length} > ${constraints.maxDependencies}`,
|
|
50
|
+
severity: "error",
|
|
51
|
+
});
|
|
52
|
+
}
|
|
53
|
+
// Check for shadcn/ui usage if required
|
|
54
|
+
if (constraints.uiLibrary === "shadcn") {
|
|
55
|
+
const shadcnComponents = this.extractShadcnComponents(componentCode);
|
|
56
|
+
if (shadcnComponents.length === 0) {
|
|
57
|
+
warnings.push({
|
|
58
|
+
type: "best-practice",
|
|
59
|
+
message: "No shadcn/ui components found",
|
|
60
|
+
suggestion: "Consider using shadcn/ui components for consistency",
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
}
|
|
64
|
+
// Check accessibility
|
|
65
|
+
const accessibilityIssues = this.checkAccessibility(componentCode);
|
|
66
|
+
warnings.push(...accessibilityIssues);
|
|
67
|
+
// Check performance
|
|
68
|
+
const performanceIssues = this.checkPerformance(componentCode);
|
|
69
|
+
warnings.push(...performanceIssues);
|
|
70
|
+
// Calculate score
|
|
71
|
+
const score = this.calculateScore(errors, warnings);
|
|
72
|
+
return {
|
|
73
|
+
isValid: errors.length === 0,
|
|
74
|
+
errors,
|
|
75
|
+
warnings,
|
|
76
|
+
score,
|
|
77
|
+
suggestions,
|
|
78
|
+
};
|
|
79
|
+
}
|
|
80
|
+
/**
|
|
81
|
+
* Extract dependencies from component code
|
|
82
|
+
*/
|
|
83
|
+
extractDependencies(componentCode) {
|
|
84
|
+
const dependencies = [];
|
|
85
|
+
// React hooks
|
|
86
|
+
if (componentCode.includes('useState'))
|
|
87
|
+
dependencies.push('useState');
|
|
88
|
+
if (componentCode.includes('useEffect'))
|
|
89
|
+
dependencies.push('useEffect');
|
|
90
|
+
if (componentCode.includes('useCallback'))
|
|
91
|
+
dependencies.push('useCallback');
|
|
92
|
+
if (componentCode.includes('useMemo'))
|
|
93
|
+
dependencies.push('useMemo');
|
|
94
|
+
if (componentCode.includes('useRef'))
|
|
95
|
+
dependencies.push('useRef');
|
|
96
|
+
if (componentCode.includes('useContext'))
|
|
97
|
+
dependencies.push('useContext');
|
|
98
|
+
// shadcn/ui components
|
|
99
|
+
const shadcnComponents = [
|
|
100
|
+
'Button', 'Input', 'Card', 'Dialog', 'Modal', 'Select', 'Checkbox',
|
|
101
|
+
'RadioGroup', 'Textarea', 'Switch', 'Slider', 'Progress', 'Badge',
|
|
102
|
+
'Avatar', 'Alert', 'Toast', 'Tooltip', 'Popover', 'DropdownMenu'
|
|
103
|
+
];
|
|
104
|
+
shadcnComponents.forEach(component => {
|
|
105
|
+
if (componentCode.includes(component)) {
|
|
106
|
+
dependencies.push(`@/components/ui/${component.toLowerCase()}`);
|
|
107
|
+
}
|
|
108
|
+
});
|
|
109
|
+
return dependencies;
|
|
110
|
+
}
|
|
111
|
+
/**
|
|
112
|
+
* Extract shadcn/ui components
|
|
113
|
+
*/
|
|
114
|
+
extractShadcnComponents(componentCode) {
|
|
115
|
+
const shadcnComponents = [
|
|
116
|
+
'Button', 'Input', 'Card', 'Dialog', 'Modal', 'Select', 'Checkbox',
|
|
117
|
+
'RadioGroup', 'Textarea', 'Switch', 'Slider', 'Progress', 'Badge',
|
|
118
|
+
'Avatar', 'Alert', 'Toast', 'Tooltip', 'Popover', 'DropdownMenu'
|
|
119
|
+
];
|
|
120
|
+
return shadcnComponents.filter(component => componentCode.includes(component));
|
|
121
|
+
}
|
|
122
|
+
/**
|
|
123
|
+
* Check accessibility issues
|
|
124
|
+
*/
|
|
125
|
+
checkAccessibility(componentCode) {
|
|
126
|
+
const warnings = [];
|
|
127
|
+
if (!componentCode.includes('aria-label') && !componentCode.includes('aria-labelledby')) {
|
|
128
|
+
warnings.push({
|
|
129
|
+
type: "accessibility",
|
|
130
|
+
message: "Missing ARIA labels",
|
|
131
|
+
suggestion: "Add aria-label or aria-labelledby for better screen reader support",
|
|
132
|
+
});
|
|
133
|
+
}
|
|
134
|
+
if (componentCode.includes('onClick') && !componentCode.includes('onKeyDown')) {
|
|
135
|
+
warnings.push({
|
|
136
|
+
type: "accessibility",
|
|
137
|
+
message: "Missing keyboard navigation",
|
|
138
|
+
suggestion: "Add onKeyDown handler for keyboard accessibility",
|
|
139
|
+
});
|
|
140
|
+
}
|
|
141
|
+
if (componentCode.includes('button') && !componentCode.includes('type=')) {
|
|
142
|
+
warnings.push({
|
|
143
|
+
type: "accessibility",
|
|
144
|
+
message: "Button missing type attribute",
|
|
145
|
+
suggestion: "Add type='button' to prevent form submission",
|
|
146
|
+
});
|
|
147
|
+
}
|
|
148
|
+
return warnings;
|
|
149
|
+
}
|
|
150
|
+
/**
|
|
151
|
+
* Check performance issues
|
|
152
|
+
*/
|
|
153
|
+
checkPerformance(componentCode) {
|
|
154
|
+
const warnings = [];
|
|
155
|
+
if (componentCode.includes('map') && !componentCode.includes('key=')) {
|
|
156
|
+
warnings.push({
|
|
157
|
+
type: "performance",
|
|
158
|
+
message: "Missing key prop in map",
|
|
159
|
+
suggestion: "Add unique key prop to mapped elements",
|
|
160
|
+
});
|
|
161
|
+
}
|
|
162
|
+
if (componentCode.includes('useState') && !componentCode.includes('useCallback')) {
|
|
163
|
+
warnings.push({
|
|
164
|
+
type: "performance",
|
|
165
|
+
message: "Consider using useCallback",
|
|
166
|
+
suggestion: "Use useCallback for event handlers to prevent unnecessary re-renders",
|
|
167
|
+
});
|
|
168
|
+
}
|
|
169
|
+
if (componentCode.includes('useEffect') && !componentCode.includes('dependencies')) {
|
|
170
|
+
warnings.push({
|
|
171
|
+
type: "performance",
|
|
172
|
+
message: "Missing useEffect dependencies",
|
|
173
|
+
suggestion: "Add dependency array to useEffect to prevent infinite loops",
|
|
174
|
+
});
|
|
175
|
+
}
|
|
176
|
+
return warnings;
|
|
177
|
+
}
|
|
178
|
+
/**
|
|
179
|
+
* Calculate validation score
|
|
180
|
+
*/
|
|
181
|
+
calculateScore(errors, warnings) {
|
|
182
|
+
let score = 100;
|
|
183
|
+
// Deduct points for errors
|
|
184
|
+
score -= errors.length * 20;
|
|
185
|
+
// Deduct points for warnings
|
|
186
|
+
score -= warnings.length * 5;
|
|
187
|
+
return Math.max(0, score);
|
|
188
|
+
}
|
|
189
|
+
}
|
|
190
|
+
exports.ComponentValidator = ComponentValidator;
|
|
191
|
+
//# sourceMappingURL=componentValidator.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"componentValidator.js","sourceRoot":"","sources":["../../../../src/utils/componentValidator.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,94 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Design Token Extractor
|
|
3
|
+
*
|
|
4
|
+
* Extracts design tokens from React component code including colors, spacing, typography, shadows, and animations.
|
|
5
|
+
*/
|
|
6
|
+
export interface DesignTokens {
|
|
7
|
+
colors: ColorTokens;
|
|
8
|
+
spacing: SpacingTokens;
|
|
9
|
+
typography: TypographyTokens;
|
|
10
|
+
shadows: ShadowTokens;
|
|
11
|
+
borderRadius: BorderRadiusTokens;
|
|
12
|
+
animations: AnimationTokens;
|
|
13
|
+
}
|
|
14
|
+
export interface ColorTokens {
|
|
15
|
+
primary: string[];
|
|
16
|
+
secondary: string[];
|
|
17
|
+
accent: string[];
|
|
18
|
+
neutral: string[];
|
|
19
|
+
success: string[];
|
|
20
|
+
warning: string[];
|
|
21
|
+
error: string[];
|
|
22
|
+
}
|
|
23
|
+
export interface SpacingTokens {
|
|
24
|
+
xs: string;
|
|
25
|
+
sm: string;
|
|
26
|
+
md: string;
|
|
27
|
+
lg: string;
|
|
28
|
+
xl: string;
|
|
29
|
+
"2xl": string;
|
|
30
|
+
"3xl": string;
|
|
31
|
+
}
|
|
32
|
+
export interface TypographyTokens {
|
|
33
|
+
fontFamily: string[];
|
|
34
|
+
fontSize: string[];
|
|
35
|
+
fontWeight: string[];
|
|
36
|
+
lineHeight: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface ShadowTokens {
|
|
39
|
+
sm: string;
|
|
40
|
+
md: string;
|
|
41
|
+
lg: string;
|
|
42
|
+
xl: string;
|
|
43
|
+
}
|
|
44
|
+
export interface BorderRadiusTokens {
|
|
45
|
+
sm: string;
|
|
46
|
+
md: string;
|
|
47
|
+
lg: string;
|
|
48
|
+
xl: string;
|
|
49
|
+
full: string;
|
|
50
|
+
}
|
|
51
|
+
export interface AnimationTokens {
|
|
52
|
+
duration: string[];
|
|
53
|
+
easing: string[];
|
|
54
|
+
properties: string[];
|
|
55
|
+
}
|
|
56
|
+
export declare class DesignTokenExtractor {
|
|
57
|
+
/**
|
|
58
|
+
* Extract design tokens from component code
|
|
59
|
+
*/
|
|
60
|
+
extractTokens(componentCode: string): Promise<DesignTokens>;
|
|
61
|
+
/**
|
|
62
|
+
* Extract color tokens from Tailwind classes
|
|
63
|
+
*/
|
|
64
|
+
private extractColors;
|
|
65
|
+
/**
|
|
66
|
+
* Extract spacing tokens
|
|
67
|
+
*/
|
|
68
|
+
private extractSpacing;
|
|
69
|
+
/**
|
|
70
|
+
* Extract typography tokens
|
|
71
|
+
*/
|
|
72
|
+
private extractTypography;
|
|
73
|
+
/**
|
|
74
|
+
* Extract shadow tokens
|
|
75
|
+
*/
|
|
76
|
+
private extractShadows;
|
|
77
|
+
/**
|
|
78
|
+
* Extract border radius tokens
|
|
79
|
+
*/
|
|
80
|
+
private extractBorderRadius;
|
|
81
|
+
/**
|
|
82
|
+
* Extract animation tokens
|
|
83
|
+
*/
|
|
84
|
+
private extractAnimations;
|
|
85
|
+
/**
|
|
86
|
+
* Map Tailwind color names to hex values
|
|
87
|
+
*/
|
|
88
|
+
private mapTailwindToHex;
|
|
89
|
+
/**
|
|
90
|
+
* Generate CSS custom properties from design tokens
|
|
91
|
+
*/
|
|
92
|
+
generateCSSVariables(tokens: DesignTokens): string;
|
|
93
|
+
}
|
|
94
|
+
//# sourceMappingURL=designTokenExtractor.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designTokenExtractor.d.ts","sourceRoot":"","sources":["../../../../src/utils/designTokenExtractor.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAEH,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE,WAAW,CAAC;IACpB,OAAO,EAAE,aAAa,CAAC;IACvB,UAAU,EAAE,gBAAgB,CAAC;IAC7B,OAAO,EAAE,YAAY,CAAC;IACtB,YAAY,EAAE,kBAAkB,CAAC;IACjC,UAAU,EAAE,eAAe,CAAC;CAC7B;AAED,MAAM,WAAW,WAAW;IAC1B,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,SAAS,EAAE,MAAM,EAAE,CAAC;IACpB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,OAAO,EAAE,MAAM,EAAE,CAAC;IAClB,KAAK,EAAE,MAAM,EAAE,CAAC;CACjB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,MAAM,WAAW,gBAAgB;IAC/B,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,UAAU,EAAE,MAAM,EAAE,CAAC;IACrB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,MAAM,WAAW,YAAY;IAC3B,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;CACZ;AAED,MAAM,WAAW,kBAAkB;IACjC,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,EAAE,EAAE,MAAM,CAAC;IACX,IAAI,EAAE,MAAM,CAAC;CACd;AAED,MAAM,WAAW,eAAe;IAC9B,QAAQ,EAAE,MAAM,EAAE,CAAC;IACnB,MAAM,EAAE,MAAM,EAAE,CAAC;IACjB,UAAU,EAAE,MAAM,EAAE,CAAC;CACtB;AAED,qBAAa,oBAAoB;IAC/B;;OAEG;IACG,aAAa,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAWjE;;OAEG;IACH,OAAO,CAAC,aAAa;IAsCrB;;OAEG;IACH,OAAO,CAAC,cAAc;IAkBtB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,cAAc;IAqBtB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAc3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAazB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA4DxB;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,YAAY,GAAG,MAAM;CAsCnD"}
|
|
@@ -0,0 +1,231 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Design Token Extractor
|
|
4
|
+
*
|
|
5
|
+
* Extracts design tokens from React component code including colors, spacing, typography, shadows, and animations.
|
|
6
|
+
*/
|
|
7
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
8
|
+
exports.DesignTokenExtractor = void 0;
|
|
9
|
+
class DesignTokenExtractor {
|
|
10
|
+
/**
|
|
11
|
+
* Extract design tokens from component code
|
|
12
|
+
*/
|
|
13
|
+
async extractTokens(componentCode) {
|
|
14
|
+
return {
|
|
15
|
+
colors: this.extractColors(componentCode),
|
|
16
|
+
spacing: this.extractSpacing(componentCode),
|
|
17
|
+
typography: this.extractTypography(componentCode),
|
|
18
|
+
shadows: this.extractShadows(componentCode),
|
|
19
|
+
borderRadius: this.extractBorderRadius(componentCode),
|
|
20
|
+
animations: this.extractAnimations(componentCode),
|
|
21
|
+
};
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Extract color tokens from Tailwind classes
|
|
25
|
+
*/
|
|
26
|
+
extractColors(componentCode) {
|
|
27
|
+
const colorPatterns = {
|
|
28
|
+
primary: /(?:bg-|text-|border-)(primary|blue-\d+|indigo-\d+|purple-\d+)/g,
|
|
29
|
+
secondary: /(?:bg-|text-|border-)(secondary|gray-\d+|slate-\d+)/g,
|
|
30
|
+
accent: /(?:bg-|text-|border-)(accent|emerald-\d+|teal-\d+|cyan-\d+)/g,
|
|
31
|
+
neutral: /(?:bg-|text-|border-)(neutral|zinc-\d+|stone-\d+)/g,
|
|
32
|
+
success: /(?:bg-|text-|border-)(success|green-\d+|emerald-\d+)/g,
|
|
33
|
+
warning: /(?:bg-|text-|border-)(warning|yellow-\d+|amber-\d+|orange-\d+)/g,
|
|
34
|
+
error: /(?:bg-|text-|border-)(error|red-\d+|rose-\d+)/g,
|
|
35
|
+
};
|
|
36
|
+
const colors = {
|
|
37
|
+
primary: [],
|
|
38
|
+
secondary: [],
|
|
39
|
+
accent: [],
|
|
40
|
+
neutral: [],
|
|
41
|
+
success: [],
|
|
42
|
+
warning: [],
|
|
43
|
+
error: [],
|
|
44
|
+
};
|
|
45
|
+
Object.entries(colorPatterns).forEach(([category, pattern]) => {
|
|
46
|
+
const matches = componentCode.match(pattern) || [];
|
|
47
|
+
const uniqueColors = [
|
|
48
|
+
...new Set(matches.map((match) => {
|
|
49
|
+
const color = match.split("-").slice(1).join("-");
|
|
50
|
+
return this.mapTailwindToHex(color);
|
|
51
|
+
})),
|
|
52
|
+
];
|
|
53
|
+
colors[category] = uniqueColors;
|
|
54
|
+
});
|
|
55
|
+
return colors;
|
|
56
|
+
}
|
|
57
|
+
/**
|
|
58
|
+
* Extract spacing tokens
|
|
59
|
+
*/
|
|
60
|
+
extractSpacing(componentCode) {
|
|
61
|
+
const spacingPattern = /(?:p-|m-|gap-|space-)(xs|sm|md|lg|xl|2xl|3xl)/g;
|
|
62
|
+
const matches = componentCode.match(spacingPattern) || [];
|
|
63
|
+
const uniqueSpacings = [
|
|
64
|
+
...new Set(matches.map((match) => match.split("-")[1])),
|
|
65
|
+
];
|
|
66
|
+
return {
|
|
67
|
+
xs: uniqueSpacings.includes("xs") ? "0.25rem" : "0.25rem",
|
|
68
|
+
sm: uniqueSpacings.includes("sm") ? "0.5rem" : "0.5rem",
|
|
69
|
+
md: uniqueSpacings.includes("md") ? "1rem" : "1rem",
|
|
70
|
+
lg: uniqueSpacings.includes("lg") ? "1.5rem" : "1.5rem",
|
|
71
|
+
xl: uniqueSpacings.includes("xl") ? "2rem" : "2rem",
|
|
72
|
+
"2xl": uniqueSpacings.includes("2xl") ? "3rem" : "3rem",
|
|
73
|
+
"3xl": uniqueSpacings.includes("3xl") ? "4rem" : "4rem",
|
|
74
|
+
};
|
|
75
|
+
}
|
|
76
|
+
/**
|
|
77
|
+
* Extract typography tokens
|
|
78
|
+
*/
|
|
79
|
+
extractTypography(componentCode) {
|
|
80
|
+
const fontFamilyPattern = /font-(sans|serif|mono)/g;
|
|
81
|
+
const fontSizePattern = /text-(xs|sm|base|lg|xl|2xl|3xl|4xl|5xl|6xl|7xl|8xl|9xl)/g;
|
|
82
|
+
const fontWeightPattern = /font-(thin|extralight|light|normal|medium|semibold|bold|extrabold|black)/g;
|
|
83
|
+
const lineHeightPattern = /leading-(none|tight|snug|normal|relaxed|loose)/g;
|
|
84
|
+
return {
|
|
85
|
+
fontFamily: [...new Set(componentCode.match(fontFamilyPattern) || [])],
|
|
86
|
+
fontSize: [...new Set(componentCode.match(fontSizePattern) || [])],
|
|
87
|
+
fontWeight: [...new Set(componentCode.match(fontWeightPattern) || [])],
|
|
88
|
+
lineHeight: [...new Set(componentCode.match(lineHeightPattern) || [])],
|
|
89
|
+
};
|
|
90
|
+
}
|
|
91
|
+
/**
|
|
92
|
+
* Extract shadow tokens
|
|
93
|
+
*/
|
|
94
|
+
extractShadows(componentCode) {
|
|
95
|
+
const shadowPattern = /shadow-(sm|md|lg|xl|2xl)/g;
|
|
96
|
+
const matches = componentCode.match(shadowPattern) || [];
|
|
97
|
+
const shadowMatches = matches.map((match) => match.split("-")[1]);
|
|
98
|
+
return {
|
|
99
|
+
sm: shadowMatches.includes("sm")
|
|
100
|
+
? "0 1px 2px 0 rgb(0 0 0 / 0.05)"
|
|
101
|
+
: "0 1px 2px 0 rgb(0 0 0 / 0.05)",
|
|
102
|
+
md: shadowMatches.includes("md")
|
|
103
|
+
? "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)"
|
|
104
|
+
: "0 4px 6px -1px rgb(0 0 0 / 0.1), 0 2px 4px -2px rgb(0 0 0 / 0.1)",
|
|
105
|
+
lg: shadowMatches.includes("lg")
|
|
106
|
+
? "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)"
|
|
107
|
+
: "0 10px 15px -3px rgb(0 0 0 / 0.1), 0 4px 6px -4px rgb(0 0 0 / 0.1)",
|
|
108
|
+
xl: shadowMatches.includes("xl")
|
|
109
|
+
? "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)"
|
|
110
|
+
: "0 20px 25px -5px rgb(0 0 0 / 0.1), 0 8px 10px -6px rgb(0 0 0 / 0.1)",
|
|
111
|
+
};
|
|
112
|
+
}
|
|
113
|
+
/**
|
|
114
|
+
* Extract border radius tokens
|
|
115
|
+
*/
|
|
116
|
+
extractBorderRadius(componentCode) {
|
|
117
|
+
const borderRadiusPattern = /rounded-(sm|md|lg|xl|2xl|3xl|full)/g;
|
|
118
|
+
const matches = componentCode.match(borderRadiusPattern) || [];
|
|
119
|
+
const radiusMatches = matches.map((match) => match.split("-")[1]);
|
|
120
|
+
return {
|
|
121
|
+
sm: radiusMatches.includes("sm") ? "0.125rem" : "0.125rem",
|
|
122
|
+
md: radiusMatches.includes("md") ? "0.375rem" : "0.375rem",
|
|
123
|
+
lg: radiusMatches.includes("lg") ? "0.5rem" : "0.5rem",
|
|
124
|
+
xl: radiusMatches.includes("xl") ? "0.75rem" : "0.75rem",
|
|
125
|
+
full: radiusMatches.includes("full") ? "9999px" : "9999px",
|
|
126
|
+
};
|
|
127
|
+
}
|
|
128
|
+
/**
|
|
129
|
+
* Extract animation tokens
|
|
130
|
+
*/
|
|
131
|
+
extractAnimations(componentCode) {
|
|
132
|
+
const durationPattern = /duration-(\d+)/g;
|
|
133
|
+
const easingPattern = /ease-(linear|in|out|in-out)/g;
|
|
134
|
+
const animationPattern = /animate-(pulse|bounce|spin|ping|pulse|bounce|spin|ping|wiggle|shake|fade-in|fade-out|slide-in|slide-out)/g;
|
|
135
|
+
return {
|
|
136
|
+
duration: [...new Set(componentCode.match(durationPattern) || [])],
|
|
137
|
+
easing: [...new Set(componentCode.match(easingPattern) || [])],
|
|
138
|
+
properties: [...new Set(componentCode.match(animationPattern) || [])],
|
|
139
|
+
};
|
|
140
|
+
}
|
|
141
|
+
/**
|
|
142
|
+
* Map Tailwind color names to hex values
|
|
143
|
+
*/
|
|
144
|
+
mapTailwindToHex(colorName) {
|
|
145
|
+
const colorMap = {
|
|
146
|
+
// Primary colors
|
|
147
|
+
primary: "#3b82f6",
|
|
148
|
+
"blue-500": "#3b82f6",
|
|
149
|
+
"blue-600": "#2563eb",
|
|
150
|
+
"blue-700": "#1d4ed8",
|
|
151
|
+
"indigo-500": "#6366f1",
|
|
152
|
+
"indigo-600": "#4f46e5",
|
|
153
|
+
"purple-500": "#8b5cf6",
|
|
154
|
+
"purple-600": "#7c3aed",
|
|
155
|
+
// Secondary colors
|
|
156
|
+
secondary: "#6b7280",
|
|
157
|
+
"gray-500": "#6b7280",
|
|
158
|
+
"gray-600": "#4b5563",
|
|
159
|
+
"slate-500": "#64748b",
|
|
160
|
+
"slate-600": "#475569",
|
|
161
|
+
// Accent colors
|
|
162
|
+
accent: "#8b5cf6",
|
|
163
|
+
"emerald-500": "#10b981",
|
|
164
|
+
"emerald-600": "#059669",
|
|
165
|
+
"teal-500": "#14b8a6",
|
|
166
|
+
"teal-600": "#0d9488",
|
|
167
|
+
"cyan-500": "#06b6d4",
|
|
168
|
+
"cyan-600": "#0891b2",
|
|
169
|
+
// Neutral colors
|
|
170
|
+
neutral: "#f3f4f6",
|
|
171
|
+
"zinc-500": "#71717a",
|
|
172
|
+
"zinc-600": "#52525b",
|
|
173
|
+
"stone-500": "#78716c",
|
|
174
|
+
"stone-600": "#57534e",
|
|
175
|
+
// Success colors
|
|
176
|
+
success: "#10b981",
|
|
177
|
+
"green-500": "#22c55e",
|
|
178
|
+
"green-600": "#16a34a",
|
|
179
|
+
// Warning colors
|
|
180
|
+
warning: "#f59e0b",
|
|
181
|
+
"yellow-500": "#eab308",
|
|
182
|
+
"yellow-600": "#ca8a04",
|
|
183
|
+
"amber-500": "#f59e0b",
|
|
184
|
+
"amber-600": "#d97706",
|
|
185
|
+
"orange-500": "#f97316",
|
|
186
|
+
"orange-600": "#ea580c",
|
|
187
|
+
// Error colors
|
|
188
|
+
error: "#ef4444",
|
|
189
|
+
"red-500": "#ef4444",
|
|
190
|
+
"red-600": "#dc2626",
|
|
191
|
+
"rose-500": "#f43f5e",
|
|
192
|
+
"rose-600": "#e11d48",
|
|
193
|
+
};
|
|
194
|
+
return colorMap[colorName] || "#000000";
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Generate CSS custom properties from design tokens
|
|
198
|
+
*/
|
|
199
|
+
generateCSSVariables(tokens) {
|
|
200
|
+
let css = ":root {\n";
|
|
201
|
+
// Colors
|
|
202
|
+
Object.entries(tokens.colors).forEach(([category, colors]) => {
|
|
203
|
+
colors.forEach((color, index) => {
|
|
204
|
+
css += ` --color-${category}-${index + 1}: ${color};\n`;
|
|
205
|
+
});
|
|
206
|
+
});
|
|
207
|
+
// Spacing
|
|
208
|
+
Object.entries(tokens.spacing).forEach(([size, value]) => {
|
|
209
|
+
css += ` --spacing-${size}: ${value};\n`;
|
|
210
|
+
});
|
|
211
|
+
// Typography
|
|
212
|
+
if (tokens.typography.fontFamily.length > 0) {
|
|
213
|
+
css += ` --font-family: ${tokens.typography.fontFamily.join(", ")};\n`;
|
|
214
|
+
}
|
|
215
|
+
if (tokens.typography.fontSize.length > 0) {
|
|
216
|
+
css += ` --font-size-base: ${tokens.typography.fontSize.includes("text-base") ? "1rem" : "1rem"};\n`;
|
|
217
|
+
}
|
|
218
|
+
// Shadows
|
|
219
|
+
Object.entries(tokens.shadows).forEach(([size, value]) => {
|
|
220
|
+
css += ` --shadow-${size}: ${value};\n`;
|
|
221
|
+
});
|
|
222
|
+
// Border radius
|
|
223
|
+
Object.entries(tokens.borderRadius).forEach(([size, value]) => {
|
|
224
|
+
css += ` --radius-${size}: ${value};\n`;
|
|
225
|
+
});
|
|
226
|
+
css += "}\n";
|
|
227
|
+
return css;
|
|
228
|
+
}
|
|
229
|
+
}
|
|
230
|
+
exports.DesignTokenExtractor = DesignTokenExtractor;
|
|
231
|
+
//# sourceMappingURL=designTokenExtractor.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"designTokenExtractor.js","sourceRoot":"","sources":["../../../../src/utils/designTokenExtractor.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
export interface OllamaModel {
|
|
2
|
+
name: string;
|
|
3
|
+
size: number;
|
|
4
|
+
modified_at: string;
|
|
5
|
+
digest: string;
|
|
6
|
+
}
|
|
7
|
+
export interface OllamaResponse {
|
|
8
|
+
model: string;
|
|
9
|
+
created_at: string;
|
|
10
|
+
response: string;
|
|
11
|
+
done: boolean;
|
|
12
|
+
}
|
|
13
|
+
export declare class OllamaClient {
|
|
14
|
+
private baseUrl;
|
|
15
|
+
private isAvailable;
|
|
16
|
+
constructor(baseUrl?: string);
|
|
17
|
+
checkConnection(): Promise<boolean>;
|
|
18
|
+
listModels(): Promise<OllamaModel[]>;
|
|
19
|
+
generateComponent(prompt: string, modelName?: string): Promise<string>;
|
|
20
|
+
createModel(modelName: string, modelfilePath: string): Promise<void>;
|
|
21
|
+
deleteModel(modelName: string): Promise<void>;
|
|
22
|
+
pullModel(modelName: string): Promise<void>;
|
|
23
|
+
getInstallationPath(): string;
|
|
24
|
+
isInstalled(): boolean;
|
|
25
|
+
getVersion(): Promise<string>;
|
|
26
|
+
getSystemInfo(): Promise<any>;
|
|
27
|
+
testConnection(): Promise<boolean>;
|
|
28
|
+
hasModel(modelName: string): Promise<boolean>;
|
|
29
|
+
backup(): Promise<void>;
|
|
30
|
+
getStats(): Promise<any>;
|
|
31
|
+
getStatus(): {
|
|
32
|
+
isAvailable: boolean;
|
|
33
|
+
baseUrl: string;
|
|
34
|
+
};
|
|
35
|
+
}
|
|
36
|
+
export default OllamaClient;
|
|
37
|
+
//# sourceMappingURL=ollamaClient.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"ollamaClient.d.ts","sourceRoot":"","sources":["../../../../src/utils/ollamaClient.ts"],"names":[],"mappings":"AAOA,MAAM,WAAW,WAAW;IAC1B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,cAAc;IAC7B,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,IAAI,EAAE,OAAO,CAAC;CACf;AAED,qBAAa,YAAY;IACvB,OAAO,CAAC,OAAO,CAAS;IACxB,OAAO,CAAC,WAAW,CAAkB;gBAEzB,OAAO,GAAE,MAAiC;IAIhD,eAAe,IAAI,OAAO,CAAC,OAAO,CAAC;IAanC,UAAU,IAAI,OAAO,CAAC,WAAW,EAAE,CAAC;IASpC,iBAAiB,CACrB,MAAM,EAAE,MAAM,EACd,SAAS,GAAE,MAA0B,GACpC,OAAO,CAAC,MAAM,CAAC;IAmBZ,WAAW,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAiBpE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAU7C,SAAS,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAcjD,mBAAmB,IAAI,MAAM;IAuB7B,WAAW,IAAI,OAAO;IAShB,UAAU,IAAI,OAAO,CAAC,MAAM,CAAC;IAS7B,aAAa,IAAI,OAAO,CAAC,GAAG,CAAC;IAU7B,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIlC,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAS7C,MAAM,IAAI,OAAO,CAAC,IAAI,CAAC;IAKvB,QAAQ,IAAI,OAAO,CAAC,GAAG,CAAC;IAmB9B,SAAS,IAAI;QAAE,WAAW,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAMvD;AAED,eAAe,YAAY,CAAC"}
|