mycontext-cli 2.0.26 → 2.0.28

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 (129) hide show
  1. package/README.md +36 -355
  2. package/dist/agents/implementations/CodeGenSubAgent.d.ts.map +1 -1
  3. package/dist/agents/implementations/CodeGenSubAgent.js +67 -14
  4. package/dist/agents/implementations/CodeGenSubAgent.js.map +1 -1
  5. package/dist/agents/implementations/DesignPipelineAgent.d.ts +80 -0
  6. package/dist/agents/implementations/DesignPipelineAgent.d.ts.map +1 -0
  7. package/dist/agents/implementations/DesignPipelineAgent.js +1406 -0
  8. package/dist/agents/implementations/DesignPipelineAgent.js.map +1 -0
  9. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts +67 -0
  10. package/dist/agents/implementations/FeatureAssemblyAgent.d.ts.map +1 -0
  11. package/dist/agents/implementations/FeatureAssemblyAgent.js +564 -0
  12. package/dist/agents/implementations/FeatureAssemblyAgent.js.map +1 -0
  13. package/dist/agents/implementations/PromptConstructorAgent.d.ts +10 -0
  14. package/dist/agents/implementations/PromptConstructorAgent.d.ts.map +1 -1
  15. package/dist/agents/implementations/PromptConstructorAgent.js +172 -12
  16. package/dist/agents/implementations/PromptConstructorAgent.js.map +1 -1
  17. package/dist/agents/implementations/RoleBasedGenerator.d.ts +52 -0
  18. package/dist/agents/implementations/RoleBasedGenerator.d.ts.map +1 -0
  19. package/dist/agents/implementations/RoleBasedGenerator.js +370 -0
  20. package/dist/agents/implementations/RoleBasedGenerator.js.map +1 -0
  21. package/dist/cli.js +65 -0
  22. package/dist/cli.js.map +1 -1
  23. package/dist/clients/ClaudeSDKClient.d.ts +48 -0
  24. package/dist/clients/ClaudeSDKClient.d.ts.map +1 -0
  25. package/dist/clients/ClaudeSDKClient.js +158 -0
  26. package/dist/clients/ClaudeSDKClient.js.map +1 -0
  27. package/dist/clients/MyContextAIClient.d.ts +73 -0
  28. package/dist/clients/MyContextAIClient.d.ts.map +1 -0
  29. package/dist/clients/MyContextAIClient.js +280 -0
  30. package/dist/clients/MyContextAIClient.js.map +1 -0
  31. package/dist/clients/ProviderChain.d.ts +87 -0
  32. package/dist/clients/ProviderChain.d.ts.map +1 -0
  33. package/dist/clients/ProviderChain.js +246 -0
  34. package/dist/clients/ProviderChain.js.map +1 -0
  35. package/dist/clients/XAIClient.d.ts +48 -0
  36. package/dist/clients/XAIClient.d.ts.map +1 -0
  37. package/dist/clients/XAIClient.js +152 -0
  38. package/dist/clients/XAIClient.js.map +1 -0
  39. package/dist/commands/assemble-features.d.ts +40 -0
  40. package/dist/commands/assemble-features.d.ts.map +1 -0
  41. package/dist/commands/assemble-features.js +383 -0
  42. package/dist/commands/assemble-features.js.map +1 -0
  43. package/dist/commands/clone-starter.d.ts +32 -0
  44. package/dist/commands/clone-starter.d.ts.map +1 -0
  45. package/dist/commands/clone-starter.js +218 -0
  46. package/dist/commands/clone-starter.js.map +1 -0
  47. package/dist/commands/design-analyze.d.ts +46 -0
  48. package/dist/commands/design-analyze.d.ts.map +1 -0
  49. package/dist/commands/design-analyze.js +232 -0
  50. package/dist/commands/design-analyze.js.map +1 -0
  51. package/dist/commands/generate-components.d.ts +1 -0
  52. package/dist/commands/generate-components.d.ts.map +1 -1
  53. package/dist/commands/generate-components.js +42 -9
  54. package/dist/commands/generate-components.js.map +1 -1
  55. package/dist/commands/generate.d.ts.map +1 -1
  56. package/dist/commands/generate.js +34 -1
  57. package/dist/commands/generate.js.map +1 -1
  58. package/dist/commands/setup-complete.d.ts.map +1 -1
  59. package/dist/commands/setup-complete.js +38 -2
  60. package/dist/commands/setup-complete.js.map +1 -1
  61. package/dist/commands/workflow.d.ts.map +1 -1
  62. package/dist/commands/workflow.js +86 -7
  63. package/dist/commands/workflow.js.map +1 -1
  64. package/dist/config/intent-dictionary.json +3700 -0
  65. package/dist/package.json +3 -1
  66. package/dist/services/IntentEnricher.d.ts +61 -0
  67. package/dist/services/IntentEnricher.d.ts.map +1 -0
  68. package/dist/services/IntentEnricher.js +318 -0
  69. package/dist/services/IntentEnricher.js.map +1 -0
  70. package/dist/services/IntentValidator.d.ts +114 -0
  71. package/dist/services/IntentValidator.d.ts.map +1 -0
  72. package/dist/services/IntentValidator.js +680 -0
  73. package/dist/services/IntentValidator.js.map +1 -0
  74. package/dist/types/design-pipeline.d.ts +300 -0
  75. package/dist/types/design-pipeline.d.ts.map +1 -0
  76. package/dist/types/design-pipeline.js +9 -0
  77. package/dist/types/design-pipeline.js.map +1 -0
  78. package/dist/types/feature-bundle.d.ts +239 -0
  79. package/dist/types/feature-bundle.d.ts.map +1 -0
  80. package/dist/types/feature-bundle.js +9 -0
  81. package/dist/types/feature-bundle.js.map +1 -0
  82. package/dist/types/index.d.ts +2 -0
  83. package/dist/types/index.d.ts.map +1 -1
  84. package/dist/types/index.js +2 -0
  85. package/dist/types/index.js.map +1 -1
  86. package/dist/types/intent-dictionary.d.ts +525 -0
  87. package/dist/types/intent-dictionary.d.ts.map +1 -0
  88. package/dist/types/intent-dictionary.js +11 -0
  89. package/dist/types/intent-dictionary.js.map +1 -0
  90. package/dist/types/role-permissions.d.ts +167 -0
  91. package/dist/types/role-permissions.d.ts.map +1 -0
  92. package/dist/types/role-permissions.js +9 -0
  93. package/dist/types/role-permissions.js.map +1 -0
  94. package/dist/utils/contextEnricher.d.ts +41 -0
  95. package/dist/utils/contextEnricher.d.ts.map +1 -0
  96. package/dist/utils/contextEnricher.js +327 -0
  97. package/dist/utils/contextEnricher.js.map +1 -0
  98. package/dist/utils/designFallbacks.d.ts +48 -0
  99. package/dist/utils/designFallbacks.d.ts.map +1 -0
  100. package/dist/utils/designFallbacks.js +885 -0
  101. package/dist/utils/designFallbacks.js.map +1 -0
  102. package/dist/utils/designManifestManager.d.ts +89 -0
  103. package/dist/utils/designManifestManager.d.ts.map +1 -0
  104. package/dist/utils/designManifestManager.js +533 -0
  105. package/dist/utils/designManifestManager.js.map +1 -0
  106. package/dist/utils/designPipelineStateManager.d.ts +63 -0
  107. package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
  108. package/dist/utils/designPipelineStateManager.js +174 -0
  109. package/dist/utils/designPipelineStateManager.js.map +1 -0
  110. package/dist/utils/envExampleGenerator.d.ts.map +1 -1
  111. package/dist/utils/envExampleGenerator.js +35 -171
  112. package/dist/utils/envExampleGenerator.js.map +1 -1
  113. package/dist/utils/featureBundleManager.d.ts +90 -0
  114. package/dist/utils/featureBundleManager.d.ts.map +1 -0
  115. package/dist/utils/featureBundleManager.js +340 -0
  116. package/dist/utils/featureBundleManager.js.map +1 -0
  117. package/dist/utils/githubCloner.d.ts +93 -0
  118. package/dist/utils/githubCloner.d.ts.map +1 -0
  119. package/dist/utils/githubCloner.js +305 -0
  120. package/dist/utils/githubCloner.js.map +1 -0
  121. package/dist/utils/rolePermissionMapper.d.ts +89 -0
  122. package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
  123. package/dist/utils/rolePermissionMapper.js +337 -0
  124. package/dist/utils/rolePermissionMapper.js.map +1 -0
  125. package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
  126. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
  127. package/dist/utils/unifiedDesignContextLoader.js +344 -0
  128. package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
  129. package/package.json +3 -1
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "mycontext-cli",
3
- "version": "2.0.26",
3
+ "version": "2.0.28",
4
4
  "description": "Component-first visual builder with zero-error guarantees. Generate and validate React/Next.js components one at a time, preview them visually, then scale to complete applications using Claude Agent SDK.",
