mycontext-cli 2.0.27 → 2.0.29

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 (173) hide show
  1. package/README.md +71 -342
  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 +111 -56
  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 +11 -0
  52. package/dist/commands/generate-components.d.ts.map +1 -1
  53. package/dist/commands/generate-components.js +342 -12
  54. package/dist/commands/generate-components.js.map +1 -1
  55. package/dist/commands/generate-context-files.d.ts +9 -0
  56. package/dist/commands/generate-context-files.d.ts.map +1 -1
  57. package/dist/commands/generate-context-files.js +57 -0
  58. package/dist/commands/generate-context-files.js.map +1 -1
  59. package/dist/commands/generate.d.ts +5 -0
  60. package/dist/commands/generate.d.ts.map +1 -1
  61. package/dist/commands/generate.js +109 -2
  62. package/dist/commands/generate.js.map +1 -1
  63. package/dist/commands/init.d.ts +1 -0
  64. package/dist/commands/init.d.ts.map +1 -1
  65. package/dist/commands/init.js +32 -10
  66. package/dist/commands/init.js.map +1 -1
  67. package/dist/commands/preview-components.d.ts +12 -0
  68. package/dist/commands/preview-components.d.ts.map +1 -0
  69. package/dist/commands/preview-components.js +122 -0
  70. package/dist/commands/preview-components.js.map +1 -0
  71. package/dist/commands/refine-component.d.ts +43 -0
  72. package/dist/commands/refine-component.d.ts.map +1 -0
  73. package/dist/commands/refine-component.js +313 -0
  74. package/dist/commands/refine-component.js.map +1 -0
  75. package/dist/commands/review-context.d.ts +47 -0
  76. package/dist/commands/review-context.d.ts.map +1 -0
  77. package/dist/commands/review-context.js +335 -0
  78. package/dist/commands/review-context.js.map +1 -0
  79. package/dist/commands/setup-complete.d.ts.map +1 -1
  80. package/dist/commands/setup-complete.js +38 -2
  81. package/dist/commands/setup-complete.js.map +1 -1
  82. package/dist/commands/workflow.d.ts.map +1 -1
  83. package/dist/commands/workflow.js +86 -7
  84. package/dist/commands/workflow.js.map +1 -1
  85. package/dist/config/intent-dictionary.json +3700 -0
  86. package/dist/package.json +12 -1
  87. package/dist/services/ContextValidator.d.ts +99 -0
  88. package/dist/services/ContextValidator.d.ts.map +1 -0
  89. package/dist/services/ContextValidator.js +433 -0
  90. package/dist/services/ContextValidator.js.map +1 -0
  91. package/dist/services/IntentEnricher.d.ts +61 -0
  92. package/dist/services/IntentEnricher.d.ts.map +1 -0
  93. package/dist/services/IntentEnricher.js +318 -0
  94. package/dist/services/IntentEnricher.js.map +1 -0
  95. package/dist/services/IntentValidator.d.ts +114 -0
  96. package/dist/services/IntentValidator.d.ts.map +1 -0
  97. package/dist/services/IntentValidator.js +680 -0
  98. package/dist/services/IntentValidator.js.map +1 -0
  99. package/dist/services/MutationLogger.d.ts +54 -0
  100. package/dist/services/MutationLogger.d.ts.map +1 -0
  101. package/dist/services/MutationLogger.js +164 -0
  102. package/dist/services/MutationLogger.js.map +1 -0
  103. package/dist/services/RegressionRunner.d.ts +49 -0
  104. package/dist/services/RegressionRunner.d.ts.map +1 -0
  105. package/dist/services/RegressionRunner.js +285 -0
  106. package/dist/services/RegressionRunner.js.map +1 -0
  107. package/dist/services/TriggerLogger.d.ts +101 -0
  108. package/dist/services/TriggerLogger.d.ts.map +1 -0
  109. package/dist/services/TriggerLogger.js +263 -0
  110. package/dist/services/TriggerLogger.js.map +1 -0
  111. package/dist/types/design-pipeline.d.ts +300 -0
  112. package/dist/types/design-pipeline.d.ts.map +1 -0
  113. package/dist/types/design-pipeline.js +9 -0
  114. package/dist/types/design-pipeline.js.map +1 -0
  115. package/dist/types/feature-bundle.d.ts +239 -0
  116. package/dist/types/feature-bundle.d.ts.map +1 -0
  117. package/dist/types/feature-bundle.js +9 -0
  118. package/dist/types/feature-bundle.js.map +1 -0
  119. package/dist/types/index.d.ts +2 -0
  120. package/dist/types/index.d.ts.map +1 -1
  121. package/dist/types/index.js +2 -0
  122. package/dist/types/index.js.map +1 -1
  123. package/dist/types/intent-dictionary.d.ts +525 -0
  124. package/dist/types/intent-dictionary.d.ts.map +1 -0
  125. package/dist/types/intent-dictionary.js +11 -0
  126. package/dist/types/intent-dictionary.js.map +1 -0
  127. package/dist/types/role-permissions.d.ts +167 -0
  128. package/dist/types/role-permissions.d.ts.map +1 -0
  129. package/dist/types/role-permissions.js +9 -0
  130. package/dist/types/role-permissions.js.map +1 -0
  131. package/dist/utils/contextEnricher.d.ts +41 -0
  132. package/dist/utils/contextEnricher.d.ts.map +1 -0
  133. package/dist/utils/contextEnricher.js +327 -0
  134. package/dist/utils/contextEnricher.js.map +1 -0
  135. package/dist/utils/designFallbacks.d.ts +48 -0
  136. package/dist/utils/designFallbacks.d.ts.map +1 -0
  137. package/dist/utils/designFallbacks.js +885 -0
  138. package/dist/utils/designFallbacks.js.map +1 -0
  139. package/dist/utils/designManifestManager.d.ts +89 -0
  140. package/dist/utils/designManifestManager.d.ts.map +1 -0
  141. package/dist/utils/designManifestManager.js +533 -0
  142. package/dist/utils/designManifestManager.js.map +1 -0
  143. package/dist/utils/designPipelineStateManager.d.ts +63 -0
  144. package/dist/utils/designPipelineStateManager.d.ts.map +1 -0
  145. package/dist/utils/designPipelineStateManager.js +174 -0
  146. package/dist/utils/designPipelineStateManager.js.map +1 -0
  147. package/dist/utils/envExampleGenerator.d.ts.map +1 -1
  148. package/dist/utils/envExampleGenerator.js +41 -171
  149. package/dist/utils/envExampleGenerator.js.map +1 -1
  150. package/dist/utils/featureBundleManager.d.ts +90 -0
  151. package/dist/utils/featureBundleManager.d.ts.map +1 -0
  152. package/dist/utils/featureBundleManager.js +340 -0
  153. package/dist/utils/featureBundleManager.js.map +1 -0
  154. package/dist/utils/githubCloner.d.ts +93 -0
  155. package/dist/utils/githubCloner.d.ts.map +1 -0
  156. package/dist/utils/githubCloner.js +305 -0
  157. package/dist/utils/githubCloner.js.map +1 -0
  158. package/dist/utils/hybridAIClient.d.ts.map +1 -1
  159. package/dist/utils/hybridAIClient.js +21 -0
  160. package/dist/utils/hybridAIClient.js.map +1 -1
  161. package/dist/utils/openRouterClient.d.ts +10 -0
  162. package/dist/utils/openRouterClient.d.ts.map +1 -0
  163. package/dist/utils/openRouterClient.js +61 -0
  164. package/dist/utils/openRouterClient.js.map +1 -0
  165. package/dist/utils/rolePermissionMapper.d.ts +89 -0
  166. package/dist/utils/rolePermissionMapper.d.ts.map +1 -0
  167. package/dist/utils/rolePermissionMapper.js +337 -0
  168. package/dist/utils/rolePermissionMapper.js.map +1 -0
  169. package/dist/utils/unifiedDesignContextLoader.d.ts +76 -0
  170. package/dist/utils/unifiedDesignContextLoader.d.ts.map +1 -0
  171. package/dist/utils/unifiedDesignContextLoader.js +344 -0
  172. package/dist/utils/unifiedDesignContextLoader.js.map +1 -0
  173. package/package.json +12 -1
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designFallbacks.js","sourceRoot":"","sources":["../../src/utils/designFallbacks.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,89 @@
1
+ import { DesignManifest, EnrichedContext, ValidationResult } from "../types/design-pipeline";
2
+ /**
3
+ * Design Manifest Manager
4
+ *
5
+ * Handles storage, loading, validation, and context enrichment
6
+ * for the mycontext design pipeline manifest.
7
+ */
8
+ export declare class DesignManifestManager {
9
+ private manifestPath;
10
+ private projectPath;
11
+ constructor(projectPath?: string);
12
+ /**
13
+ * Save design manifest to .mycontext/design-manifest.json
14
+ */
15
+ saveDesignManifest(manifest: DesignManifest): Promise<void>;
16
+ /**
17
+ * Load design manifest from .mycontext/design-manifest.json
18
+ */
19
+ loadDesignManifest(): Promise<DesignManifest | null>;
20
+ /**
21
+ * Check if design manifest exists and is valid
22
+ */
23
+ hasValidManifest(): Promise<boolean>;
24
+ /**
25
+ * Validate design manifest structure and completeness
26
+ */
27
+ validateManifest(manifest: any): ValidationResult;
28
+ /**
29
+ * Validate individual phases
30
+ */
31
+ private validatePhases;
32
+ /**
33
+ * Validate a single phase
34
+ */
35
+ private validatePhase;
36
+ /**
37
+ * Calculate overall confidence score for the manifest
38
+ */
39
+ private calculateOverallConfidence;
40
+ /**
41
+ * Calculate confidence score for a single phase
42
+ */
43
+ private calculatePhaseConfidence;
44
+ /**
45
+ * Generate suggestions for improving a phase
46
+ */
47
+ private generatePhaseSuggestions;
48
+ /**
49
+ * Extract quality indicators for a phase
50
+ */
51
+ private extractQualityIndicators;
52
+ /**
53
+ * Calculate color completeness score
54
+ */
55
+ private calculateColorCompleteness;
56
+ /**
57
+ * Calculate typography completeness score
58
+ */
59
+ private calculateTypographyCompleteness;
60
+ /**
61
+ * Enrich context with design manifest data
62
+ */
63
+ enrichContextWithDesign(prd: string, types?: string, brand?: string): Promise<EnrichedContext>;
64
+ /**
65
+ * Extract visual tokens for easy consumption
66
+ */
67
+ private extractVisualTokens;
68
+ /**
69
+ * Get design manifest summary for display
70
+ */
71
+ getManifestSummary(): Promise<string>;
72
+ /**
73
+ * Check if manifest needs regeneration based on age or changes
74
+ */
75
+ shouldRegenerateManifest(maxAgeHours?: number): Promise<boolean>;
76
+ /**
77
+ * Get manifest file path
78
+ */
79
+ getManifestPath(): string;
80
+ /**
81
+ * Check if manifest file exists
82
+ */
83
+ manifestExists(): Promise<boolean>;
84
+ /**
85
+ * Delete manifest file
86
+ */
87
+ deleteManifest(): Promise<void>;
88
+ }
89
+ //# sourceMappingURL=designManifestManager.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"designManifestManager.d.ts","sourceRoot":"","sources":["../../src/utils/designManifestManager.ts"],"names":[],"mappings":"AAGA,OAAO,EACL,cAAc,EACd,eAAe,EACf,gBAAgB,EAEjB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,qBAAa,qBAAqB;IAChC,OAAO,CAAC,YAAY,CAAS;IAC7B,OAAO,CAAC,WAAW,CAAS;gBAEhB,WAAW,GAAE,MAAsB;IAS/C;;OAEG;IACG,kBAAkB,CAAC,QAAQ,EAAE,cAAc,GAAG,OAAO,CAAC,IAAI,CAAC;IAoBjE;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,cAAc,GAAG,IAAI,CAAC;IAc1D;;OAEG;IACG,gBAAgB,IAAI,OAAO,CAAC,OAAO,CAAC;IAK1C;;OAEG;IACH,gBAAgB,CAAC,QAAQ,EAAE,GAAG,GAAG,gBAAgB;IAmDjD;;OAEG;IACH,OAAO,CAAC,cAAc;IA8FtB;;OAEG;IACH,OAAO,CAAC,aAAa;IAwFrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAkBlC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAehC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAmDhC;;OAEG;IACH,OAAO,CAAC,wBAAwB;IAsChC;;OAEG;IACH,OAAO,CAAC,0BAA0B;IAgClC;;OAEG;IACH,OAAO,CAAC,+BAA+B;IAYvC;;OAEG;IACG,uBAAuB,CAC3B,GAAG,EAAE,MAAM,EACX,KAAK,GAAE,MAAW,EAClB,KAAK,GAAE,MAAW,GACjB,OAAO,CAAC,eAAe,CAAC;IAmC3B;;OAEG;IACH,OAAO,CAAC,mBAAmB;IAY3B;;OAEG;IACG,kBAAkB,IAAI,OAAO,CAAC,MAAM,CAAC;IAuB3C;;OAEG;IACG,wBAAwB,CAAC,WAAW,GAAE,MAAW,GAAG,OAAO,CAAC,OAAO,CAAC;IAW1E;;OAEG;IACH,eAAe,IAAI,MAAM;IAIzB;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,OAAO,CAAC;IAIxC;;OAEG;IACG,cAAc,IAAI,OAAO,CAAC,IAAI,CAAC;CAWtC"}
@@ -0,0 +1,533 @@
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.DesignManifestManager = void 0;
40
+ const fs = __importStar(require("fs-extra"));
41
+ const path = __importStar(require("path"));
42
+ const chalk_1 = __importDefault(require("chalk"));
43
+ /**
44
+ * Design Manifest Manager
45
+ *
46
+ * Handles storage, loading, validation, and context enrichment
47
+ * for the mycontext design pipeline manifest.
48
+ */
49
+ class DesignManifestManager {
50
+ constructor(projectPath = process.cwd()) {
51
+ this.projectPath = projectPath;
52
+ this.manifestPath = path.join(projectPath, ".mycontext", "design-manifest.json");
53
+ }
54
+ /**
55
+ * Save design manifest to .mycontext/design-manifest.json
56
+ */
57
+ async saveDesignManifest(manifest) {
58
+ try {
59
+ // Ensure .mycontext directory exists
60
+ const contextDir = path.dirname(this.manifestPath);
61
+ await fs.ensureDir(contextDir);
62
+ // Write manifest with pretty formatting
63
+ await fs.writeJSON(this.manifestPath, manifest, { spaces: 2 });
64
+ console.log(chalk_1.default.green("✅ Design manifest saved to .mycontext/design-manifest.json"));
65
+ }
66
+ catch (error) {
67
+ console.error(chalk_1.default.red("❌ Failed to save design manifest:"), error);
68
+ throw error;
69
+ }
70
+ }
71
+ /**
72
+ * Load design manifest from .mycontext/design-manifest.json
73
+ */
74
+ async loadDesignManifest() {
75
+ try {
76
+ if (!(await fs.pathExists(this.manifestPath))) {
77
+ return null;
78
+ }
79
+ const manifestData = await fs.readJSON(this.manifestPath);
80
+ return this.validateManifest(manifestData).valid ? manifestData : null;
81
+ }
82
+ catch (error) {
83
+ console.warn(chalk_1.default.yellow("⚠️ Failed to load design manifest:"), error);
84
+ return null;
85
+ }
86
+ }
87
+ /**
88
+ * Check if design manifest exists and is valid
89
+ */
90
+ async hasValidManifest() {
91
+ const manifest = await this.loadDesignManifest();
92
+ return manifest !== null;
93
+ }
94
+ /**
95
+ * Validate design manifest structure and completeness
96
+ */
97
+ validateManifest(manifest) {
98
+ const errors = [];
99
+ const warnings = [];
100
+ const suggestions = [];
101
+ // Check required top-level fields
102
+ if (!manifest.version)
103
+ errors.push("Missing version field");
104
+ if (!manifest.generated_at)
105
+ errors.push("Missing generated_at field");
106
+ if (!manifest.project_name)
107
+ errors.push("Missing project_name field");
108
+ if (!manifest.phases)
109
+ errors.push("Missing phases object");
110
+ if (manifest.phases) {
111
+ // Validate each phase
112
+ const phaseValidations = this.validatePhases(manifest.phases);
113
+ phaseValidations.forEach((validation) => {
114
+ if (!validation.result.valid) {
115
+ errors.push(...validation.result.errors.map((e) => `${validation.phase_name}: ${e}`));
116
+ }
117
+ warnings.push(...validation.result.warnings.map((w) => `${validation.phase_name}: ${w}`));
118
+ });
119
+ }
120
+ // Check metadata
121
+ if (!manifest.metadata) {
122
+ warnings.push("Missing metadata object");
123
+ }
124
+ else {
125
+ if (!manifest.metadata.generation_time_ms) {
126
+ warnings.push("Missing generation_time_ms in metadata");
127
+ }
128
+ }
129
+ // Calculate confidence score
130
+ const confidenceScore = this.calculateOverallConfidence(manifest);
131
+ return {
132
+ valid: errors.length === 0,
133
+ errors,
134
+ warnings,
135
+ suggestions,
136
+ confidence_score: confidenceScore,
137
+ };
138
+ }
139
+ /**
140
+ * Validate individual phases
141
+ */
142
+ validatePhases(phases) {
143
+ const validations = [];
144
+ // Phase 1: Functional Summary
145
+ validations.push(this.validatePhase("functional_summary", phases.functional_summary, [
146
+ "app_name",
147
+ "core_purpose",
148
+ "key_features",
149
+ "primary_user_actions",
150
+ "platform",
151
+ "technical_requirements",
152
+ "complexity_level",
153
+ ]));
154
+ // Phase 2: Project Scope
155
+ validations.push(this.validatePhase("project_scope", phases.project_scope, [
156
+ "build_scope",
157
+ "reason",
158
+ "expected_outputs",
159
+ ]));
160
+ // Phase 3: Context Gaps
161
+ validations.push(this.validatePhase("context_gaps", phases.context_gaps, [
162
+ "missing",
163
+ "recommended_next_action",
164
+ ]));
165
+ // Phase 4: Design Brief
166
+ validations.push(this.validatePhase("design_brief", phases.design_brief, [
167
+ "theme",
168
+ "inspiration_sources",
169
+ "blended_style",
170
+ "primary_color",
171
+ "support_colors",
172
+ "typography",
173
+ "ui_principles",
174
+ "motion_style",
175
+ ]));
176
+ // Phase 5: Visual System
177
+ validations.push(this.validatePhase("visual_system", phases.visual_system, [
178
+ "colors",
179
+ "typography",
180
+ "spacing",
181
+ "radii",
182
+ "shadows",
183
+ "motion",
184
+ "breakpoints",
185
+ ]));
186
+ // Phase 6: Component Hierarchy
187
+ validations.push(this.validatePhase("component_hierarchy", phases.component_hierarchy, [
188
+ "screens",
189
+ "components",
190
+ "design_patterns",
191
+ "interaction_flows",
192
+ ]));
193
+ // Phase 7: Implementation Plan
194
+ validations.push(this.validatePhase("implementation_plan", phases.implementation_plan, [
195
+ "framework",
196
+ "pages",
197
+ "state_management",
198
+ "build_requirements",
199
+ "data_persistence",
200
+ "performance_optimizations",
201
+ ]));
202
+ // Phase 8: Design Intent
203
+ validations.push(this.validatePhase("design_intent", phases.design_intent, [
204
+ "visual_philosophy",
205
+ "design_anchors",
206
+ "user_experience_goals",
207
+ ]));
208
+ return validations;
209
+ }
210
+ /**
211
+ * Validate a single phase
212
+ */
213
+ validatePhase(phaseName, phaseData, requiredFields) {
214
+ const errors = [];
215
+ const warnings = [];
216
+ const missingFields = [];
217
+ if (!phaseData) {
218
+ errors.push("Phase data is missing");
219
+ return {
220
+ phase_name: phaseName,
221
+ result: {
222
+ valid: false,
223
+ errors,
224
+ warnings,
225
+ suggestions: [],
226
+ confidence_score: 0,
227
+ },
228
+ required_fields: requiredFields,
229
+ missing_fields: requiredFields,
230
+ quality_indicators: {},
231
+ };
232
+ }
233
+ // Check required fields
234
+ requiredFields.forEach((field) => {
235
+ if (!phaseData[field]) {
236
+ missingFields.push(field);
237
+ errors.push(`Missing required field: ${field}`);
238
+ }
239
+ });
240
+ // Phase-specific validations
241
+ if (phaseName === "functional_summary") {
242
+ if (phaseData.complexity_level &&
243
+ !["low", "medium", "high"].includes(phaseData.complexity_level)) {
244
+ errors.push("Invalid complexity_level value");
245
+ }
246
+ if (phaseData.key_features && !Array.isArray(phaseData.key_features)) {
247
+ errors.push("key_features must be an array");
248
+ }
249
+ }
250
+ if (phaseName === "design_brief") {
251
+ if (phaseData.theme &&
252
+ !["dark", "light", "mixed"].includes(phaseData.theme)) {
253
+ errors.push("Invalid theme value");
254
+ }
255
+ if (phaseData.primary_color && !phaseData.primary_color.startsWith("#")) {
256
+ warnings.push("Primary color should be a hex value");
257
+ }
258
+ }
259
+ if (phaseName === "visual_system") {
260
+ if (phaseData.colors && !phaseData.colors.primary) {
261
+ errors.push("Missing primary color in visual system");
262
+ }
263
+ if (phaseData.typography && !phaseData.typography.font_families) {
264
+ errors.push("Missing font families in typography");
265
+ }
266
+ }
267
+ const confidenceScore = this.calculatePhaseConfidence(phaseData, requiredFields.length - missingFields.length);
268
+ return {
269
+ phase_name: phaseName,
270
+ result: {
271
+ valid: errors.length === 0,
272
+ errors,
273
+ warnings,
274
+ suggestions: this.generatePhaseSuggestions(phaseName, phaseData),
275
+ confidence_score: confidenceScore,
276
+ },
277
+ required_fields: requiredFields,
278
+ missing_fields: missingFields,
279
+ quality_indicators: this.extractQualityIndicators(phaseName, phaseData),
280
+ };
281
+ }
282
+ /**
283
+ * Calculate overall confidence score for the manifest
284
+ */
285
+ calculateOverallConfidence(manifest) {
286
+ if (!manifest.phases)
287
+ return 0;
288
+ const phaseScores = Object.values(manifest.phases).map((phase) => this.calculatePhaseConfidence(phase, Object.keys(phase).length));
289
+ const averageScore = phaseScores.reduce((sum, score) => sum + score, 0) / phaseScores.length;
290
+ // Boost score if metadata indicates AI generation
291
+ if (manifest.metadata?.ai_model_used) {
292
+ return Math.min(1, averageScore + 0.1);
293
+ }
294
+ return averageScore;
295
+ }
296
+ /**
297
+ * Calculate confidence score for a single phase
298
+ */
299
+ calculatePhaseConfidence(phaseData, fieldCount) {
300
+ if (!phaseData)
301
+ return 0;
302
+ const totalFields = Object.keys(phaseData).length;
303
+ const completeness = fieldCount / Math.max(totalFields, 1);
304
+ // Additional quality checks
305
+ let qualityBonus = 0;
306
+ if (phaseData.colors?.primary)
307
+ qualityBonus += 0.1;
308
+ if (phaseData.typography?.font_families)
309
+ qualityBonus += 0.1;
310
+ if (phaseData.design_anchors?.length > 0)
311
+ qualityBonus += 0.1;
312
+ return Math.min(1, completeness + qualityBonus);
313
+ }
314
+ /**
315
+ * Generate suggestions for improving a phase
316
+ */
317
+ generatePhaseSuggestions(phaseName, phaseData) {
318
+ const suggestions = [];
319
+ switch (phaseName) {
320
+ case "functional_summary":
321
+ if (!phaseData.user_personas) {
322
+ suggestions.push("Add user personas to better understand target audience");
323
+ }
324
+ if (!phaseData.business_goals) {
325
+ suggestions.push("Define business goals for better alignment");
326
+ }
327
+ break;
328
+ case "design_brief":
329
+ if (!phaseData.accessibility_focus) {
330
+ suggestions.push("Add accessibility focus areas");
331
+ }
332
+ if (phaseData.inspiration_sources?.length < 3) {
333
+ suggestions.push("Add more inspiration sources for richer design direction");
334
+ }
335
+ break;
336
+ case "visual_system":
337
+ if (!phaseData.colors?.success) {
338
+ suggestions.push("Add semantic colors (success, warning, error)");
339
+ }
340
+ if (!phaseData.motion?.duration) {
341
+ suggestions.push("Define motion timing for better consistency");
342
+ }
343
+ break;
344
+ case "component_hierarchy":
345
+ if (phaseData.components?.length === 0) {
346
+ suggestions.push("Define specific components needed for the project");
347
+ }
348
+ if (!phaseData.design_patterns?.length) {
349
+ suggestions.push("Identify design patterns to maintain consistency");
350
+ }
351
+ break;
352
+ }
353
+ return suggestions;
354
+ }
355
+ /**
356
+ * Extract quality indicators for a phase
357
+ */
358
+ extractQualityIndicators(phaseName, phaseData) {
359
+ const indicators = {};
360
+ switch (phaseName) {
361
+ case "functional_summary":
362
+ indicators.feature_count = phaseData.key_features?.length || 0;
363
+ indicators.has_personas = !!phaseData.user_personas?.length;
364
+ indicators.has_goals = !!phaseData.business_goals?.length;
365
+ break;
366
+ case "design_brief":
367
+ indicators.inspiration_count =
368
+ phaseData.inspiration_sources?.length || 0;
369
+ indicators.has_accessibility = !!phaseData.accessibility_focus?.length;
370
+ indicators.color_count = phaseData.support_colors?.length || 0;
371
+ break;
372
+ case "visual_system":
373
+ indicators.color_completeness = this.calculateColorCompleteness(phaseData.colors);
374
+ indicators.typography_completeness =
375
+ this.calculateTypographyCompleteness(phaseData.typography);
376
+ break;
377
+ case "component_hierarchy":
378
+ indicators.screen_count = phaseData.screens?.length || 0;
379
+ indicators.component_count = phaseData.components?.length || 0;
380
+ indicators.pattern_count = phaseData.design_patterns?.length || 0;
381
+ break;
382
+ }
383
+ return indicators;
384
+ }
385
+ /**
386
+ * Calculate color completeness score
387
+ */
388
+ calculateColorCompleteness(colors) {
389
+ if (!colors)
390
+ return 0;
391
+ const requiredColors = [
392
+ "primary",
393
+ "background",
394
+ "surface",
395
+ "text",
396
+ "text_muted",
397
+ ];
398
+ const optionalColors = [
399
+ "secondary",
400
+ "accent",
401
+ "border",
402
+ "success",
403
+ "warning",
404
+ "error",
405
+ ];
406
+ const requiredCount = requiredColors.filter((color) => colors[color]).length;
407
+ const optionalCount = optionalColors.filter((color) => colors[color]).length;
408
+ return (requiredCount / requiredColors.length +
409
+ (optionalCount / optionalColors.length) * 0.3);
410
+ }
411
+ /**
412
+ * Calculate typography completeness score
413
+ */
414
+ calculateTypographyCompleteness(typography) {
415
+ if (!typography)
416
+ return 0;
417
+ let score = 0;
418
+ if (typography.font_families?.heading)
419
+ score += 0.3;
420
+ if (typography.font_families?.body)
421
+ score += 0.3;
422
+ if (typography.scale)
423
+ score += 0.2;
424
+ if (typography.weights)
425
+ score += 0.2;
426
+ return Math.min(1, score);
427
+ }
428
+ /**
429
+ * Enrich context with design manifest data
430
+ */
431
+ async enrichContextWithDesign(prd, types = "", brand = "") {
432
+ const manifest = await this.loadDesignManifest();
433
+ if (!manifest) {
434
+ throw new Error("No design manifest found. Run design pipeline first.");
435
+ }
436
+ return {
437
+ project_summary: manifest.phases.functional_summary,
438
+ design_system: manifest.phases.visual_system,
439
+ design_intent: manifest.phases.design_intent,
440
+ component_architecture: manifest.phases.component_hierarchy,
441
+ technical_context: {
442
+ prd,
443
+ types,
444
+ brand,
445
+ },
446
+ implementation_guidelines: manifest.phases.implementation_plan,
447
+ design_principles: manifest.phases.design_brief.ui_principles,
448
+ visual_tokens: this.extractVisualTokens(manifest.phases.visual_system),
449
+ interaction_patterns: manifest.phases.component_hierarchy.interaction_flows,
450
+ accessibility_requirements: manifest.phases.design_brief.accessibility_focus || [],
451
+ // NEW: Intent-based specifications
452
+ enriched_intents: manifest.phases.intent_validation?.enriched_intents || [],
453
+ intent_validation_report: manifest.phases.intent_validation?.validation_report || undefined,
454
+ intent_clarifications: manifest.phases.intent_validation?.clarifications || [],
455
+ };
456
+ }
457
+ /**
458
+ * Extract visual tokens for easy consumption
459
+ */
460
+ extractVisualTokens(visualSystem) {
461
+ return {
462
+ colors: visualSystem.colors,
463
+ spacing: visualSystem.spacing,
464
+ typography: visualSystem.typography,
465
+ radii: visualSystem.radii,
466
+ shadows: visualSystem.shadows,
467
+ motion: visualSystem.motion,
468
+ breakpoints: visualSystem.breakpoints,
469
+ };
470
+ }
471
+ /**
472
+ * Get design manifest summary for display
473
+ */
474
+ async getManifestSummary() {
475
+ const manifest = await this.loadDesignManifest();
476
+ if (!manifest) {
477
+ return "No design manifest found";
478
+ }
479
+ const { phases } = manifest;
480
+ const summary = [
481
+ `🎨 Design Manifest: ${manifest.project_name}`,
482
+ `📱 Platform: ${phases.functional_summary.platform}`,
483
+ `🎯 Scope: ${phases.project_scope.build_scope}`,
484
+ `🎨 Theme: ${phases.design_brief.theme}`,
485
+ `🎨 Primary Color: ${phases.design_brief.primary_color}`,
486
+ `📐 Components: ${phases.component_hierarchy.components.length}`,
487
+ `📱 Screens: ${phases.component_hierarchy.screens.length}`,
488
+ `⚡ Framework: ${phases.implementation_plan.framework}`,
489
+ `🎯 Design Anchors: ${phases.design_intent.design_anchors.join(", ")}`,
490
+ ];
491
+ return summary.join("\n");
492
+ }
493
+ /**
494
+ * Check if manifest needs regeneration based on age or changes
495
+ */
496
+ async shouldRegenerateManifest(maxAgeHours = 24) {
497
+ const manifest = await this.loadDesignManifest();
498
+ if (!manifest)
499
+ return true;
500
+ const generatedAt = new Date(manifest.generated_at);
501
+ const ageHours = (Date.now() - generatedAt.getTime()) / (1000 * 60 * 60);
502
+ return ageHours > maxAgeHours;
503
+ }
504
+ /**
505
+ * Get manifest file path
506
+ */
507
+ getManifestPath() {
508
+ return this.manifestPath;
509
+ }
510
+ /**
511
+ * Check if manifest file exists
512
+ */
513
+ async manifestExists() {
514
+ return await fs.pathExists(this.manifestPath);
515
+ }
516
+ /**
517
+ * Delete manifest file
518
+ */
519
+ async deleteManifest() {
520
+ try {
521
+ if (await fs.pathExists(this.manifestPath)) {
522
+ await fs.remove(this.manifestPath);
523
+ console.log(chalk_1.default.yellow("🗑️ Design manifest deleted"));
524
+ }
525
+ }
526
+ catch (error) {
527
+ console.error(chalk_1.default.red("❌ Failed to delete design manifest:"), error);
528
+ throw error;
529
+ }
530
+ }
531
+ }
532
+ exports.DesignManifestManager = DesignManifestManager;
533
+ //# sourceMappingURL=designManifestManager.js.map