5
5
  "main": "dist/cli.js",
6
6
  "bin": {
@@ -55,9 +55,11 @@
55
55
  "dotenv": "^17.2.3",
56
56
  "dotenv-expand": "^12.0.3",
57
57
  "fs-extra": "^11.1.1",
58
+ "fuse.js": "^7.1.0",
58
59
  "glob": "^10.3.10",
59
60
  "inquirer": "^9.2.12",
60
61
  "node-fetch": "^2.7.0",
62
+ "openai": "^6.2.0",
61
63
  "ora": "^7.0.1",
62
64
  "prompts": "^2.4.2",
63
65
  "sonner": "^2.0.7",
@@ -0,0 +1,61 @@
1
+ import { IntentValidationReport, EnrichedComponentSpec } from "../types/intent-dictionary";
2
+ import { FunctionalSummary, VisualSystem } from "../types/design-pipeline";
3
+ /**
4
+ * IntentEnricher Service
5
+ *
6
+ * Transforms validated intents into enriched component specifications
7
+ * with expanded templates, design token mappings, and full type definitions.
8
+ */
9
+ export declare class IntentEnricher {
10
+ private dictionaryPath;
11
+ constructor();
12
+ /**
13
+ * Enrich validated intents into component specifications
14
+ */
15
+ enrichComponentDefinitions(summary: FunctionalSummary, validation: IntentValidationReport, visualSystem?: VisualSystem): Promise<EnrichedComponentSpec[]>;
16
+ /**
17
+ * Enrich a single validated intent
18
+ */
19
+ private enrichSingleIntent;
20
+ /**
21
+ * Generate component name from intent and context
22
+ */
23
+ private generateComponentName;
24
+ /**
25
+ * Get appropriate suffix for component type
26
+ */
27
+ private getComponentSuffix;
28
+ /**
29
+ * Convert string to PascalCase
30
+ */
31
+ private toPascalCase;
32
+ /**
33
+ * Expand template with placeholder values
34
+ */
35
+ private expandTemplate;
36
+ /**
37
+ * Extract label from intent text
38
+ */
39
+ private extractLabel;
40
+ /**
41
+ * Map design tokens from visual system
42
+ */
43
+ private mapDesignTokens;
44
+ /**
45
+ * Generate TypeScript type definitions for component
46
+ */
47
+ private generateTypeDefinitions;
48
+ /**
49
+ * Get component category from canonical name
50
+ */
51
+ getComponentCategory(canonicalName: string): string;
52
+ /**
53
+ * Generate usage example for component
54
+ */
55
+ generateUsageExample(spec: EnrichedComponentSpec): string;
56
+ /**
57
+ * Calculate complexity score for enriched spec
58
+ */
59
+ calculateComplexity(spec: EnrichedComponentSpec): number;
60
+ }
61
+ //# sourceMappingURL=IntentEnricher.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntentEnricher.d.ts","sourceRoot":"","sources":["../../src/services/IntentEnricher.ts"],"names":[],"mappings":"AAAA,OAAO,EACL,sBAAsB,EAEtB,qBAAqB,EAEtB,MAAM,4BAA4B,CAAC;AACpC,OAAO,EAAE,iBAAiB,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AAK3E;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,OAAO,CAAC,cAAc,CAAS;;IAW/B;;OAEG;IACG,0BAA0B,CAC9B,OAAO,EAAE,iBAAiB,EAC1B,UAAU,EAAE,sBAAsB,EAClC,YAAY,CAAC,EAAE,YAAY,GAC1B,OAAO,CAAC,qBAAqB,EAAE,CAAC;IAkCnC;;OAEG;YACW,kBAAkB;IAwDhC;;OAEG;IACH,OAAO,CAAC,qBAAqB;IA2B7B;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAU1B;;OAEG;IACH,OAAO,CAAC,YAAY;IAOpB;;OAEG;IACH,OAAO,CAAC,cAAc;IA+BtB;;OAEG;IACH,OAAO,CAAC,YAAY;IAuBpB;;OAEG;IACH,OAAO,CAAC,eAAe;IA4BvB;;OAEG;IACH,OAAO,CAAC,uBAAuB;IA2B/B;;OAEG;IACH,oBAAoB,CAAC,aAAa,EAAE,MAAM,GAAG,MAAM;IAiBnD;;OAEG;IACH,oBAAoB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM;IAoBzD;;OAEG;IACH,mBAAmB,CAAC,IAAI,EAAE,qBAAqB,GAAG,MAAM;CAqBzD"}
@@ -0,0 +1,318 @@
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
+ var __importDefault = (this && this.__importDefault) || function (mod) {
36
+ return (mod && mod.__esModule) ? mod : { "default": mod };
37
+ };
38
+ Object.defineProperty(exports, "__esModule", { value: true });
39
+ exports.IntentEnricher = void 0;
40
+ const path = __importStar(require("path"));
41
+ const chalk_1 = __importDefault(require("chalk"));
42
+ /**
43
+ * IntentEnricher Service
44
+ *
45
+ * Transforms validated intents into enriched component specifications
46
+ * with expanded templates, design token mappings, and full type definitions.
47
+ */
48
+ class IntentEnricher {
49
+ constructor() {
50
+ this.dictionaryPath = path.join(__dirname, "..", "config", "intent-dictionary.json");
51
+ }
52
+ /**
53
+ * Enrich validated intents into component specifications
54
+ */
55
+ async enrichComponentDefinitions(summary, validation, visualSystem) {
56
+ console.log(chalk_1.default.blue("🔧 Enriching intents into component specifications..."));
57
+ const enrichedSpecs = [];
58
+ for (const validatedIntent of validation.validated_intents) {
59
+ try {
60
+ const enrichedSpec = await this.enrichSingleIntent(validatedIntent, summary, visualSystem);
61
+ enrichedSpecs.push(enrichedSpec);
62
+ }
63
+ catch (error) {
64
+ console.warn(chalk_1.default.yellow(`⚠️ Failed to enrich intent: ${validatedIntent.canonical_name}`), error);
65
+ }
66
+ }
67
+ console.log(chalk_1.default.green(`✅ Enriched ${enrichedSpecs.length} component specifications`));
68
+ return enrichedSpecs;
69
+ }
70
+ /**
71
+ * Enrich a single validated intent
72
+ */
73
+ async enrichSingleIntent(intent, summary, visualSystem) {
74
+ const mapping = intent.intent_mapping;
75
+ // Generate component name from intent context
76
+ const componentName = this.generateComponentName(intent, summary);
77
+ // Expand template with context
78
+ const expandedTemplate = this.expandTemplate(mapping.component_pattern.template_code, intent, visualSystem);
79
+ // Map design tokens
80
+ const designTokens = visualSystem
81
+ ? this.mapDesignTokens(mapping.design_tokens, visualSystem)
82
+ : {};
83
+ // Generate TypeScript type definitions
84
+ const typeDefinitions = this.generateTypeDefinitions(mapping, componentName);
85
+ return {
86
+ component_name: componentName,
87
+ original_description: intent.original_text,
88
+ canonical_intent: intent.canonical_name,
89
+ intent_confidence: intent.confidence,
90
+ shadcn_components: mapping.component_pattern.shadcn_components.map((comp) => comp.name),
91
+ component_imports: mapping.component_pattern.shadcn_components.map((comp) => comp.import_path),
92
+ design_pattern: mapping.component_pattern,
93
+ code_template: expandedTemplate,
94
+ props_spec: [
95
+ ...mapping.component_pattern.required_props,
96
+ ...mapping.component_pattern.optional_props,
97
+ ],
98
+ type_definitions: typeDefinitions,
99
+ state_management: mapping.interaction_spec.states,
100
+ event_handlers: mapping.interaction_spec.events,
101
+ design_tokens_used: designTokens,
102
+ accessibility_spec: mapping.accessibility_spec,
103
+ responsive_config: mapping.responsive_behavior,
104
+ validation_rules: mapping.validation_rules,
105
+ conflicts: [],
106
+ };
107
+ }
108
+ /**
109
+ * Generate component name from intent and context
110
+ */
111
+ generateComponentName(intent, summary) {
112
+ // Try to extract action/noun from original text
113
+ const text = intent.original_text.toLowerCase();
114
+ // Common patterns for component names
115
+ const patterns = [
116
+ /(\w+)\s+(button|form|dialog|card|table|menu)/,
117
+ /(login|signup|profile|settings|dashboard)/,
118
+ /(\w+)\s+(component|page|modal)/,
119
+ ];
120
+ for (const pattern of patterns) {
121
+ const match = text.match(pattern);
122
+ if (match && match[1]) {
123
+ return this.toPascalCase(match[1] + "-" + match[2]);
124
+ }
125
+ }
126
+ // Fallback: use canonical intent name + suffix
127
+ const base = intent.canonical_name.replace(/-/g, " ");
128
+ const suffix = this.getComponentSuffix(intent.canonical_name);
129
+ return this.toPascalCase(base + suffix);
130
+ }
131
+ /**
132
+ * Get appropriate suffix for component type
133
+ */
134
+ getComponentSuffix(canonicalName) {
135
+ if (canonicalName.includes("button"))
136
+ return "";
137
+ if (canonicalName.includes("form"))
138
+ return "Form";
139
+ if (canonicalName.includes("dialog"))
140
+ return "Dialog";
141
+ if (canonicalName.includes("card"))
142
+ return "Card";
143
+ if (canonicalName.includes("table"))
144
+ return "Table";
145
+ if (canonicalName.includes("menu"))
146
+ return "Menu";
147
+ return "Component";
148
+ }
149
+ /**
150
+ * Convert string to PascalCase
151
+ */
152
+ toPascalCase(str) {
153
+ return str
154
+ .split(/[-_\s]/)
155
+ .map((word) => word.charAt(0).toUpperCase() + word.slice(1).toLowerCase())
156
+ .join("");
157
+ }
158
+ /**
159
+ * Expand template with placeholder values
160
+ */
161
+ expandTemplate(template, intent, visualSystem) {
162
+ let expanded = template;
163
+ // Replace common placeholders
164
+ const replacements = {
165
+ "{{label}}": this.extractLabel(intent.original_text),
166
+ "{{size}}": "default",
167
+ "{{variant}}": "default",
168
+ "{{handler}}": "handleAction",
169
+ "{{className}}": "",
170
+ };
171
+ // Add design token replacements
172
+ if (visualSystem) {
173
+ replacements["{{primaryColor}}"] = visualSystem.colors.primary;
174
+ replacements["{{backgroundColor}}"] = visualSystem.colors.background;
175
+ replacements["{{textColor}}"] = visualSystem.colors.text;
176
+ }
177
+ // Replace all placeholders
178
+ for (const [placeholder, value] of Object.entries(replacements)) {
179
+ expanded = expanded.replace(new RegExp(placeholder, "g"), value);
180
+ }
181
+ return expanded;
182
+ }
183
+ /**
184
+ * Extract label from intent text
185
+ */
186
+ extractLabel(text) {
187
+ // Try to find action words
188
+ const actionWords = [
189
+ "submit",
190
+ "save",
191
+ "cancel",
192
+ "delete",
193
+ "create",
194
+ "update",
195
+ "login",
196
+ "signup",
197
+ "confirm",
198
+ ];
199
+ for (const action of actionWords) {
200
+ if (text.toLowerCase().includes(action)) {
201
+ return action.charAt(0).toUpperCase() + action.slice(1);
202
+ }
203
+ }
204
+ return "Action";
205
+ }
206
+ /**
207
+ * Map design tokens from visual system
208
+ */
209
+ mapDesignTokens(tokenMappings, visualSystem) {
210
+ const tokens = {};
211
+ for (const mapping of tokenMappings) {
212
+ const tokenPath = mapping.token_path.split(".");
213
+ let value = visualSystem;
214
+ // Navigate token path
215
+ for (const key of tokenPath) {
216
+ if (value && typeof value === "object" && key in value) {
217
+ value = value[key];
218
+ }
219
+ else {
220
+ value = undefined;
221
+ break;
222
+ }
223
+ }
224
+ if (value !== undefined) {
225
+ tokens[mapping.css_var_name] = String(value);
226
+ }
227
+ }
228
+ return tokens;
229
+ }
230
+ /**
231
+ * Generate TypeScript type definitions for component
232
+ */
233
+ generateTypeDefinitions(mapping, componentName) {
234
+ const props = [
235
+ ...mapping.component_pattern.required_props,
236
+ ...mapping.component_pattern.optional_props,
237
+ ];
238
+ const propDefinitions = props
239
+ .map((prop) => {
240
+ // Determine if prop is required based on which array it came from
241
+ const isRequired = mapping.component_pattern.required_props.includes(prop);
242
+ const optional = !isRequired ? "?" : "";
243
+ const description = prop.description
244
+ ? ` /** ${prop.description} */\n`
245
+ : "";
246
+ return `${description} ${prop.name}${optional}: ${prop.type};`;
247
+ })
248
+ .join("\n");
249
+ return `export interface ${componentName}Props {
250
+ ${propDefinitions}
251
+ }`;
252
+ }
253
+ /**
254
+ * Get component category from canonical name
255
+ */
256
+ getComponentCategory(canonicalName) {
257
+ if (canonicalName.includes("button"))
258
+ return "interactive";
259
+ if (canonicalName.includes("form") || canonicalName.includes("input"))
260
+ return "form";
261
+ if (canonicalName.includes("dialog") || canonicalName.includes("modal"))
262
+ return "overlay";
263
+ if (canonicalName.includes("card") || canonicalName.includes("layout"))
264
+ return "layout";
265
+ if (canonicalName.includes("table") || canonicalName.includes("list"))
266
+ return "data";
267
+ if (canonicalName.includes("menu") || canonicalName.includes("nav"))
268
+ return "navigation";
269
+ if (canonicalName.includes("alert") || canonicalName.includes("toast"))
270
+ return "feedback";
271
+ return "display";
272
+ }
273
+ /**
274
+ * Generate usage example for component
275
+ */
276
+ generateUsageExample(spec) {
277
+ const propsExample = spec.props_spec
278
+ .filter((p) => {
279
+ // Check if prop is required by looking at the original mapping
280
+ // For now, assume first few props are required
281
+ return spec.props_spec.indexOf(p) < 3;
282
+ })
283
+ .map((p) => {
284
+ if (p.type.includes("=>"))
285
+ return `${p.name}={handleAction}`;
286
+ if (p.type === "string")
287
+ return `${p.name}="${p.name}"`;
288
+ if (p.type === "boolean")
289
+ return p.name;
290
+ return `${p.name}={${p.name}}`;
291
+ })
292
+ .join(" ");
293
+ return `<${spec.component_name} ${propsExample}>
294
+ {children}
295
+ </${spec.component_name}>`;
296
+ }
297
+ /**
298
+ * Calculate complexity score for enriched spec
299
+ */
300
+ calculateComplexity(spec) {
301
+ let complexity = 0;
302
+ // More shadcn components = more complex
303
+ complexity += spec.shadcn_components.length * 10;
304
+ // More required props = more complex
305
+ complexity +=
306
+ spec.props_spec.filter((p) => {
307
+ // Assume first few props are required
308
+ return spec.props_spec.indexOf(p) < 3;
309
+ }).length * 5;
310
+ // State management adds complexity
311
+ complexity += spec.state_management.length * 8;
312
+ // More design tokens = more styling = more complex
313
+ complexity += Object.keys(spec.design_tokens_used || {}).length * 3;
314
+ return Math.min(complexity, 100);
315
+ }
316
+ }
317
+ exports.IntentEnricher = IntentEnricher;
318
+ //# sourceMappingURL=IntentEnricher.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntentEnricher.js","sourceRoot":"","sources":["../../src/services/IntentEnricher.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,114 @@
1
+ /**
2
+ * Intent Validator Service
3
+ *
4
+ * Validates natural language UI descriptions against the intent dictionary,
5
+ * extracting UI intents and matching them to shadcn/ui component patterns.
6
+ *
7
+ * @module services/IntentValidator
8
+ */
9
+ import { IntentDictionary, IntentValidationReport, IntentMapping } from "../types/intent-dictionary";
10
+ /**
11
+ * Main service for validating UI intents from natural language
12
+ */
13
+ export declare class IntentValidator {
14
+ private dictionary;
15
+ private dictionaryPath;
16
+ private fuse;
17
+ /**
18
+ * @param dictionaryPath - Optional path to custom dictionary (defaults to built-in)
19
+ */
20
+ constructor(dictionaryPath?: string);
21
+ /**
22
+ * Load intent dictionary from JSON file
23
+ */
24
+ private loadDictionary;
25
+ /**
26
+ * Initialize Fuse.js for fuzzy matching
27
+ */
28
+ private initializeFuse;
29
+ /**
30
+ * Get minimal default dictionary as fallback
31
+ */
32
+ private getDefaultDictionary;
33
+ /**
34
+ * Main validation method - analyzes context files and extracts UI intents
35
+ */
36
+ validateContextFiles(prd: string, types?: string, brand?: string): Promise<IntentValidationReport>;
37
+ /**
38
+ * Extract UI intent phrases from text using pattern matching
39
+ */
40
+ private extractIntentsFromText;
41
+ /**
42
+ * Extract surrounding context for an intent match
43
+ */
44
+ private extractContext;
45
+ /**
46
+ * Match extracted intents against dictionary
47
+ */
48
+ private matchIntents;
49
+ /**
50
+ * Find exact phrase match in dictionary
51
+ */
52
+ private findExactMatch;
53
+ /**
54
+ * Find match via synonym lookup
55
+ */
56
+ private findSynonymMatch;
57
+ /**
58
+ * Fuzzy match using Fuse.js for better accuracy
59
+ */
60
+ private fuzzyMatch;
61
+ /**
62
+ * Resolve placeholder values from context
63
+ */
64
+ private resolvePlaceholders;
65
+ /**
66
+ * Detect ambiguous intents (multiple high-confidence matches)
67
+ */
68
+ private detectAmbiguities;
69
+ /**
70
+ * Generate reasoning for why an intent matched
71
+ */
72
+ private generateReasoning;
73
+ /**
74
+ * Find unknown intents that couldn't be matched
75
+ */
76
+ private findUnknownIntents;
77
+ /**
78
+ * Calculate overall confidence score
79
+ */
80
+ private calculateConfidence;
81
+ /**
82
+ * Generate clarification requests for ambiguous intents
83
+ */
84
+ private generateClarifications;
85
+ /**
86
+ * Generate warnings about validation results
87
+ */
88
+ private generateWarnings;
89
+ /**
90
+ * Generate suggestions for improving intent detection
91
+ */
92
+ private generateSuggestions;
93
+ /**
94
+ * Update usage analytics
95
+ */
96
+ private updateAnalytics;
97
+ /**
98
+ * Utility: capitalize first letter
99
+ */
100
+ private capitalize;
101
+ /**
102
+ * Get current dictionary for inspection
103
+ */
104
+ getDictionary(): IntentDictionary;
105
+ /**
106
+ * Get list of available intents
107
+ */
108
+ getAvailableIntents(): string[];
109
+ /**
110
+ * Get intent mapping by canonical name
111
+ */
112
+ getIntentMapping(canonicalName: string): IntentMapping | null;
113
+ }
114
+ //# sourceMappingURL=IntentValidator.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"IntentValidator.d.ts","sourceRoot":"","sources":["../../src/services/IntentValidator.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAMH,OAAO,EACL,gBAAgB,EAChB,sBAAsB,EAMtB,aAAa,EAGd,MAAM,4BAA4B,CAAC;AAEpC;;GAEG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAmB;IACrC,OAAO,CAAC,cAAc,CAAS;IAC/B,OAAO,CAAC,IAAI,CAAY;IAExB;;OAEG;gBACS,cAAc,CAAC,EAAE,MAAM;IAQnC;;OAEG;IACH,OAAO,CAAC,cAAc;IA0BtB;;OAEG;IACH,OAAO,CAAC,cAAc;IAoDtB;;OAEG;IACH,OAAO,CAAC,oBAAoB;IAuB5B;;OAEG;IACG,oBAAoB,CACxB,GAAG,EAAE,MAAM,EACX,KAAK,CAAC,EAAE,MAAM,EACd,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,sBAAsB,CAAC;IAwDlC;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAqH9B;;OAEG;IACH,OAAO,CAAC,cAAc;IA0DtB;;OAEG;YACW,YAAY;IA6D1B;;OAEG;IACH,OAAO,CAAC,cAAc;IAsBtB;;OAEG;IACH,OAAO,CAAC,gBAAgB;IAcxB;;OAEG;IACH,OAAO,CAAC,UAAU;IAyDlB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAoC3B;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAiDzB;;OAEG;IACH,OAAO,CAAC,iBAAiB;IAgBzB;;OAEG;IACH,OAAO,CAAC,kBAAkB;IA4B1B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAO3B;;OAEG;IACH,OAAO,CAAC,sBAAsB;IAsB9B;;OAEG;IACH,OAAO,CAAC,gBAAgB;IA+BxB;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAqB3B;;OAEG;IACH,OAAO,CAAC,eAAe;IAUvB;;OAEG;IACH,OAAO,CAAC,UAAU;IAIlB;;OAEG;IACI,aAAa,IAAI,gBAAgB;IAIxC;;OAEG;IACI,mBAAmB,IAAI,MAAM,EAAE;IAItC;;OAEG;IACI,gBAAgB,CAAC,aAAa,EAAE,MAAM,GAAG,aAAa,GAAG,IAAI;CAGrE"}